blob: ef73ebb35fbc1a704cf7ba851d7334474f017c92 [file] [log] [blame]
/**************************************************************
*
* 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 <editeng/outliner.hxx>
#include <editeng/editdata.hxx>
#include <editeng/editund2.hxx>
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_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:
sal_uInt16 mnPara;
sal_Int16 mnOldDepth;
sal_Int16 mnNewDepth;
public:
OutlinerUndoChangeDepth( Outliner* pOutliner, sal_uInt16 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_uInt16 mnPara;
public:
OutlinerUndoCheckPara( Outliner* pOutliner, sal_uInt16 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_uInt16* pParas; // 0 == nCount enthaelt Absatznummer
Outliner* pOutliner;
sal_uInt16 nCount;
};
#endif