summaryrefslogtreecommitdiff
path: root/sd/source/ui/inc/OutlineView.hxx
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2006-01-10 13:31:38 +0000
committerRüdiger Timm <rt@openoffice.org>2006-01-10 13:31:38 +0000
commitcb56fe5798098b7b4cb4155dd5fbd44ab5cc429a (patch)
tree71d0b254efaf7228b70fe4b5e5f2e144db6c0a5a /sd/source/ui/inc/OutlineView.hxx
parent529e1ea01f5eba1065dd6a849466cfea93d004db (diff)
INTEGRATION: CWS impresspresobjs (1.8.54); FILE MERGED
2005/12/13 19:17:04 cl 1.8.54.2: #i58649# make outline view more resistent to async slide counts 2005/12/09 15:16:25 cl 1.8.54.1: #i58649# reworked outline view undo handling
Diffstat (limited to 'sd/source/ui/inc/OutlineView.hxx')
-rw-r--r--sd/source/ui/inc/OutlineView.hxx39
1 files changed, 36 insertions, 3 deletions
diff --git a/sd/source/ui/inc/OutlineView.hxx b/sd/source/ui/inc/OutlineView.hxx
index 893cfb5e8c2e..7b9757be9170 100644
--- a/sd/source/ui/inc/OutlineView.hxx
+++ b/sd/source/ui/inc/OutlineView.hxx
@@ -4,9 +4,9 @@
*
* $RCSfile: OutlineView.hxx,v $
*
- * $Revision: 1.8 $
+ * $Revision: 1.9 $
*
- * last change: $Author: rt $ $Date: 2005-09-09 05:10:14 $
+ * last change: $Author: rt $ $Date: 2006-01-10 14:31:38 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -69,6 +69,7 @@ static const int MAX_OUTLINERVIEWS = 4;
class OutlineView
: public ::sd::View
{
+ friend class OutlineViewModelChangeGuard;
public:
OutlineView (DrawDocShell* pDocSh,
::Window* pWindow,
@@ -86,7 +87,10 @@ public:
TYPEINFO();
SdrTextObj* GetTitleTextObject(SdrPage* pPage);
- SdrTextObj* GetLayoutTextObject(SdrPage* pPage);
+ SdrTextObj* GetOutlineTextObject(SdrPage* pPage);
+
+ SdrTextObj* CreateTitleTextObject(SdPage* pPage);
+ SdrTextObj* CreateOutlineTextObject(SdPage* pPage);
virtual void AddWin (::sd::Window* pWin);
virtual void DelWin (::sd::Window* pWin);
@@ -97,6 +101,8 @@ public:
Paragraph* GetPrevTitle(const Paragraph* pPara);
Paragraph* GetNextTitle(const Paragraph* pPara);
SdPage* GetActualPage();
+ SdPage* GetPageForParagraph( ::Outliner* pOutl, Paragraph* pPara );
+ Paragraph* GetParagraphForPage( ::Outliner* pOutl, SdPage* pPage );
/** selects the paragraph for the given page at the outliner view*/
void SetActualPage( SdPage* pActual );
@@ -159,6 +165,23 @@ public:
void IgnoreCurrentPageChanges (bool bIgnore);
private:
+ /** call this method before you do anything that can modify the outliner
+ and or the drawing document model. It will create needed undo actions */
+ void BeginModelChange();
+
+ /** call this method after BeginModelChange(), when all possible model
+ changes are done. */
+ void EndModelChange();
+
+ /** merge edit engine undo actions if possible */
+ void TryToMergeUndoActions();
+
+ /** updates all changes in the outliner model to the draw model */
+ void UpdateDocument();
+
+ /** creates and inserts an empty slide for the given paragraph */
+ SdPage* InsertSlideForParagraph( Paragraph* pPara );
+
OutlineViewShell* pOutlineViewShell;
SdrOutliner* pOutliner;
OutlinerView* pOutlinerView[MAX_OUTLINERVIEWS];
@@ -220,6 +243,16 @@ private:
OutlineView* mpView;
};
+// calls BeginModelChange() on c'tor and EndModelChange() on d'tor
+class OutlineViewModelChangeGuard
+{
+public:
+ OutlineViewModelChangeGuard( OutlineView& rView );
+ ~OutlineViewModelChangeGuard();
+private:
+ OutlineView& mrView;
+};
+
} // end of namespace sd
#endif