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