LCOV - code coverage report
Current view: top level - include/svx - svdpntv.hxx (source / functions) Hit Total Coverage
Test: commit 10e77ab3ff6f4314137acd6e2702a6e5c1ce1fae Lines: 49 61 80.3 %
Date: 2014-11-03 Functions: 49 63 77.8 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #ifndef INCLUDED_SVX_SVDPNTV_HXX
      21             : #define INCLUDED_SVX_SVDPNTV_HXX
      22             : 
      23             : #include <svl/SfxBroadcaster.hxx>
      24             : #include <svl/lstner.hxx>
      25             : #include <svl/smplhint.hxx>
      26             : #include <svl/undo.hxx>
      27             : #include <svx/svddrag.hxx>
      28             : #include <svx/svdlayer.hxx>
      29             : #include <vcl/window.hxx>
      30             : #include <svtools/colorcfg.hxx>
      31             : #include <com/sun/star/awt/XControlContainer.hpp>
      32             : #include <svl/itemset.hxx>
      33             : #include <vcl/timer.hxx>
      34             : #include <svx/svxdllapi.h>
      35             : #include <svtools/optionsdrawinglayer.hxx>
      36             : #include <unotools/options.hxx>
      37             : 
      38             : 
      39             : //   Pre-Defines
      40             : 
      41             : 
      42             : class SdrPageWindow;
      43             : 
      44             : namespace com { namespace sun { namespace star { namespace awt {
      45             :     class XControlContainer;
      46             : }}}}
      47             : 
      48             : class SdrPage;
      49             : class SdrView;
      50             : class SfxItemSet;
      51             : class SfxStyleSheet;
      52             : class SdrOle2Obj;
      53             : class SdrModel;
      54             : class SdrObject;
      55             : 
      56             : #ifdef DBG_UTIL
      57             : class SdrItemBrowser;
      58             : #endif
      59             : 
      60             : namespace sdr { namespace contact {
      61             :     class ViewObjectContactRedirector;
      62             : }}
      63             : 
      64             : 
      65             : //   Defines for AnimationMode
      66             : 
      67             : 
      68             : enum SdrAnimationMode
      69             : {
      70             :     SDR_ANIMATION_ANIMATE,
      71             :     SDR_ANIMATION_DONT_ANIMATE,
      72             :     SDR_ANIMATION_DISABLE
      73             : };
      74             : 
      75             : 
      76             : //   Typedef's und defines
      77             : 
      78             : 
      79             : typedef unsigned char SDR_TRISTATE;
      80             : #define FUZZY                   (2)
      81             : #define SDR_ANYFORMAT           (0xFFFFFFFF)
      82             : #define SDR_ANYITEM             (0xFFFF)
      83             : #define SDRVIEWWIN_NOTFOUND     (0xFFFF)
      84             : 
      85             : 
      86             : 
      87             : class SdrPaintView;
      88             : 
      89             : namespace sdr
      90             : {
      91             :     namespace contact
      92             :     {
      93             :         class ViewObjectContactRedirector;
      94             :     } // end of namespace contact
      95             : } // end of namespace sdr
      96             : 
      97             : 
      98             : 
      99             : 
     100       26478 : class SVX_DLLPUBLIC SvxViewHint : public SfxHint
     101             : {
     102             : public:
     103             :     enum HintType { SVX_HINT_VIEWCHANGED };
     104             :     explicit SvxViewHint(HintType eType);
     105           0 :     HintType GetHintType() const { return meHintType;}
     106             : 
     107             : private:
     108             :     HintType meHintType;
     109             : };
     110             : 
     111             : // typedefs for a list of SdrPaintWindows
     112             : class SdrPaintWindow;
     113             : typedef ::std::vector< SdrPaintWindow* > SdrPaintWindowVector;
     114             : 
     115             : 
     116             : // helper to convert any GDIMetaFile to a good quality BitmapEx,
     117             : // using default parameters and graphic::XPrimitive2DRenderer
     118             : 
     119             : BitmapEx SVX_DLLPUBLIC convertMetafileToBitmapEx(
     120             :     const GDIMetaFile& rMtf,
     121             :     const basegfx::B2DRange& rTargetRange,
     122             :     const sal_uInt32 nMaximumQuadraticPixels = 500000);
     123             : 
     124             : 
     125             : 
     126             : class SVX_DLLPUBLIC SdrPaintView : public SfxListener, public SfxRepeatTarget, public SfxBroadcaster, public ::utl::ConfigurationListener
     127             : {
     128             :     friend class                SdrPageView;
     129             :     friend class                SdrGrafObj;
     130             : 
     131             :     SdrPageView*                mpPageView;
     132             : protected:
     133             :     SdrModel*                   pMod;
     134             : #ifdef DBG_UTIL
     135             :     SdrItemBrowser*             pItemBrowser;
     136             : #endif
     137             :     const OutputDevice*         pActualOutDev; // Nur zum vergleichen
     138             :     OutputDevice*               pDragWin;
     139             :     SfxStyleSheet*              pDefaultStyleSheet;
     140             : 
     141             :     OUString                    aAktLayer;     // Aktueller Zeichenlayer
     142             :     OUString                    aMeasureLayer; // Aktueller Layer fuer Bemassung
     143             : 
     144             : //  Container                   aPagV;         // Liste von SdrPageViews
     145             : 
     146             :     // All windows this view is displayed on
     147             :     SdrPaintWindowVector        maPaintWindows;
     148             : 
     149             :     MapMode                     aActualMapMode;
     150             :     Size                        aGridBig; // muss dann mal raus
     151             :     Size                        aGridFin; // muss dann mal raus
     152             :     SdrDragStat                 aDragStat;
     153             :     Rectangle                   aMaxWorkArea;
     154             :     SfxItemSet                  aDefaultAttr;
     155             :     Timer                       aComeBackTimer;
     156             : 
     157             :     SdrAnimationMode            eAnimationMode;
     158             : 
     159             :     sal_uInt16                      nHitTolPix;
     160             :     sal_uInt16                      nMinMovPix;
     161             :     sal_uInt16                      nHitTolLog;
     162             :     sal_uInt16                      nMinMovLog;
     163             :     sal_uIntPtr                       nGraphicManagerDrawMode;
     164             : 
     165             :     // hold an incarnation of Drawinglayer configuration options
     166             :     SvtOptionsDrawinglayer      maDrawinglayerOpt;
     167             : 
     168             :     bool                        bPageVisible : 1;
     169             :     bool                        bPageBorderVisible : 1;
     170             :     bool                        bBordVisible : 1;
     171             :     bool                        bGridVisible : 1;
     172             :     bool                        bGridFront : 1;
     173             :     bool                        bHlplVisible : 1;
     174             :     bool                        bHlplFront : 1;
     175             :     bool                        bGlueVisible : 1;    // Persistent. Klebepunkte anzeigen
     176             :     bool                        bGlueVisible2 : 1;   // Klebepunkte auch bei GluePointEdit anzeigen
     177             :     bool                        bGlueVisible3 : 1;   // Klebepunkte auch bei EdgeTool anzeigen
     178             :     bool                        bGlueVisible4 : 1;   // Klebepunkte anzeigen, wenn 1 Edge markiert
     179             :     bool                        bRestoreColors : 1;   // Pens und Brushes werden zurueckgesetzt.
     180             :     bool                        bSomeObjChgdFlag : 1;
     181             :     bool                        bSwapAsynchron : 1;
     182             :     bool                        bPrintPreview : 1;
     183             : 
     184             :     // bool fuer die Verwaltung des anzuzeigenden Status
     185             :     // Gruppe Betreten/Verlassen. Default ist sal_True, wird aber
     186             :     // beispielsweise beim Chart auf sal_False gesetzt, da dort
     187             :     // die Ghosted-Effekte zur Darstellug unerwuenscht sind.
     188             :     bool                        bVisualizeEnteredGroup : 1;
     189             :     bool                        bAnimationPause : 1;
     190             : 
     191             :     // #114898#
     192             :     // Flag which decides if buffered output for this view is allowed. When
     193             :     // set, PreRendering for PageView rendering will be used. Default is sal_False
     194             :     bool                        mbBufferedOutputAllowed : 1;
     195             : 
     196             :     // #114898#
     197             :     // Flag which decides if buffered overlay for this view is allowed. When
     198             :     // set, the output will be buffered in an overlay vdev. When not, overlay is
     199             :     // directly painted to OutDev. Default is sal_False.
     200             :     bool                        mbBufferedOverlayAllowed : 1;
     201             : 
     202             :     // allow page painting at all?
     203             :     bool                        mbPagePaintingAllowed : 1;
     204             : 
     205             :     // is this a preview renderer?
     206             :     bool                        mbPreviewRenderer : 1;
     207             : 
     208             :     // flags for calc and sw for suppressing OLE, CHART or DRAW objects
     209             :     bool                        mbHideOle : 1;
     210             :     bool                        mbHideChart : 1;
     211             :     bool                        mbHideDraw : 1;             // hide draw objects other than form controls
     212             :     bool                        mbHideFormControl : 1;      // hide form controls only
     213             : 
     214             : public:
     215             :     // #114898#
     216             :     // interface for PagePaintingAllowed flag
     217             :     bool IsBufferedOutputAllowed() const;
     218             :     void SetBufferedOutputAllowed(bool bNew);
     219             : 
     220             :     // interface for BufferedOverlayAllowed flag
     221             :     bool IsBufferedOverlayAllowed() const;
     222             :     void SetBufferedOverlayAllowed(bool bNew);
     223             : 
     224             :     // allow page painting at all?
     225        1019 :     bool IsPagePaintingAllowed() const { return mbPagePaintingAllowed;}
     226             :     void SetPagePaintingAllowed(bool bNew);
     227             : 
     228             : protected:
     229             :     svtools::ColorConfig            maColorConfig;
     230             :     Color                           maGridColor;
     231             : 
     232             :     // interface to SdrPaintWindow
     233             : protected:
     234             :     void AppendPaintWindow(SdrPaintWindow& rNew);
     235             :     SdrPaintWindow* RemovePaintWindow(SdrPaintWindow& rOld);
     236             :     void ConfigurationChanged( ::utl::ConfigurationBroadcaster*, sal_uInt32 ) SAL_OVERRIDE;
     237             : 
     238             : public:
     239      267954 :     sal_uInt32 PaintWindowCount() const { return maPaintWindows.size(); }
     240             :     SdrPaintWindow* FindPaintWindow(const OutputDevice& rOut) const;
     241             :     SdrPaintWindow* GetPaintWindow(sal_uInt32 nIndex) const;
     242             :     // replacement for GetWin(0), may return 0L (!)
     243             :     OutputDevice* GetFirstOutputDevice() const;
     244             : 
     245             : private:
     246             :     SVX_DLLPRIVATE void ImpClearVars();
     247             :     DECL_LINK(ImpComeBackHdl,void*);
     248             : 
     249             : protected:
     250             :     sal_uInt16 ImpGetMinMovLogic(short nMinMov, const OutputDevice* pOut) const;
     251             :     sal_uInt16 ImpGetHitTolLogic(short nHitTol, const OutputDevice* pOut) const;
     252             : 
     253             :     // Wenn man den IdleStatus des Systems nicht abwarten will (auf const geschummelt):
     254             :     void FlushComeBackTimer() const;
     255             :     void TheresNewMapMode();
     256           0 :     void ImpSetGlueVisible2(bool bOn) { if (bGlueVisible2!=bOn) { bGlueVisible2=bOn; if (!bGlueVisible && !bGlueVisible3 && !bGlueVisible4) GlueInvalidate(); } }
     257         442 :     void ImpSetGlueVisible3(bool bOn) { if (bGlueVisible3!=bOn) { bGlueVisible3=bOn; if (!bGlueVisible && !bGlueVisible2 && !bGlueVisible4) GlueInvalidate(); } }
     258        8078 :     void ImpSetGlueVisible4(bool bOn) { if (bGlueVisible4!=bOn) { bGlueVisible4=bOn; if (!bGlueVisible && !bGlueVisible2 && !bGlueVisible3) GlueInvalidate(); } }
     259             :     bool ImpIsGlueVisible2() const { return bGlueVisible2; }
     260             :     bool ImpIsGlueVisible3() const { return bGlueVisible3; }
     261             :     bool ImpIsGlueVisible4() const { return bGlueVisible4; }
     262             : 
     263             : public:
     264       21908 :     bool ImpIsGlueVisible() { return bGlueVisible || bGlueVisible2 || bGlueVisible3 || bGlueVisible4; }
     265             : protected:
     266             : 
     267             :     virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint) SAL_OVERRIDE;
     268             :     void GlueInvalidate() const;
     269             : 
     270             :     void ShowEncirclement(OutputDevice* pOut);
     271             :     void HideEncirclement(OutputDevice* pOut);
     272             :     void DrawEncirclement(OutputDevice* pOut) const;
     273             : 
     274             :     // ModelHasChanged wird gerufen, sobald nach beliebig vielen HINT_OBJCHG
     275             :     // das System wieder idle ist (StarView-Timer). Wer diese Methode ueberlaed,
     276             :     // muss unbedingt ModelHasChanged() der Basisklasse rufen.
     277             :     virtual void ModelHasChanged();
     278             : 
     279             : protected:
     280             :     // #i71538# make constructors of SdrView sub-components protected to avoid incomplete incarnations which may get casted to SdrView
     281             :     SdrPaintView(SdrModel* pModel1, OutputDevice* pOut = 0L);
     282             :     virtual ~SdrPaintView();
     283             : 
     284             : public:
     285             :     TYPEINFO_OVERRIDE();
     286             : 
     287             :     virtual void ClearPageView();
     288      265964 :     SdrModel* GetModel() const { return pMod; }
     289             : 
     290             :     virtual bool IsAction() const;
     291             :     virtual void MovAction(const Point& rPnt);
     292             :     virtual void EndAction();
     293             :     virtual void BckAction();
     294             :     virtual void BrkAction(); // Alle Actions z.B. Draggen abbrechen.
     295             :     virtual void TakeActionRect(Rectangle& rRect) const;
     296             : 
     297             :     // info about TextEdit. Default is sal_False.
     298             :     virtual bool IsTextEdit() const;
     299             : 
     300             :     // info about TextEditPageView. Default is 0L.
     301             :     virtual SdrPageView* GetTextEditPageView() const;
     302             : 
     303             :     // Muss dann bei jedem Fensterwechsel (wenn die SdrView in mehreren
     304             :     // Fenstern gleichzeitig dargestellt wird (->z.B. Splitter)) und bei
     305             :     // jedem MapMode(Scaling)-wechsel gerufen werden, damit ich aus meinen
     306             :     // Pixelwerten logische Werte berechnen kann.
     307             :     void SetActualWin(const OutputDevice* pWin);
     308        1114 :     void SetMinMoveDistancePixel(sal_uInt16 nVal) { nMinMovPix=nVal; TheresNewMapMode(); }
     309             :     sal_uInt16 GetMinMoveDistancePixel() const { return (sal_uInt16)nMinMovPix; }
     310       17378 :     void SetHitTolerancePixel(sal_uInt16 nVal) { nHitTolPix=nVal; TheresNewMapMode(); }
     311        3654 :     sal_uInt16 GetHitTolerancePixel() const { return (sal_uInt16)nHitTolPix; }
     312             : 
     313             :     // data read access on logic HitTolerance and MinMoveTolerance
     314        4208 :     sal_uInt16 getHitTolLog() const { return nHitTolLog; }
     315             :     sal_uInt16 getMinMovLog() const { return nMinMovLog; }
     316             : 
     317             :     // Flag zur Visualisierung von Gruppen abfragen/testen
     318      115100 :     bool DoVisualizeEnteredGroup() const { return bVisualizeEnteredGroup; }
     319             :     void SetVisualizeEnteredGroup(bool bNew) { bVisualizeEnteredGroup = bNew; }
     320             : 
     321             :     // Am DragStatus laesst sich beispielsweise erfragen, welche
     322             :     // entfernung bereits gedraggd wurde, etc.
     323           0 :     const SdrDragStat& GetDragStat() const { return aDragStat; }
     324             : 
     325             :     // Anmelden/Abmelden einer PageView an der View.
     326             :     // Dieselbe // Seite kann nicht mehrfach angemeldet werden.
     327             :     // Methoden mit dem Suffix PgNum erwarten als numerischen Parameter
     328             :     // eine Seitennummer (0...). Methoden mit dem Suffix PvNum erwarten
     329             :     // degagen als numerischen Parameter die Nummer der PageView an der
     330             :     // SdrView (Iterieren ueber alle angemeldeten Pages).
     331             :     virtual SdrPageView* ShowSdrPage(SdrPage* pPage);
     332             :     virtual void HideSdrPage();
     333             : 
     334             :     // Iterieren ueber alle angemeldeten PageViews
     335             : //  sal_uInt16 GetPageViewCount() const { return sal_uInt16(aPagV.Count()); }
     336             : //  SdrPageView* GetPageViewByIndex(sal_uInt16 nPvNum) const { return ((SdrPageView*)aPagV.GetObject(nPvNum)); }
     337      261008 :     SdrPageView* GetSdrPageView() const { return mpPageView; }
     338             : 
     339             :     // Pageview einer bestimmten Seite ermitteln
     340             : //  SdrPageView* GetPageViewByPage(const SdrPage* pPage) const;
     341             : //  sal_uInt16 GetIndexByPageView(const SdrPageView* pPV) const;
     342             : 
     343             :     // Test, ob eine Seite getroffen
     344             : //  SdrPageView* HitPage(const Point& rPnt) const;
     345             : 
     346             :     // Die Seite, die dem Punkt am naechsten ist. Liefert nur NULL,
     347             :     // wenn absolut keine Seite angemeldet ist.
     348             : //  SdrPageView* GetPageViewByPosition(const Point& rPnt) const;
     349             : 
     350             :     // Eine SdrView kann auf mehreren Fenstern gleichzeitig abgebiltet sein:
     351             :     virtual void AddWindowToPaintView(OutputDevice* pNewWin);
     352             :     virtual void DeleteWindowFromPaintView(OutputDevice* pOldWin);
     353             : 
     354             :     void SetLayerVisible(const OUString& rName, bool bShow=true);
     355             :     bool IsLayerVisible(const OUString& rName) const;
     356             : 
     357             :     void SetLayerLocked(const OUString& rName, bool bLock=true);
     358             :     bool IsLayerLocked(const OUString& rName) const;
     359             : 
     360             :     void SetLayerPrintable(const OUString& rName, bool bPrn=true);
     361             :     bool IsLayerPrintable(const OUString& rName) const;
     362             : 
     363             :     // PrePaint call forwarded from app windows
     364             :     void PrePaint();
     365             : 
     366             : 
     367             :     // used internally for Draw/Impress/sch/chart2
     368             :     virtual void CompleteRedraw(OutputDevice* pOut, const vcl::Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector = 0);
     369             : 
     370             :     // #i72889# used from CompleteRedraw() implementation internally, added to be able to do a complete redraw in single steps
     371             : 
     372             :     // BeginCompleteRedraw returns (or even creates) a SdrPaintWindow which shall then be used as
     373             :     // target for paints. Since paints may be buffered, use it's GetTargetOutputDevice() method which will
     374             :     // return the buffer in case of bufered.
     375             :     // DoCompleteRedraw draws the DrawingLayer hierarchy then.
     376             :     // EndCompleteRedraw does the necessary refreshes, evtl. paints text edit and overlay and evtl destroys the
     377             :     // SdrPaintWindow again. This means: the SdrPaintWindow is no longer safe after this closing call.
     378             :     virtual SdrPaintWindow* BeginCompleteRedraw(OutputDevice* pOut);
     379             :     virtual void DoCompleteRedraw(SdrPaintWindow& rPaintWindow, const vcl::Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector = 0);
     380             :     virtual void EndCompleteRedraw(SdrPaintWindow& rPaintWindow, bool bPaintFormLayer);
     381             : 
     382             : 
     383             :     // used for the other applications basctl/sc/sw which call DrawLayer at PageViews
     384             :     // #i74769# Interface change to use common BeginCompleteRedraw/EndCompleteRedraw
     385             :     // #i76114# bDisableIntersect disables intersecting rReg with the Window's paint region
     386             :     SdrPaintWindow* BeginDrawLayers(OutputDevice* pOut, const vcl::Region& rReg, bool bDisableIntersect = false);
     387             :     // used when the region passed to BeginDrawLayers needs to be changed
     388             :     void UpdateDrawLayersRegion(OutputDevice* pOut, const vcl::Region& rReg, bool bDisableIntersect = false);
     389             :     void EndDrawLayers(SdrPaintWindow& rPaintWindow, bool bPaintFormLayer);
     390             : 
     391             : protected:
     392             : 
     393             :     // used to paint the form layer after the PreRender device is flushed (painted) to the window.
     394             :     void ImpFormLayerDrawing(SdrPaintWindow& rPaintWindow) const;
     395             : 
     396             :     vcl::Region OptimizeDrawLayersRegion(OutputDevice* pOut, const vcl::Region& rReg, bool bDisableIntersect);
     397             : 
     398             : public:
     399        4497 :     bool IsPageVisible() const { return bPageVisible; }             // Seite (weisse Flaeche) malen oder nicht
     400         542 :     bool IsPageBorderVisible() const { return bPageBorderVisible; } // Seite (weisse Flaeche) malen oder nicht
     401        1019 :     bool IsBordVisible() const { return bBordVisible; }             // Seitenrandlinie malen oder nicht
     402       36906 :     bool IsGridVisible() const { return bGridVisible; }             // Rastergitter malen oder nicht
     403        3070 :     bool IsGridFront() const { return bGridFront  ; }               // Rastergitter ueber die Objekte druebermalen oder dahinter
     404        6219 :     bool IsHlplVisible() const { return bHlplVisible; }             // Hilfslinien der Seiten malen oder nicht
     405           0 :     bool IsHlplFront() const { return bHlplFront  ; }               // Hilfslinie ueber die Objekte druebermalen oder dahinter
     406             :     bool IsGlueVisible() const { return bGlueVisible; }             // Konnektoren der objekte sichtbar oder nicht
     407        1250 :     Color GetGridColor() const { return maGridColor;}
     408        5747 :     void SetPageVisible(bool bOn = true) { bPageVisible=bOn; InvalidateAllWin(); }
     409         181 :     void SetPageBorderVisible(bool bOn = true) { bPageBorderVisible=bOn; InvalidateAllWin(); }
     410        5621 :     void SetBordVisible(bool bOn = true) { bBordVisible=bOn; InvalidateAllWin(); }
     411       13829 :     void SetGridVisible(bool bOn = true) { bGridVisible=bOn; InvalidateAllWin(); }
     412        1950 :     void SetGridFront(bool bOn = true) { bGridFront  =bOn; InvalidateAllWin(); }
     413        7541 :     void SetHlplVisible(bool bOn = true) { bHlplVisible=bOn; InvalidateAllWin(); }
     414         384 :     void SetHlplFront(bool bOn = true) { bHlplFront  =bOn; InvalidateAllWin(); }
     415        5621 :     void SetGlueVisible(bool bOn = true) { if (bGlueVisible!=bOn) { bGlueVisible=bOn; if (!bGlueVisible2 && !bGlueVisible3 && !bGlueVisible4) GlueInvalidate(); } }
     416             :     void SetGridColor( Color aColor );
     417             : 
     418        3197 :     bool IsPreviewRenderer() const { return mbPreviewRenderer; }
     419         181 :     void SetPreviewRenderer(bool bOn) { mbPreviewRenderer=bOn; }
     420             : 
     421             :     // access methods for calc and sw hide object modes
     422       27410 :     bool getHideOle() const { return mbHideOle; }
     423       27110 :     bool getHideChart() const { return mbHideChart; }
     424       27110 :     bool getHideDraw() const { return mbHideDraw; }
     425       27110 :     bool getHideFormControl() const { return mbHideFormControl; }
     426        3056 :     void setHideOle(bool bNew) { if(bNew != (bool)mbHideOle) mbHideOle = bNew; }
     427        3056 :     void setHideChart(bool bNew) { if(bNew != (bool)mbHideChart) mbHideChart = bNew; }
     428        3056 :     void setHideDraw(bool bNew) { if(bNew != (bool)mbHideDraw) mbHideDraw = bNew; }
     429        3056 :     void setHideFormControl(bool bNew) { if(bNew != (bool)mbHideFormControl) mbHideFormControl = bNew; }
     430             : 
     431       10560 :     void SetGridCoarse(const Size& rSiz) { aGridBig=rSiz; }
     432       10178 :     void SetGridFine(const Size& rSiz) { aGridFin=rSiz; if (aGridFin.Height()==0) aGridFin.Height()=aGridFin.Width(); if (bGridVisible) InvalidateAllWin(); } // #40479#
     433        5234 :     const Size& GetGridCoarse() const { return aGridBig; }
     434        5234 :     const Size& GetGridFine() const { return aGridFin; }
     435             : 
     436             :     void InvalidateAllWin();
     437             :     void InvalidateAllWin(const Rectangle& rRect, bool bPlus1Pix=false);
     438             : 
     439             :     // Wenn die View kein Invalidate() an den Fenstern durchfuehren soll, muss
     440             :     // man diese beiden folgenden Methoden ueberladen und entsprechend anders
     441             :     // reagieren.
     442             :     virtual void InvalidateOneWin(vcl::Window& rWin);
     443             :     virtual void InvalidateOneWin(vcl::Window& rWin, const Rectangle& rRect);
     444             : 
     445        6460 :     void SetActiveLayer(const OUString& rName) { aAktLayer=rName; }
     446        9212 :     const OUString&  GetActiveLayer() const { return aAktLayer; }
     447             : 
     448             :     // Verlassen einer betretenen Objektgruppe aller sichtbaren Seiten.
     449             :     // (wie MsDos chdir ..)
     450             :     void LeaveOneGroup();
     451             : 
     452             :     // Verlassen aller betretenen Objektgruppen aller sichtbaren Seiten.
     453             :     // (wie MsDos chdir \)
     454             :     void LeaveAllGroup();
     455             : 
     456             :     // Feststellen, ob Leave sinnvoll ist.
     457             :     bool IsGroupEntered() const;
     458             : 
     459             :     // DefaultAttribute an der View: Neu erzeugte Objekte bekommen diese
     460             :     // Attribute direkt nach dem Erzeugen erstmal zugewiesen.
     461             :     void SetDefaultAttr(const SfxItemSet& rAttr, bool bReplaceAll);
     462           0 :     const SfxItemSet& GetDefaultAttr() const { return aDefaultAttr; }
     463             :     void SetDefaultStyleSheet(SfxStyleSheet* pStyleSheet, bool bDontRemoveHardAttr);
     464           0 :     SfxStyleSheet* GetDefaultStyleSheet() const { return pDefaultStyleSheet; }
     465             : 
     466             :     void SetNotPersistDefaultAttr(const SfxItemSet& rAttr, bool bReplaceAll);
     467             :     void MergeNotPersistDefaultAttr(SfxItemSet& rAttr, bool bOnlyHardAttr) const;
     468             : 
     469             :     // use this mode as mode to draw all internal GraphicManager objects with
     470             :     sal_uIntPtr GetGraphicManagerDrawMode() const { return nGraphicManagerDrawMode; }
     471             :     void SetGraphicManagerDrawMode( sal_uIntPtr nMode ) { nGraphicManagerDrawMode = nMode; }
     472             : 
     473             :     // SwapIn (z.B. von Grafiken) asynchron durchfuehren. Also nicht
     474             :     // beim Paint sofort nachladen, sondern dort das Nachladen anstossen.
     475             :     // Nach Abschluss des Nachladens wird das Objekt dann angezeigt.
     476             :     // Hat nur z.Zt. Wirkung, wenn SwapGraphics am Model eingeschaltet ist.
     477             :     // Default=FALSE. Flag ist nicht persistent.
     478           0 :     bool IsSwapAsynchron() const { return bSwapAsynchron; }
     479        6076 :     void SetSwapAsynchron(bool bJa=true) { bSwapAsynchron=bJa; }
     480             :     virtual bool KeyInput(const KeyEvent& rKEvt, vcl::Window* pWin);
     481             : 
     482           0 :     virtual bool MouseButtonDown(const MouseEvent& /*rMEvt*/, vcl::Window* /*pWin*/) { return false; }
     483           0 :     virtual bool MouseButtonUp(const MouseEvent& /*rMEvt*/, vcl::Window* /*pWin*/) { return false; }
     484           0 :     virtual bool MouseMove(const MouseEvent& /*rMEvt*/, vcl::Window* /*pWin*/) { return false; }
     485           0 :     virtual bool Command(const CommandEvent& /*rCEvt*/, vcl::Window* /*pWin*/) { return false; }
     486             :     bool Cut(sal_uIntPtr /*nFormat*/=SDR_ANYFORMAT) { return false; }
     487             :     bool Yank(sal_uIntPtr /*nFormat*/=SDR_ANYFORMAT) { return false; }
     488             :     bool Paste(vcl::Window* /*pWin*/=NULL, sal_uIntPtr /*nFormat*/=SDR_ANYFORMAT) { return false; }
     489             : 
     490             :     /* new interface src537 */
     491             :     bool GetAttributes(SfxItemSet& rTargetSet, bool bOnlyHardAttr=false) const;
     492             : 
     493             :     bool SetAttributes(const SfxItemSet& rSet, bool bReplaceAll);
     494             :     SfxStyleSheet* GetStyleSheet() const; // SfxStyleSheet* GetStyleSheet(bool& rOk) const;
     495             :     bool SetStyleSheet(SfxStyleSheet* pStyleSheet, bool bDontRemoveHardAttr);
     496             : 
     497             :     virtual void MakeVisible(const Rectangle& rRect, vcl::Window& rWin);
     498             : 
     499             :     // Fuer PlugIn. Wird vom Paint des OLE-Obj gerufen.
     500             :     virtual void DoConnect(SdrOle2Obj* pOleObj);
     501             : 
     502             :     // Animation aktivieren/deaktivieren fuer ::Paint
     503             :     // wird z.Zt. ausgewertet von SdrGrafObj, wenn in dem eine Animation steckt
     504             :     // Das Unterbinden der automatischen Animation wird z.B. fuer die Dia-Show benoetigt
     505        3484 :     bool IsAnimationEnabled() const { return ( SDR_ANIMATION_ANIMATE == eAnimationMode ); }
     506             :     void SetAnimationEnabled( bool bEnable=true );
     507             : 
     508             :     // set/unset pause state for animations
     509             :     bool IsAnimationPause() const { return bAnimationPause; }
     510             :     void SetAnimationPause( bool bSet );
     511             : 
     512             :     // Verhalten beim Starten von Animation im Paint-Handler:
     513             :     // 1. Animation normal starten( SDR_ANIMATION_ANIMATE ) => DEFAULT
     514             :     // 2. Nur die Ersatzdarstellung der Animation zeichnen ( SDR_ANIMATION_DONT_ANIMATE )
     515             :     // 3. Nicht starten und nichts ersatzweise ausgeben ( SDR_ANIMATION_DISABLE )
     516             :     void SetAnimationMode( const SdrAnimationMode eMode );
     517             :     SdrAnimationMode GetAnimationMode() const { return eAnimationMode; }
     518             : 
     519             :     // bei bShow=sal_False wird der Browser destruiert
     520             : #ifdef DBG_UTIL
     521             :     void ShowItemBrowser(bool bShow=true);
     522             :     bool IsItemBrowserVisible() const { return pItemBrowser!=NULL && ((vcl::Window*)pItemBrowser)->IsVisible(); }
     523             :     vcl::Window* GetItemBrowser() const { return (vcl::Window*)pItemBrowser; }
     524             : #endif
     525             : 
     526             :     // Muss von App beim Scrollen usw. gerufen werden, damit ein u.U.
     527             :     // aktives FormularControl mitverschoben werden kann
     528             :     void VisAreaChanged(const OutputDevice* pOut=NULL);
     529             :     void VisAreaChanged(const SdrPageWindow& rWindow);
     530             : 
     531        1958 :     bool IsPrintPreview() const { return bPrintPreview; }
     532        5346 :     void SetPrintPreview(bool bOn = true) { bPrintPreview=bOn; }
     533             : 
     534           0 :     const svtools::ColorConfig& getColorConfig() const { return maColorConfig;}
     535             : 
     536             :     virtual void onChangeColorConfig();
     537             : 
     538             :     // #103834# Set background color for svx at SdrPageViews
     539             :     void SetApplicationBackgroundColor(Color aBackgroundColor);
     540             : 
     541             :     // #103911# Set document color for svx at SdrPageViews
     542             :     void SetApplicationDocumentColor(Color aDocumentColor);
     543             : 
     544             :     // #i38135#
     545             :     // Sets the timer for Object animations and restarts.
     546             :     void SetAnimationTimer(sal_uInt32 nTime);
     547             : 
     548             :     // access to Drawinglayer configuration options
     549       39061 :     const SvtOptionsDrawinglayer& getOptionsDrawinglayer() const { return maDrawinglayerOpt; }
     550             : };
     551             : 
     552             : #endif // INCLUDED_SVX_SVDPNTV_HXX
     553             : 
     554             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10