xref: /aoo41x/main/sc/source/ui/view/prevwsh2.cxx (revision b3f79822)
1*b3f79822SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*b3f79822SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*b3f79822SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*b3f79822SAndrew Rist  * distributed with this work for additional information
6*b3f79822SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*b3f79822SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*b3f79822SAndrew Rist  * "License"); you may not use this file except in compliance
9*b3f79822SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*b3f79822SAndrew Rist  *
11*b3f79822SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*b3f79822SAndrew Rist  *
13*b3f79822SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*b3f79822SAndrew Rist  * software distributed under the License is distributed on an
15*b3f79822SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b3f79822SAndrew Rist  * KIND, either express or implied.  See the License for the
17*b3f79822SAndrew Rist  * specific language governing permissions and limitations
18*b3f79822SAndrew Rist  * under the License.
19*b3f79822SAndrew Rist  *
20*b3f79822SAndrew Rist  *************************************************************/
21*b3f79822SAndrew Rist 
22*b3f79822SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_sc.hxx"
26cdf0e10cSrcweir 
27cdf0e10cSrcweir 
28cdf0e10cSrcweir 
29cdf0e10cSrcweir //------------------------------------------------------------------
30cdf0e10cSrcweir 
31cdf0e10cSrcweir // TOOLS
32cdf0e10cSrcweir #define _BIGINT_HXX
33cdf0e10cSrcweir #define _SFXMULTISEL_HXX
34cdf0e10cSrcweir #define _STACK_HXX
35cdf0e10cSrcweir #define _QUEUE_HXX
36cdf0e10cSrcweir #define _DYNARR_HXX
37cdf0e10cSrcweir #define _TREELIST_HXX
38cdf0e10cSrcweir #define _CACHESTR_HXX
39cdf0e10cSrcweir #define _NEW_HXX
40cdf0e10cSrcweir //#define _SHL_HXX
41cdf0e10cSrcweir //#define _LINK_HXX
42cdf0e10cSrcweir //#define _ERRCODE_HXX
43cdf0e10cSrcweir //#define _GEN_HXX
44cdf0e10cSrcweir //#define _FRACT_HXX
45cdf0e10cSrcweir //#define _STRING_HXX
46cdf0e10cSrcweir //#define _MTF_HXX
47cdf0e10cSrcweir //#define _CONTNR_HXX
48cdf0e10cSrcweir //#define _LIST_HXX
49cdf0e10cSrcweir //#define _TABLE_HXX
50cdf0e10cSrcweir #define _DYNARY_HXX
51cdf0e10cSrcweir //#define _UNQIDX_HXX
52cdf0e10cSrcweir #define _SVMEMPOOL_HXX
53cdf0e10cSrcweir //#define _UNQID_HXX
54cdf0e10cSrcweir //#define _DEBUG_HXX
55cdf0e10cSrcweir //#define _DATE_HXX
56cdf0e10cSrcweir //#define _TIME_HXX
57cdf0e10cSrcweir //#define _DATETIME_HXX
58cdf0e10cSrcweir //#define _INTN_HXX
59cdf0e10cSrcweir //#define _WLDCRD_HXX
60cdf0e10cSrcweir //#define _FSYS_HXX
61cdf0e10cSrcweir //#define _STREAM_HXX
62cdf0e10cSrcweir #define _CACHESTR_HXX
63cdf0e10cSrcweir //#define _SV_MULTISEL_HXX
64cdf0e10cSrcweir 
65cdf0e10cSrcweir //SV
66cdf0e10cSrcweir //#define _CLIP_HXX ***
67cdf0e10cSrcweir #define _CONFIG_HXX
68cdf0e10cSrcweir #define _CURSOR_HXX
69cdf0e10cSrcweir #define _FONTDLG_HXX
70cdf0e10cSrcweir #define _PRVWIN_HXX
71cdf0e10cSrcweir //#define _COLOR_HXX
72cdf0e10cSrcweir //#define _PAL_HXX
73cdf0e10cSrcweir //#define _BITMAP_HXX
74cdf0e10cSrcweir //#define _GDIOBJ_HXX
75cdf0e10cSrcweir //#define _POINTR_HXX
76cdf0e10cSrcweir //#define _ICON_HXX
77cdf0e10cSrcweir //#define _IMAGE_HXX
78cdf0e10cSrcweir //#define _KEYCOD_HXX
79cdf0e10cSrcweir //#define _EVENT_HXX
80cdf0e10cSrcweir #define _HELP_HXX
81cdf0e10cSrcweir //#define _APP_HXX
82cdf0e10cSrcweir //#define _MDIAPP_HXX
83cdf0e10cSrcweir //#define _TIMER_HXX
84cdf0e10cSrcweir //#define _METRIC_HXX
85cdf0e10cSrcweir //#define _REGION_HXX
86cdf0e10cSrcweir //#define _OUTDEV_HXX
87cdf0e10cSrcweir //#define _SYSTEM_HXX
88cdf0e10cSrcweir //#define _VIRDEV_HXX
89cdf0e10cSrcweir //#define _JOBSET_HXX
90cdf0e10cSrcweir //#define _PRINT_HXX
91cdf0e10cSrcweir //#define _WINDOW_HXX
92cdf0e10cSrcweir //#define _SYSWIN_HXX
93cdf0e10cSrcweir //#define _WRKWIN_HXX
94cdf0e10cSrcweir #define _MDIWIN_HXX
95cdf0e10cSrcweir //#define _FLOATWIN_HXX
96cdf0e10cSrcweir //#define _DOCKWIN_HXX
97cdf0e10cSrcweir //#define _CTRL_HXX
98cdf0e10cSrcweir //#define _SCRBAR_HXX
99cdf0e10cSrcweir //#define _BUTTON_HXX
100cdf0e10cSrcweir //#define _IMAGEBTN_HXX
101cdf0e10cSrcweir //#define _FIXED_HXX
102cdf0e10cSrcweir //#define _GROUP_HXX
103cdf0e10cSrcweir //#define _EDIT_HXX
104cdf0e10cSrcweir //#define _COMBOBOX_HXX
105cdf0e10cSrcweir //#define _LSTBOX_HXX
106cdf0e10cSrcweir //#define _SELENG_HXX ***
107cdf0e10cSrcweir //#define _SPLIT_HXX
108cdf0e10cSrcweir #define _SPIN_HXX
109cdf0e10cSrcweir //#define _FIELD_HXX
110cdf0e10cSrcweir //#define _MOREBTN_HXX ***
111cdf0e10cSrcweir //#define _TOOLBOX_HXX
112cdf0e10cSrcweir //#define _STATUS_HXX ***
113cdf0e10cSrcweir //#define _DIALOG_HXX
114cdf0e10cSrcweir //#define _MSGBOX_HXX
115cdf0e10cSrcweir //#define _SYSDLG_HXX
116cdf0e10cSrcweir //#define _PRNDLG_HXX
117cdf0e10cSrcweir #define _COLDLG_HXX
118cdf0e10cSrcweir //#define _TABDLG_HXX
119cdf0e10cSrcweir //#define _GDIMTF_HXX
120cdf0e10cSrcweir //#define _POLY_HXX
121cdf0e10cSrcweir //#define _ACCEL_HXX
122cdf0e10cSrcweir //#define _GRAPH_HXX
123cdf0e10cSrcweir #define _SOUND_HXX
124cdf0e10cSrcweir 
125cdf0e10cSrcweir //svtools
126cdf0e10cSrcweir #define _SCRWIN_HXX
127cdf0e10cSrcweir #define _RULER_HXX
128cdf0e10cSrcweir //#define _TABBAR_HXX
129cdf0e10cSrcweir //#define _VALUESET_HXX
130cdf0e10cSrcweir #define _STDMENU_HXX
131cdf0e10cSrcweir //#define _STDCTRL_HXX
132cdf0e10cSrcweir //#define _CTRLBOX_HXX
133cdf0e10cSrcweir #define _CTRLTOOL_HXX
134cdf0e10cSrcweir #define _EXTATTR_HXX
135cdf0e10cSrcweir #define _FRM3D_HXX
136cdf0e10cSrcweir #define _EXTATTR_HXX
137cdf0e10cSrcweir 
138cdf0e10cSrcweir //SVTOOLS
139cdf0e10cSrcweir //#define _SVTREELIST_HXX ***
140cdf0e10cSrcweir #define _FILTER_HXX
141cdf0e10cSrcweir //#define _SVLBOXITM_HXX ***
142cdf0e10cSrcweir //#define _SVTREEBOX_HXX ***
143cdf0e10cSrcweir #define _SVICNVW_HXX
144cdf0e10cSrcweir #define _SVTABBX_HXX
145cdf0e10cSrcweir 
146cdf0e10cSrcweir //sfxcore.hxx
147cdf0e10cSrcweir //#define _SFXINIMGR_HXX ***
148cdf0e10cSrcweir //#define _SFXCFGITEM_HXX
149cdf0e10cSrcweir //#define _SFX_PRINTER_HXX
150cdf0e10cSrcweir #define _SFXGENLINK_HXX
151cdf0e10cSrcweir #define _SFXHINTPOST_HXX
152cdf0e10cSrcweir #define _SFXDOCINF_HXX
153cdf0e10cSrcweir #define _SFXLINKHDL_HXX
154cdf0e10cSrcweir //#define _SFX_PROGRESS_HXX
155cdf0e10cSrcweir 
156cdf0e10cSrcweir //sfxsh.hxx
157cdf0e10cSrcweir //#define _SFX_SHELL_HXX
158cdf0e10cSrcweir //#define _SFXAPP_HXX
159cdf0e10cSrcweir //#define _SFXDISPATCH_HXX
160cdf0e10cSrcweir //#define _SFXMSG_HXX ***
161cdf0e10cSrcweir //#define _SFXOBJFACE_HXX ***
162cdf0e10cSrcweir //#define _SFXREQUEST_HXX
163cdf0e10cSrcweir #define _SFXMACRO_HXX
164cdf0e10cSrcweir 
165cdf0e10cSrcweir // SFX
166cdf0e10cSrcweir //#define _SFXAPPWIN_HXX ***
167cdf0e10cSrcweir #define _SFX_SAVEOPT_HXX
168cdf0e10cSrcweir //#define _SFX_CHILDWIN_HXX
169cdf0e10cSrcweir //#define _SFXCTRLITEM_HXX
170cdf0e10cSrcweir #define _SFXPRNMON_HXX
171cdf0e10cSrcweir #define _INTRO_HXX
172cdf0e10cSrcweir #define _SFXMSGDESCR_HXX
173cdf0e10cSrcweir #define _SFXMSGPOOL_HXX
174cdf0e10cSrcweir #define _SFXFILEDLG_HXX
175cdf0e10cSrcweir #define _PASSWD_HXX
176cdf0e10cSrcweir #define _SFXTBXCTRL_HXX
177cdf0e10cSrcweir #define _SFXSTBITEM_HXX
178cdf0e10cSrcweir #define _SFXMNUITEM_HXX
179cdf0e10cSrcweir #define _SFXIMGMGR_HXX
180cdf0e10cSrcweir #define _SFXTBXMGR_HXX
181cdf0e10cSrcweir #define _SFXSTBMGR_HXX
182cdf0e10cSrcweir #define _SFX_MINFITEM_HXX
183cdf0e10cSrcweir #define _SFXEVENT_HXX
184cdf0e10cSrcweir 
185cdf0e10cSrcweir //sfxdoc.hxx
186cdf0e10cSrcweir //#define _SFX_OBJSH_HXX
187cdf0e10cSrcweir //#define _SFX_CLIENTSH_HXX
188cdf0e10cSrcweir //#define _SFXDOCINF_HXX
189cdf0e10cSrcweir //#define _SFX_OBJFAC_HXX
190cdf0e10cSrcweir #define _SFX_DOCFILT_HXX
191cdf0e10cSrcweir //#define _SFXDOCFILE_HXX ***
192cdf0e10cSrcweir //define _VIEWFAC_HXX
193cdf0e10cSrcweir //#define _SFXVIEWFRM_HXX
194cdf0e10cSrcweir //#define _SFXVIEWSH_HXX
195cdf0e10cSrcweir //#define _MDIFRM_HXX ***
196cdf0e10cSrcweir #define _SFX_IPFRM_HXX
197cdf0e10cSrcweir //#define _SFX_INTERNO_HXX
198cdf0e10cSrcweir 
199cdf0e10cSrcweir //sfxdlg.hxx
200cdf0e10cSrcweir //#define _SFXTABDLG_HXX
201cdf0e10cSrcweir //#define _BASEDLGS_HXX ***
202cdf0e10cSrcweir #define _SFX_DINFDLG_HXX
203cdf0e10cSrcweir #define _SFXDINFEDT_HXX
204cdf0e10cSrcweir #define _SFX_MGETEMPL_HXX
205cdf0e10cSrcweir #define _SFX_TPLPITEM_HXX
206cdf0e10cSrcweir //#define _SFX_STYLEDLG_HXX
207cdf0e10cSrcweir #define _NEWSTYLE_HXX
208cdf0e10cSrcweir //#define _SFXDOCTEMPL_HXX ***
209cdf0e10cSrcweir //#define _SFXDOCTDLG_HXX ***
210cdf0e10cSrcweir //#define _SFX_TEMPLDLG_HXX ***
211cdf0e10cSrcweir //#define _SFXNEW_HXX ***
212cdf0e10cSrcweir #define _SFXDOCMAN_HXX
213cdf0e10cSrcweir #define _SFXDOCKWIN_HXX
214cdf0e10cSrcweir 
215cdf0e10cSrcweir //sfxitems.hxx
216cdf0e10cSrcweir #define _SFX_WHMAP_HXX
217cdf0e10cSrcweir //#define _ARGS_HXX ***
218cdf0e10cSrcweir //#define _SFXPOOLITEM_HXX
219cdf0e10cSrcweir //#define _SFXINTITEM_HXX
220cdf0e10cSrcweir //#define _SFXENUMITEM_HXX
221cdf0e10cSrcweir #define _SFXFLAGITEM_HXX
222cdf0e10cSrcweir //#define _SFXSTRITEM_HXX
223cdf0e10cSrcweir #define _SFXPTITEM_HXX
224cdf0e10cSrcweir #define _SFXRECTITEM_HXX
225cdf0e10cSrcweir //#define _SFXITEMPOOL_HXX
226cdf0e10cSrcweir //#define _SFXITEMSET_HXX
227cdf0e10cSrcweir #define _SFXITEMITER_HXX
228cdf0e10cSrcweir #define _SFX_WHITER_HXX
229cdf0e10cSrcweir #define _SFXPOOLCACH_HXX
230cdf0e10cSrcweir //#define _AEITEM_HXX
231cdf0e10cSrcweir #define _SFXRNGITEM_HXX
232cdf0e10cSrcweir //#define _SFXSLSTITM_HXX
233cdf0e10cSrcweir //#define _SFXSTYLE_HXX
234cdf0e10cSrcweir 
235cdf0e10cSrcweir //xout.hxx
236cdf0e10cSrcweir //#define _XENUM_HXX
237cdf0e10cSrcweir //#define _XPOLY_HXX
238cdf0e10cSrcweir //#define _XATTR_HXX
239cdf0e10cSrcweir //#define _XOUTX_HXX
240cdf0e10cSrcweir //#define _XPOOL_HXX
241cdf0e10cSrcweir //#define _XTABLE_HXX
242cdf0e10cSrcweir 
243cdf0e10cSrcweir //svdraw.hxx
244cdf0e10cSrcweir #define _SDR_NOITEMS
245cdf0e10cSrcweir #define _SDR_NOTOUCH
246cdf0e10cSrcweir #define _SDR_NOTRANSFORM
247cdf0e10cSrcweir //#define _SDR_NOOBJECTS
248cdf0e10cSrcweir //#define _SDR_NOVIEWS
249cdf0e10cSrcweir #define _SDR_NOTRANSFORM
250cdf0e10cSrcweir #define _SDR_NOVIEWMARKER
251cdf0e10cSrcweir #define _SDR_NODRAGMETHODS
252cdf0e10cSrcweir #define _SDR_NOUNDO
253cdf0e10cSrcweir #define _SDR_NOXOUTDEV
254cdf0e10cSrcweir 
255cdf0e10cSrcweir 
256cdf0e10cSrcweir //#define SI_NOITEMS
257cdf0e10cSrcweir //#define SI_NODRW
258cdf0e10cSrcweir #define _SI_NOSBXCONTROLS
259cdf0e10cSrcweir //#define _VCATTR_HXX
260cdf0e10cSrcweir #define _VCONT_HXX
261cdf0e10cSrcweir //#define _VCSBX_HXX
262cdf0e10cSrcweir #define _SI_NOOTHERFORMS
263cdf0e10cSrcweir #define _VCTRLS_HXX
264cdf0e10cSrcweir //#define _VCDRWOBJ_HXX
265cdf0e10cSrcweir #define _SI_NOCONTROL
266cdf0e10cSrcweir #define _SETBRW_HXX
267cdf0e10cSrcweir #define _VCBRW_HXX
268cdf0e10cSrcweir #define _SI_NOSBXCONTROLS
269cdf0e10cSrcweir //#define _SIDLL_HXX ***
270cdf0e10cSrcweir 
271cdf0e10cSrcweir #define _SVX_DAILDLL_HXX
272cdf0e10cSrcweir #define _SVX_HYPHEN_HXX
273cdf0e10cSrcweir #define _SVX_IMPGRF_HXX
274cdf0e10cSrcweir #define _SVX_OPTITEMS_HXX
275cdf0e10cSrcweir #define _SVX_OPTGERL_HXX
276cdf0e10cSrcweir #define _SVX_OPTSAVE_HXX
277cdf0e10cSrcweir #define _SVX_OPTSPELL_HXX
278cdf0e10cSrcweir #define _SVX_OPTPATH_HXX
279cdf0e10cSrcweir #define _SVX_OPTLINGU_HXX
280cdf0e10cSrcweir #define _SVX_RULER_HXX
281cdf0e10cSrcweir #define _SVX_RULRITEM_HXX
282cdf0e10cSrcweir #define _SVX_SPLWRAP_HXX
283cdf0e10cSrcweir #define _SVX_SPLDLG_HXX
284cdf0e10cSrcweir #define _SVX_THESDLG_HXX
285cdf0e10cSrcweir 
286cdf0e10cSrcweir 
287cdf0e10cSrcweir 
288cdf0e10cSrcweir 
289cdf0e10cSrcweir // INCLUDE ---------------------------------------------------------------
290cdf0e10cSrcweir 
291cdf0e10cSrcweir #include <svx/svdmodel.hxx>
292cdf0e10cSrcweir #include <svl/smplhint.hxx>
293cdf0e10cSrcweir 
294cdf0e10cSrcweir #include "prevwsh.hxx"
295cdf0e10cSrcweir #include "docsh.hxx"
296cdf0e10cSrcweir #include "preview.hxx"
297cdf0e10cSrcweir #include "hints.hxx"
298cdf0e10cSrcweir #include "sc.hrc"
299cdf0e10cSrcweir 
300cdf0e10cSrcweir // STATIC DATA -----------------------------------------------------------
301cdf0e10cSrcweir 
302cdf0e10cSrcweir // -----------------------------------------------------------------------
303cdf0e10cSrcweir 
Notify(SfxBroadcaster &,const SfxHint & rHint)304cdf0e10cSrcweir void __EXPORT ScPreviewShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
305cdf0e10cSrcweir {
306cdf0e10cSrcweir 	sal_Bool bDataChanged = sal_False;
307cdf0e10cSrcweir 
308cdf0e10cSrcweir 	if (rHint.ISA(SfxSimpleHint))
309cdf0e10cSrcweir 	{
310cdf0e10cSrcweir 		sal_uLong nSlot = ((const SfxSimpleHint&)rHint).GetId();
311cdf0e10cSrcweir 		switch ( nSlot )
312cdf0e10cSrcweir 		{
313cdf0e10cSrcweir 			case FID_DATACHANGED:
314cdf0e10cSrcweir 			case SID_SCPRINTOPTIONS:
315cdf0e10cSrcweir 				bDataChanged = sal_True;
316cdf0e10cSrcweir 				break;
317cdf0e10cSrcweir 			case SC_HINT_DRWLAYER_NEW:
318cdf0e10cSrcweir 				{
319cdf0e10cSrcweir 					SfxBroadcaster* pDrawBC = pDocShell->GetDocument()->GetDrawBroadcaster();
320cdf0e10cSrcweir 					if (pDrawBC)
321cdf0e10cSrcweir 						StartListening(*pDrawBC);
322cdf0e10cSrcweir 				}
323cdf0e10cSrcweir 				break;
324cdf0e10cSrcweir 		}
325cdf0e10cSrcweir 	}
326cdf0e10cSrcweir 	else if (rHint.ISA(ScPaintHint))
327cdf0e10cSrcweir 	{
328cdf0e10cSrcweir 		if ( ((const ScPaintHint&)rHint).GetPrintFlag() )
329cdf0e10cSrcweir 		{
330cdf0e10cSrcweir 			sal_uInt16 nParts = ((const ScPaintHint&)rHint).GetParts();
331cdf0e10cSrcweir 			if (nParts & ( PAINT_GRID | PAINT_LEFT | PAINT_TOP | PAINT_SIZE ))
332cdf0e10cSrcweir 				bDataChanged = sal_True;
333cdf0e10cSrcweir 		}
334cdf0e10cSrcweir 	}
335cdf0e10cSrcweir 	else if (rHint.ISA(SdrHint))
336cdf0e10cSrcweir 	{
337cdf0e10cSrcweir 		// SdrHints are no longer used for invalidating, thus react on objectchange instead
338cdf0e10cSrcweir 		if(HINT_OBJCHG == ((const SdrHint&)rHint).GetKind())
339cdf0e10cSrcweir 			bDataChanged = sal_True;
340cdf0e10cSrcweir 	}
341cdf0e10cSrcweir 
342cdf0e10cSrcweir 	if (bDataChanged)
343cdf0e10cSrcweir 		pPreview->DataChanged(sal_True);
344cdf0e10cSrcweir }
345cdf0e10cSrcweir 
346cdf0e10cSrcweir 
347cdf0e10cSrcweir 
348cdf0e10cSrcweir 
349cdf0e10cSrcweir 
350