summaryrefslogtreecommitdiff
path: root/sd/inc/drawdoc.hxx
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2003-10-27 12:29:14 +0000
committerRüdiger Timm <rt@openoffice.org>2003-10-27 12:29:14 +0000
commit3dc4758dd66d3addd42805c49b7b621870ee0290 (patch)
treec663abeb97747ed1a37f2e322f9476cabd6fef66 /sd/inc/drawdoc.hxx
parent116180b166279d2dc83f1570762d02b8b6985a3b (diff)
INTEGRATION: CWS aw005 (1.26.88); FILE MERGED
2003/10/08 16:10:00 aw 1.26.88.1: #109538#
Diffstat (limited to 'sd/inc/drawdoc.hxx')
-rw-r--r--sd/inc/drawdoc.hxx69
1 files changed, 67 insertions, 2 deletions
diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx
index c6231e6a5fa3..a4b3cefb7050 100644
--- a/sd/inc/drawdoc.hxx
+++ b/sd/inc/drawdoc.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: drawdoc.hxx,v $
*
- * $Revision: 1.26 $
+ * $Revision: 1.27 $
*
- * last change: $Author: hr $ $Date: 2003-06-26 11:11:08 $
+ * last change: $Author: rt $ $Date: 2003-10-27 13:29:14 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -121,6 +121,7 @@ class Window;
class SdTransferable;
struct SpellCallbackInfo;
struct StyleRequestData;
+class SdDrawDocument;
#ifndef SV_DECL_SDDRAWDOCSHELL_DEFINED
#define SV_DECL_SDDRAWDOCSHELL_DEFINED
@@ -161,6 +162,62 @@ public:
};
//////////////////////////////////////////////////////////////////////////////
+// #109538#
+
+class ImpPageListWatcher
+{
+protected:
+ // typedefs for a vector of SdPages
+ typedef ::std::vector< SdPage* > SdPageVector;
+
+ const SdrModel& mrModel;
+
+ SdPageVector maPageVectorStandard;
+ SdPageVector maPageVectorNotes;
+ SdPage* mpHandoutPage;
+
+ sal_Bool mbPageListValid;
+
+ void ImpRecreateSortedPageListOnDemand();
+ virtual sal_uInt32 ImpGetPageCount() const = 0;
+ virtual SdPage* ImpGetPage(sal_uInt32 nIndex) const = 0;
+
+public:
+ ImpPageListWatcher(const SdrModel& rModel);
+ virtual ~ImpPageListWatcher();
+
+ void Invalidate() { mbPageListValid = sal_False; }
+ SdPage* GetSdPage(PageKind ePgKind, sal_uInt32 nPgNum = 0L);
+ sal_uInt32 GetSdPageCount(PageKind ePgKind);
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+class ImpDrawPageListWatcher : public ImpPageListWatcher
+{
+protected:
+ virtual sal_uInt32 ImpGetPageCount() const;
+ virtual SdPage* ImpGetPage(sal_uInt32 nIndex) const;
+
+public:
+ ImpDrawPageListWatcher(const SdrModel& rModel);
+ virtual ~ImpDrawPageListWatcher();
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+class ImpMasterPageListWatcher : public ImpPageListWatcher
+{
+protected:
+ virtual sal_uInt32 ImpGetPageCount() const;
+ virtual SdPage* ImpGetPage(sal_uInt32 nIndex) const;
+
+public:
+ ImpMasterPageListWatcher(const SdrModel& rModel);
+ virtual ~ImpMasterPageListWatcher();
+};
+
+//////////////////////////////////////////////////////////////////////////////
// ------------------
// - SdDrawDocument -
@@ -222,6 +279,10 @@ private:
CharClass* mpCharClass;
::com::sun::star::lang::Locale* mpLocale;
+ // #109538#
+ ImpDrawPageListWatcher* mpDrawPageListWatcher;
+ ImpMasterPageListWatcher* mpMasterPageListWatcher;
+
void UpdatePageObjectsInNotes(USHORT nStartPos);
void FillOnlineSpellingList(SdPage* pPage);
void SpellObject(SdrTextObj* pObj);
@@ -696,6 +757,10 @@ private:
USHORT nInsertionPoint,
BOOL bIsPageBack,
BOOL bIsPageObj);
+
+ // #109538#
+ virtual void PageListChanged();
+ virtual void MasterPageListChanged();
};
#endif // _DRAWDOC_HXX