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)304void __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