docshdrw.cxx (c7be74b1) docshdrw.cxx (26ea3662)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 5 unchanged lines hidden (view full) ---

14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 5 unchanged lines hidden (view full) ---

14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24// MARKER(update_precomp.py): autogen include statement, do not remove
25#include "precompiled_sw.hxx"
26
22// MARKER(update_precomp.py): autogen include statement, do not remove
23#include "precompiled_sw.hxx"
24
27
28#include <hintids.hxx>
25#include <hintids.hxx>
29
30#ifndef _SVX_SVXIDS_HRC //autogen
31#include <svx/svxids.hrc>
26#include <svx/svxids.hrc>
32#endif
33
34
35
36
37
38
39
40
41#include <svl/stritem.hxx>
42#include <svx/drawitem.hxx>
43#include <svx/svdmodel.hxx>
44#include <svx/svdoutl.hxx>
45#include <svx/xtable.hxx>
27#include <svl/stritem.hxx>
28#include <svx/drawitem.hxx>
29#include <svx/svdmodel.hxx>
30#include <svx/svdoutl.hxx>
31#include <svx/xtable.hxx>
46
47#ifndef _DOCSH_HXX
48#include <docsh.hxx>
32#include <docsh.hxx>
49#endif
50#include <doc.hxx>
33#include <doc.hxx>
34#include <drawdoc.hxx>
51
52using namespace ::com::sun::star;
53
54/*--------------------------------------------------------------------
55 Beschreibung: Document laden
56 --------------------------------------------------------------------*/
57
35
36using namespace ::com::sun::star;
37
38/*--------------------------------------------------------------------
39 Beschreibung: Document laden
40 --------------------------------------------------------------------*/
41
58
59void SwDocShell::InitDraw()
42void InitDrawModelAndDocShell(SwDocShell* pSwDocShell, SwDrawModel* pSwDrawDocument)
60{
43{
61 SdrModel *pDrDoc = pDoc->GetDrawModel();
62 if( pDrDoc )
63 {
64 // Listen, bzw. Tables im ItemSet der DocShell anlegen
65 PutItem( SvxGradientListItem( pDrDoc->GetGradientListFromSdrModel(), SID_GRADIENT_LIST ) );
66 PutItem( SvxHatchListItem( pDrDoc->GetHatchListFromSdrModel(), SID_HATCH_LIST ) );
67 PutItem( SvxBitmapListItem( pDrDoc->GetBitmapListFromSdrModel(), SID_BITMAP_LIST ) );
68 PutItem( SvxDashListItem( pDrDoc->GetDashListFromSdrModel(), SID_DASH_LIST ) );
69 PutItem( SvxLineEndListItem( pDrDoc->GetLineEndListFromSdrModel(), SID_LINEEND_LIST ) );
44 if(pSwDrawDocument)
45 {
46 if(pSwDocShell == pSwDrawDocument->GetObjectShell())
47 {
48 // association already done, nothing to do
49 }
50 else
51 {
52 // set object shell (mainly for FormControl stuff), maybe zero
53 pSwDrawDocument->SetObjectShell(pSwDocShell);
70
54
71 Outliner& rOutliner = pDrDoc->GetDrawOutliner();
72 uno::Reference<linguistic2::XHyphenator> xHyphenator( ::GetHyphenator() );
73 rOutliner.SetHyphenator( xHyphenator );
74 }
75 else
76 PutItem( SvxColorTableItem( XColorList::GetStdColorList(), SID_COLOR_TABLE ));
77}
55 // set persist, maybe zero
56 pSwDrawDocument->SetPersist(pSwDocShell);
78
57
58 // get and decide on the color table to use
59 if(pSwDocShell)
60 {
61 const SvxColorTableItem* pColItemFromDocShell = static_cast< const SvxColorTableItem* >(pSwDocShell->GetItem(SID_COLOR_TABLE));
79
62
63 if(pColItemFromDocShell)
64 {
65 // the DocShell has a ColorTable, use it also in DrawingLayer
66 pSwDrawDocument->SetColorTableAtSdrModel(pColItemFromDocShell->GetColorTable());
67 }
68 else
69 {
70 // Use the ColorTable which is used at the DrawingLayer's SdrModel
71 pSwDocShell->PutItem(SvxColorTableItem(pSwDrawDocument->GetColorTableFromSdrModel(), SID_COLOR_TABLE));
72 }
80
73
74 // add other tables in SfxItemSet of the DocShell
75 pSwDocShell->PutItem(SvxGradientListItem(pSwDrawDocument->GetGradientListFromSdrModel(), SID_GRADIENT_LIST));
76 pSwDocShell->PutItem(SvxHatchListItem(pSwDrawDocument->GetHatchListFromSdrModel(), SID_HATCH_LIST));
77 pSwDocShell->PutItem(SvxBitmapListItem(pSwDrawDocument->GetBitmapListFromSdrModel(), SID_BITMAP_LIST));
78 pSwDocShell->PutItem(SvxDashListItem(pSwDrawDocument->GetDashListFromSdrModel(), SID_DASH_LIST));
79 pSwDocShell->PutItem(SvxLineEndListItem(pSwDrawDocument->GetLineEndListFromSdrModel(), SID_LINEEND_LIST));
80 }
81
82 // init hyphenator for DrawingLayer outliner
83 uno::Reference<linguistic2::XHyphenator> xHyphenator(::GetHyphenator());
84 Outliner& rOutliner = pSwDrawDocument->GetDrawOutliner();
85
86 rOutliner.SetHyphenator(xHyphenator);
87 }
88 }
89 else if(pSwDocShell)
90 {
91 // fallback: add the default color list to have one when someone requests it from the DocShell
92 pSwDocShell->PutItem(SvxColorTableItem(XColorList::GetStdColorList(), SID_COLOR_TABLE));
93 }
94}
95
96//eof