diff options
author | Rüdiger Timm <rt@openoffice.org> | 2006-01-10 13:31:38 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2006-01-10 13:31:38 +0000 |
commit | cb56fe5798098b7b4cb4155dd5fbd44ab5cc429a (patch) | |
tree | 71d0b254efaf7228b70fe4b5e5f2e144db6c0a5a /sd/source/ui/inc/OutlineView.hxx | |
parent | 529e1ea01f5eba1065dd6a849466cfea93d004db (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.hxx | 39 |
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 |