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