update dev300-m58
[ooovba.git] / sc / source / ui / view / prevwsh2.cxx
blobc245ba7b6cbf415417d21417510b53b748eec532
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: prevwsh2.cxx,v $
10 * $Revision: 1.8 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_sc.hxx"
36 //------------------------------------------------------------------
38 // TOOLS
39 #define _BIGINT_HXX
40 #define _SFXMULTISEL_HXX
41 #define _STACK_HXX
42 #define _QUEUE_HXX
43 #define _DYNARR_HXX
44 #define _TREELIST_HXX
45 #define _CACHESTR_HXX
46 #define _NEW_HXX
47 //#define _SHL_HXX
48 //#define _LINK_HXX
49 //#define _ERRCODE_HXX
50 //#define _GEN_HXX
51 //#define _FRACT_HXX
52 //#define _STRING_HXX
53 //#define _MTF_HXX
54 //#define _CONTNR_HXX
55 //#define _LIST_HXX
56 //#define _TABLE_HXX
57 #define _DYNARY_HXX
58 //#define _UNQIDX_HXX
59 #define _SVMEMPOOL_HXX
60 //#define _UNQID_HXX
61 //#define _DEBUG_HXX
62 //#define _DATE_HXX
63 //#define _TIME_HXX
64 //#define _DATETIME_HXX
65 //#define _INTN_HXX
66 //#define _WLDCRD_HXX
67 //#define _FSYS_HXX
68 //#define _STREAM_HXX
69 #define _CACHESTR_HXX
70 #define _SV_MULTISEL_HXX
72 //SV
73 //#define _CLIP_HXX ***
74 #define _CONFIG_HXX
75 #define _CURSOR_HXX
76 #define _FONTDLG_HXX
77 #define _PRVWIN_HXX
78 //#define _COLOR_HXX
79 //#define _PAL_HXX
80 //#define _BITMAP_HXX
81 //#define _GDIOBJ_HXX
82 //#define _POINTR_HXX
83 //#define _ICON_HXX
84 //#define _IMAGE_HXX
85 //#define _KEYCOD_HXX
86 //#define _EVENT_HXX
87 #define _HELP_HXX
88 //#define _APP_HXX
89 //#define _MDIAPP_HXX
90 //#define _TIMER_HXX
91 //#define _METRIC_HXX
92 //#define _REGION_HXX
93 //#define _OUTDEV_HXX
94 //#define _SYSTEM_HXX
95 //#define _VIRDEV_HXX
96 //#define _JOBSET_HXX
97 //#define _PRINT_HXX
98 //#define _WINDOW_HXX
99 //#define _SYSWIN_HXX
100 //#define _WRKWIN_HXX
101 #define _MDIWIN_HXX
102 //#define _FLOATWIN_HXX
103 //#define _DOCKWIN_HXX
104 //#define _CTRL_HXX
105 //#define _SCRBAR_HXX
106 //#define _BUTTON_HXX
107 //#define _IMAGEBTN_HXX
108 //#define _FIXED_HXX
109 //#define _GROUP_HXX
110 //#define _EDIT_HXX
111 //#define _COMBOBOX_HXX
112 //#define _LSTBOX_HXX
113 //#define _SELENG_HXX ***
114 //#define _SPLIT_HXX
115 #define _SPIN_HXX
116 //#define _FIELD_HXX
117 //#define _MOREBTN_HXX ***
118 //#define _TOOLBOX_HXX
119 //#define _STATUS_HXX ***
120 //#define _DIALOG_HXX
121 //#define _MSGBOX_HXX
122 //#define _SYSDLG_HXX
123 //#define _PRNDLG_HXX
124 #define _COLDLG_HXX
125 //#define _TABDLG_HXX
126 //#define _GDIMTF_HXX
127 //#define _POLY_HXX
128 //#define _ACCEL_HXX
129 //#define _GRAPH_HXX
130 #define _SOUND_HXX
132 #if defined WIN
133 #define _MENUBTN_HXX
134 #endif
136 //svtools
137 #define _SCRWIN_HXX
138 #define _RULER_HXX
139 //#define _TABBAR_HXX
140 //#define _VALUESET_HXX
141 #define _STDMENU_HXX
142 //#define _STDCTRL_HXX
143 //#define _CTRLBOX_HXX
144 #define _CTRLTOOL_HXX
145 #define _EXTATTR_HXX
146 #define _FRM3D_HXX
147 #define _EXTATTR_HXX
149 //SVTOOLS
150 //#define _SVTREELIST_HXX ***
151 #define _FILTER_HXX
152 //#define _SVLBOXITM_HXX ***
153 //#define _SVTREEBOX_HXX ***
154 #define _SVICNVW_HXX
155 #define _SVTABBX_HXX
157 //sfxcore.hxx
158 //#define _SFXINIMGR_HXX ***
159 //#define _SFXCFGITEM_HXX
160 //#define _SFX_PRINTER_HXX
161 #define _SFXGENLINK_HXX
162 #define _SFXHINTPOST_HXX
163 #define _SFXDOCINF_HXX
164 #define _SFXLINKHDL_HXX
165 //#define _SFX_PROGRESS_HXX
167 //sfxsh.hxx
168 //#define _SFX_SHELL_HXX
169 //#define _SFXAPP_HXX
170 //#define _SFXDISPATCH_HXX
171 //#define _SFXMSG_HXX ***
172 //#define _SFXOBJFACE_HXX ***
173 //#define _SFXREQUEST_HXX
174 #define _SFXMACRO_HXX
176 // SFX
177 //#define _SFXAPPWIN_HXX ***
178 #define _SFX_SAVEOPT_HXX
179 //#define _SFX_CHILDWIN_HXX
180 //#define _SFXCTRLITEM_HXX
181 #define _SFXPRNMON_HXX
182 #define _INTRO_HXX
183 #define _SFXMSGDESCR_HXX
184 #define _SFXMSGPOOL_HXX
185 #define _SFXFILEDLG_HXX
186 #define _PASSWD_HXX
187 #define _SFXTBXCTRL_HXX
188 #define _SFXSTBITEM_HXX
189 #define _SFXMNUITEM_HXX
190 #define _SFXIMGMGR_HXX
191 #define _SFXTBXMGR_HXX
192 #define _SFXSTBMGR_HXX
193 #define _SFX_MINFITEM_HXX
194 #define _SFXEVENT_HXX
196 //sfxdoc.hxx
197 //#define _SFX_OBJSH_HXX
198 //#define _SFX_CLIENTSH_HXX
199 //#define _SFXDOCINF_HXX
200 //#define _SFX_OBJFAC_HXX
201 #define _SFX_DOCFILT_HXX
202 //#define _SFXDOCFILE_HXX ***
203 //define _VIEWFAC_HXX
204 //#define _SFXVIEWFRM_HXX
205 //#define _SFXVIEWSH_HXX
206 //#define _MDIFRM_HXX ***
207 #define _SFX_IPFRM_HXX
208 //#define _SFX_INTERNO_HXX
210 //sfxdlg.hxx
211 //#define _SFXTABDLG_HXX
212 //#define _BASEDLGS_HXX ***
213 #define _SFX_DINFDLG_HXX
214 #define _SFXDINFEDT_HXX
215 #define _SFX_MGETEMPL_HXX
216 #define _SFX_TPLPITEM_HXX
217 //#define _SFX_STYLEDLG_HXX
218 #define _NEWSTYLE_HXX
219 //#define _SFXDOCTEMPL_HXX ***
220 //#define _SFXDOCTDLG_HXX ***
221 //#define _SFX_TEMPLDLG_HXX ***
222 //#define _SFXNEW_HXX ***
223 #define _SFXDOCMAN_HXX
224 #define _SFXDOCKWIN_HXX
226 //sfxitems.hxx
227 #define _SFX_WHMAP_HXX
228 //#define _ARGS_HXX ***
229 //#define _SFXPOOLITEM_HXX
230 //#define _SFXINTITEM_HXX
231 //#define _SFXENUMITEM_HXX
232 #define _SFXFLAGITEM_HXX
233 //#define _SFXSTRITEM_HXX
234 #define _SFXPTITEM_HXX
235 #define _SFXRECTITEM_HXX
236 //#define _SFXITEMPOOL_HXX
237 //#define _SFXITEMSET_HXX
238 #define _SFXITEMITER_HXX
239 #define _SFX_WHITER_HXX
240 #define _SFXPOOLCACH_HXX
241 //#define _AEITEM_HXX
242 #define _SFXRNGITEM_HXX
243 //#define _SFXSLSTITM_HXX
244 //#define _SFXSTYLE_HXX
246 //xout.hxx
247 //#define _XENUM_HXX
248 //#define _XPOLY_HXX
249 //#define _XATTR_HXX
250 //#define _XOUTX_HXX
251 //#define _XPOOL_HXX
252 //#define _XTABLE_HXX
254 //svdraw.hxx
255 #define _SDR_NOITEMS
256 #define _SDR_NOTOUCH
257 #define _SDR_NOTRANSFORM
258 //#define _SDR_NOOBJECTS
259 //#define _SDR_NOVIEWS
260 #define _SDR_NOTRANSFORM
261 #define _SDR_NOVIEWMARKER
262 #define _SDR_NODRAGMETHODS
263 #define _SDR_NOUNDO
264 #define _SDR_NOXOUTDEV
267 //#define SI_NOITEMS
268 //#define SI_NODRW
269 #define _SI_NOSBXCONTROLS
270 //#define _VCATTR_HXX
271 #define _VCONT_HXX
272 //#define _VCSBX_HXX
273 #define _SI_NOOTHERFORMS
274 #define _VCTRLS_HXX
275 //#define _VCDRWOBJ_HXX
276 #define _SI_NOCONTROL
277 #define _SETBRW_HXX
278 #define _VCBRW_HXX
279 #define _SI_NOSBXCONTROLS
280 //#define _SIDLL_HXX ***
282 #define _SVX_DAILDLL_HXX
283 #define _SVX_HYPHEN_HXX
284 #define _SVX_IMPGRF_HXX
285 #define _SVX_OPTITEMS_HXX
286 #define _SVX_OPTGERL_HXX
287 #define _SVX_OPTSAVE_HXX
288 #define _SVX_OPTSPELL_HXX
289 #define _SVX_OPTPATH_HXX
290 #define _SVX_OPTLINGU_HXX
291 #define _SVX_RULER_HXX
292 #define _SVX_RULRITEM_HXX
293 #define _SVX_SPLWRAP_HXX
294 #define _SVX_SPLDLG_HXX
295 #define _SVX_THESDLG_HXX
300 // INCLUDE ---------------------------------------------------------------
302 #include <svx/svdmodel.hxx>
303 #include <svtools/smplhint.hxx>
305 #include "prevwsh.hxx"
306 #include "docsh.hxx"
307 #include "preview.hxx"
308 #include "hints.hxx"
309 #include "sc.hrc"
311 // STATIC DATA -----------------------------------------------------------
313 // -----------------------------------------------------------------------
315 void __EXPORT ScPreviewShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
317 BOOL bDataChanged = FALSE;
319 if (rHint.ISA(SfxSimpleHint))
321 ULONG nSlot = ((const SfxSimpleHint&)rHint).GetId();
322 switch ( nSlot )
324 case FID_DATACHANGED:
325 case SID_SCPRINTOPTIONS:
326 bDataChanged = TRUE;
327 break;
328 case SC_HINT_DRWLAYER_NEW:
330 SfxBroadcaster* pDrawBC = pDocShell->GetDocument()->GetDrawBroadcaster();
331 if (pDrawBC)
332 StartListening(*pDrawBC);
334 break;
337 else if (rHint.ISA(ScPaintHint))
339 if ( ((const ScPaintHint&)rHint).GetPrintFlag() )
341 USHORT nParts = ((const ScPaintHint&)rHint).GetParts();
342 if (nParts & ( PAINT_GRID | PAINT_LEFT | PAINT_TOP | PAINT_SIZE ))
343 bDataChanged = TRUE;
346 else if (rHint.ISA(SdrHint))
348 // SdrHints are no longer used for invalidating, thus react on objectchange instead
349 if(HINT_OBJCHG == ((const SdrHint&)rHint).GetKind())
350 bDataChanged = TRUE;
353 if (bDataChanged)
354 pPreview->DataChanged(TRUE);