summaryrefslogtreecommitdiff
path: root/editeng/source/outliner/outlundo.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'editeng/source/outliner/outlundo.hxx')
-rw-r--r--editeng/source/outliner/outlundo.hxx140
1 files changed, 140 insertions, 0 deletions
diff --git a/editeng/source/outliner/outlundo.hxx b/editeng/source/outliner/outlundo.hxx
new file mode 100644
index 000000000000..163e4e62fd65
--- /dev/null
+++ b/editeng/source/outliner/outlundo.hxx
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _OUTLUNDO_HXX
+#define _OUTLUNDO_HXX
+
+#include <editeng/outliner.hxx>
+#include <editeng/editdata.hxx>
+#include <editeng/editund2.hxx>
+
+class OutlinerUndoBase : public EditUndo
+{
+private:
+ Outliner* mpOutliner;
+
+public:
+ OutlinerUndoBase( USHORT nId, Outliner* pOutliner );
+
+ Outliner* GetOutliner() const { return mpOutliner; }
+};
+
+class OutlinerUndoChangeParaFlags : public OutlinerUndoBase
+{
+private:
+ sal_uInt16 mnPara;
+ sal_uInt16 mnOldFlags;
+ sal_uInt16 mnNewFlags;
+
+ void ImplChangeFlags( sal_uInt16 nFlags );
+
+public:
+ OutlinerUndoChangeParaFlags( Outliner* pOutliner, sal_uInt16 nPara, sal_uInt16 nOldDepth, sal_uInt16 nNewDepth );
+
+ virtual void Undo();
+ virtual void Redo();
+};
+
+class OutlinerUndoChangeParaNumberingRestart : public OutlinerUndoBase
+{
+private:
+ sal_uInt16 mnPara;
+
+ struct ParaRestartData
+ {
+ sal_Int16 mnNumberingStartValue;
+ sal_Bool mbParaIsNumberingRestart;
+ };
+
+ ParaRestartData maUndoData;
+ ParaRestartData maRedoData;
+
+ void ImplApplyData( const ParaRestartData& rData );
+public:
+ OutlinerUndoChangeParaNumberingRestart( Outliner* pOutliner, sal_uInt16 nPara,
+ sal_Int16 nOldNumberingStartValue, sal_Int16 mnNewNumberingStartValue,
+ sal_Bool nOldbParaIsNumberingRestart, sal_Bool nbNewParaIsNumberingRestart );
+
+ virtual void Undo();
+ virtual void Redo();
+};
+
+class OutlinerUndoChangeDepth : public OutlinerUndoBase
+{
+ using SfxUndoAction::Repeat;
+private:
+ USHORT mnPara;
+ sal_Int16 mnOldDepth;
+ sal_Int16 mnNewDepth;
+
+public:
+ OutlinerUndoChangeDepth( Outliner* pOutliner, USHORT nPara, sal_Int16 nOldDepth, sal_Int16 nNewDepth );
+
+ virtual void Undo();
+ virtual void Redo();
+ virtual void Repeat();
+};
+
+// Hilfs-Undo: Wenn es fuer eine Aktion keine OutlinerUndoAction gibst, weil
+// die EditEngine das handelt, aber z.B. noch das Bullet neu berechnet werden muss.
+
+class OutlinerUndoCheckPara : public OutlinerUndoBase
+{
+ using SfxUndoAction::Repeat;
+private:
+ USHORT mnPara;
+
+public:
+ OutlinerUndoCheckPara( Outliner* pOutliner, USHORT nPara );
+
+ virtual void Undo();
+ virtual void Redo();
+ virtual void Repeat();
+};
+
+
+
+// -------------------------------------
+
+
+class OLUndoExpand : public EditUndo
+{
+ using SfxUndoAction::Repeat;
+ void Restore( BOOL bUndo );
+public:
+ OLUndoExpand( Outliner* pOut, USHORT nId );
+ ~OLUndoExpand();
+ virtual void Undo();
+ virtual void Redo();
+ virtual void Repeat();
+
+ USHORT* pParas; // 0 == nCount enthaelt Absatznummer
+ Outliner* pOutliner;
+ USHORT nCount;
+};
+
+#endif