/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef _OUTLUNDO_HXX #define _OUTLUNDO_HXX #include #include #include class OutlinerUndoBase : public EditUndo { private: Outliner* mpOutliner; public: OutlinerUndoBase( sal_uInt16 nId, Outliner* pOutliner ); Outliner* GetOutliner() const { return mpOutliner; } }; class OutlinerUndoChangeParaFlags : public OutlinerUndoBase { private: sal_uInt32 mnPara; sal_uInt16 mnOldFlags; sal_uInt16 mnNewFlags; void ImplChangeFlags( sal_uInt16 nFlags ); public: OutlinerUndoChangeParaFlags( Outliner* pOutliner, sal_uInt32 nPara, sal_uInt16 nOldDepth, sal_uInt16 nNewDepth ); virtual void Undo(); virtual void Redo(); }; class OutlinerUndoChangeParaNumberingRestart : public OutlinerUndoBase { private: sal_uInt32 mnPara; struct ParaRestartData { sal_Int16 mnNumberingStartValue; sal_Bool mbParaIsNumberingRestart; }; ParaRestartData maUndoData; ParaRestartData maRedoData; void ImplApplyData( const ParaRestartData& rData ); public: OutlinerUndoChangeParaNumberingRestart( Outliner* pOutliner, sal_uInt32 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: sal_uInt32 mnPara; sal_Int16 mnOldDepth; sal_Int16 mnNewDepth; public: OutlinerUndoChangeDepth( Outliner* pOutliner, sal_uInt32 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: sal_uInt32 mnPara; public: OutlinerUndoCheckPara( Outliner* pOutliner, sal_uInt32 nPara ); virtual void Undo(); virtual void Redo(); virtual void Repeat(); }; // ------------------------------------- class OLUndoExpand : public EditUndo { using SfxUndoAction::Repeat; void Restore( sal_Bool bUndo ); public: OLUndoExpand( Outliner* pOut, sal_uInt16 nId ); ~OLUndoExpand(); virtual void Undo(); virtual void Redo(); virtual void Repeat(); sal_uInt32* pParas; // 0 == nCount enthaelt Absatznummer Outliner* pOutliner; sal_uInt32 nCount; }; #endif