diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
commit | 8362bf63dea22bbf6736609b0f49c152f975eb63 (patch) | |
tree | 0eea3928e39e50fae91d4e68b21b1e6cbae25604 /kpresenter/KPrCommand.h | |
download | koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.tar.gz koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.zip |
Added old abandoned KDE3 version of koffice
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1077364 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpresenter/KPrCommand.h')
-rw-r--r-- | kpresenter/KPrCommand.h | 1094 |
1 files changed, 1094 insertions, 0 deletions
diff --git a/kpresenter/KPrCommand.h b/kpresenter/KPrCommand.h new file mode 100644 index 00000000..a3e06e3e --- /dev/null +++ b/kpresenter/KPrCommand.h @@ -0,0 +1,1094 @@ +// -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- +/* This file is part of the KDE project + Copyright (C) 2001 Laurent Montel <lmontel@mandrakesoft.com> + Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +#ifndef kprcommand_h +#define kprcommand_h + +#include <kcommand.h> +#include <qptrlist.h> +#include <qpoint.h> +#include <qcolor.h> +#include <qsize.h> +#include "global.h" +#include <KoPictureCollection.h> +#include <qvaluelist.h> +#include <qpen.h> +#include <qbrush.h> +#include <KoPageLayoutDia.h> +#include <KoParagLayout.h> +#include <KoTextCommand.h> +#include <KoPoint.h> +#include <KoSize.h> +#include <qvariant.h> +#include <qvaluevector.h> +#include "KPrBackground.h" +#include "KPrVariableCollection.h" +#include <KoPen.h> + +class KPrDocument; +class KPrTextObject; +class KPrObject; +class KPr2DObject; +class KPrPixmapObject; +class KPrGroupObject; +class KPrView; +class KoParagLayout; +class KPrPage; +class KoCustomVariable; +class KoLinkVariable; +class KPrPolylineObject; +class KPrFieldVariable; +class KPrTimeVariable; +class KPrDateVariable; +class KPrPgNumVariable; + +class KPrShadowCmd : public KNamedCommand +{ +public: + struct ShadowValues + { + int shadowDistance; + ShadowDirection shadowDirection; + QColor shadowColor; + }; + + KPrShadowCmd( const QString &_name, QPtrList<ShadowValues> &_oldShadow, ShadowValues _newShadow, + QPtrList<KPrObject> &_objects, KPrDocument *_doc ); + ~KPrShadowCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + KPrDocument *doc; + QPtrList<ShadowValues> oldShadow; + QPtrList<KPrObject> objects; + ShadowValues newShadow; + KPrPage *m_page; +}; + +class KPrSetOptionsCmd : public KNamedCommand +{ +public: + KPrSetOptionsCmd( const QString &_name, QValueList<KoPoint> &_diffs, QPtrList<KPrObject> &_objects, + double _rastX, double _rastY, double _orastX, double _orastY, + const QColor &_txtBackCol, const QColor &_otxtBackCol, KPrDocument *_doc ); + ~KPrSetOptionsCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + + QValueList<KoPoint> diffs; + QPtrList<KPrObject> objects; + double gridX; + double gridY; + double oldGridX; + double oldGridY; + KPrDocument *doc; + QColor txtBackCol; + QColor otxtBackCol; +}; + +class KPrSetBackCmd : public KNamedCommand +{ +public: + KPrSetBackCmd( const QString &name, const KPrBackGround::Settings &settings, + const KPrBackGround::Settings &oldSettings, + bool useMasterBackground, + bool takeGlobal, KPrDocument *doc, KPrPage *page ); + + virtual void execute(); + virtual void unexecute(); + +protected: + + KPrBackGround::Settings m_settings; + KPrBackGround::Settings m_oldSettings; + bool m_useMasterBackground; + bool m_oldUseMasterBackground; + bool m_takeGlobal; + KPrDocument *m_doc; + KPrPage *m_page; +}; + +class KPrRotateCmd : public KNamedCommand +{ +public: + struct RotateValues + { + float angle; + }; + + KPrRotateCmd( const QString &_name, float newAngle, QPtrList<KPrObject> &objects, + KPrDocument *doc, bool addAngle = false ); + ~KPrRotateCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + KPrDocument *m_doc; + QPtrList<RotateValues> m_oldAngles; + QPtrList<KPrObject> m_objects; + float m_newAngle; + //necessary for duplicate object, we can duplicated and add angle. + bool m_addAngle; + KPrPage *m_page; +}; + +class KPrResizeCmd : public KNamedCommand +{ +public: + KPrResizeCmd( const QString &_name, const KoPoint &_m_diff, const KoSize &_r_diff, + KPrObject *_object, KPrDocument *_doc ); + ~KPrResizeCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + + KoPoint m_diff; + KoSize r_diff; + KPrObject *object; + KPrDocument *doc; + KPrPage *m_page; +}; + +class KPrChgPixCmd : public KNamedCommand +{ +public: + KPrChgPixCmd( const QString &_name, KPrPixmapObject *_oldObject, KPrPixmapObject *_newObject, + KPrDocument *_doc, KPrPage *_page ); + ~KPrChgPixCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + + KPrPixmapObject *oldObject, *newObject; + KPrDocument *doc; + KPrPage *m_page; +}; + +class KPrDeleteCmd : public KNamedCommand +{ +public: + KPrDeleteCmd( const QString &_name, QPtrList<KPrObject> &_objects, KPrDocument *_doc, + KPrPage *_page); + ~KPrDeleteCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + QPtrList<KPrObject> m_oldObjectList; + QPtrList<KPrObject> m_objectsToDelete; + KPrDocument *m_doc; + KPrPage *m_page; +}; + +class KPrEffectCmd : public KNamedCommand +{ +public: + struct EffectStruct { + int appearStep, disappearStep; + Effect effect; + Effect2 effect2; + Effect3 effect3; + EffectSpeed m_appearSpeed; + EffectSpeed m_disappearSpeed; + bool disappear; + int appearTimer, disappearTimer; + bool appearSoundEffect, disappearSoundEffect; + QString a_fileName, d_fileName; + }; + + KPrEffectCmd( const QString &_name, const QPtrList<KPrObject> &_objs, + const QValueList<EffectStruct> &_oldEffects, EffectStruct _newEffect ); + ~KPrEffectCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + + QValueList<EffectStruct> oldEffects; + EffectStruct newEffect; + QPtrList<KPrObject> objs; +}; + +class KPrGroupObjCmd : public KNamedCommand +{ +public: + KPrGroupObjCmd( const QString &_name, + const QPtrList<KPrObject> &_objects, + KPrDocument *_doc, KPrPage *_page ); + ~KPrGroupObjCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + + QPtrList<KPrObject> m_objectsToGroup; + QPtrList<KPrObject> m_oldObjectList; + KPrDocument *m_doc; + KPrGroupObject *m_groupObject; + KPrPage *m_page; + +}; + +class UnGroupObjCmd : public KNamedCommand +{ +public: + UnGroupObjCmd( const QString &_name, + KPrGroupObject *grpObj_, + KPrDocument *_doc, KPrPage *_page ); + ~UnGroupObjCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + + QPtrList<KPrObject> m_groupedObjects; + KPrGroupObject *m_groupObject; + KPrDocument *m_doc; + KPrPage *m_page; +}; + + +class KPrInsertCmd : public KNamedCommand +{ +public: + KPrInsertCmd( const QString &name, const QValueList<KPrObject *> objects, KPrDocument *doc, KPrPage *page ); + KPrInsertCmd( const QString &name, KPrObject *object, KPrDocument *doc, KPrPage *page ); + ~KPrInsertCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + QValueList<KPrObject *> m_objects; + KPrObject *m_object; + KPrDocument *m_doc; + KPrPage *m_page; +}; + + +class KPrLowerRaiseCmd : public KNamedCommand +{ +public: + KPrLowerRaiseCmd( const QString &_name, const QPtrList<KPrObject>& _oldList, + const QPtrList<KPrObject>& _newList, + KPrDocument *_doc, KPrPage *_page ); + ~KPrLowerRaiseCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + + QPtrList<KPrObject> oldList, newList; + KPrDocument *doc; + KPrPage *m_page; +}; + +class KPrMoveByCmd : public KNamedCommand +{ +public: + KPrMoveByCmd( const QString &_name, const KoPoint &_diff, QPtrList<KPrObject> &_objects, + KPrDocument *_doc, KPrPage *_page ); + ~KPrMoveByCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + + KoPoint diff; + QPtrList<KPrObject> objects; + KPrDocument *doc; + KPrPage *m_page; +}; + +/** + * Command to align objects + */ +class KPrAlignCmd : public KNamedCommand +{ +public: + KPrAlignCmd( const QString &_name, QPtrList<KPrObject> &_objects, AlignType _at, KPrDocument *_doc ); + ~KPrAlignCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + QPtrList<KoPoint> diffs; + QPtrList<KPrObject> objects; + KPrDocument *doc; + KPrPage *m_page; +}; + +class KoPenCmd : public KNamedCommand +{ +public: + struct Pen { + Pen( KoPen p, LineEnd lb, LineEnd le ) + : pen( p ) + , lineBegin( lb ) + , lineEnd( le ) + {} + + KoPen pen; + LineEnd lineBegin, lineEnd; + + Pen &operator=( const Pen &_pen ) { + pen = _pen.pen; + lineBegin = _pen.lineBegin; + lineEnd = _pen.lineEnd; + return *this; + } + }; + + // the flags indicate what has changed + enum PenConfigChange { + LineBegin = 1, + LineEnd = 2, + Color = 4, + Width = 8, + Style = 16, + All = LineBegin | LineEnd | Color | Width | Style + }; + + KoPenCmd( const QString &_name, QPtrList<KPrObject> &_objects, Pen _newPen, + KPrDocument *_doc, KPrPage *_page, int _flags = All); + ~KoPenCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + void addObjects( const QPtrList<KPrObject> &_objects ); + void applyPen( KPrObject *object, Pen *tmpPen ); + + KPrDocument *doc; + KPrPage *m_page; + QPtrList<Pen> oldPen; + QPtrList<KPrObject> objects; + Pen newPen; + int flags; +}; + +class KPrBrushCmd : public KNamedCommand +{ +public: + struct Brush { + Brush() {} + Brush( QBrush _brush, QColor _gColor1, QColor _gColor2, + BCType _gType, FillType _fillType, bool _unbalanced, + int _xfactor, int _yfactor ) + : brush( _brush ) + , gColor1( _gColor1 ) + , gColor2( _gColor2 ) + , gType( _gType ) + , fillType( _fillType ) + , unbalanced( _unbalanced ) + , xfactor( _xfactor ) + , yfactor( _yfactor ) + {} + + QBrush brush; + QColor gColor1; + QColor gColor2; + BCType gType; + FillType fillType; + bool unbalanced; + int xfactor, yfactor; + + Brush &operator=( const Brush &_brush ) { + brush = _brush.brush; + gColor1 = _brush.gColor1; + gColor2 = _brush.gColor2; + gType = _brush.gType; + fillType = _brush.fillType; + unbalanced = _brush.unbalanced; + xfactor = _brush.xfactor; + yfactor = _brush.yfactor; + return *this; + } + }; + + // the flags indicate what has changed + enum BrushConfigChange { + BrushColor = 1, + BrushStyle = 2, + BrushGradientSelect = 4, + GradientColor1 = 8, + GradientColor2 = 16, + GradientType = 32, + GradientBalanced = 64, + GradientXFactor = 128, + GradientYFactor = 256, + All = BrushColor | BrushStyle | BrushGradientSelect | GradientColor1 | GradientColor2 | GradientType | GradientBalanced | GradientXFactor | GradientYFactor + }; + + KPrBrushCmd( const QString &_name, QPtrList<KPrObject> &_objects, Brush _newBrush, + KPrDocument *_doc, KPrPage *_page, int _flags = All ); + ~KPrBrushCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + void addObjects( const QPtrList<KPrObject> &_objects ); + void applyBrush( KPr2DObject *object, Brush *tmpBrush ); + + KPrDocument *doc; + QPtrList<Brush> oldBrush; + QPtrList<KPr2DObject> objects; + Brush newBrush; + KPrPage *m_page; + int flags; +}; + +class KPrPgConfCmd : public KNamedCommand +{ +public: + KPrPgConfCmd( const QString &_name, bool _manualSwitch, bool _infiniteLoop, + bool _showEndOfPresentationSlide, bool _showPresentationDuration, QPen _pen, + QValueList<bool> _selectedSlides, const QString & _presentationName, + bool _oldManualSwitch, bool _oldInfiniteLoop, + bool _oldShowEndOfPresentationSlide, bool _oldShowPresentationDuration, QPen _oldPen, + QValueList<bool> _oldSelectedSlides, const QString & _oldPresentationName, + KPrDocument *_doc ); + + virtual void execute(); + virtual void unexecute(); + +protected: + bool manualSwitch, oldManualSwitch; + bool infiniteLoop, oldInfiniteLoop; + bool showEndOfPresentationSlide, oldShowEndOfPresentationSlide; + bool showPresentationDuration, oldShowPresentationDuration; + QPen pen, oldPen; + QValueList<bool> selectedSlides, oldSelectedSlides; + QString oldPresentationName, presentationName; + + KPrDocument *doc; +}; + +class KPrTransEffectCmd : public KCommand +{ +public: + struct PageEffectSettings { + PageEffect pageEffect; + EffectSpeed effectSpeed; + bool soundEffect; + QString soundFileName; + bool autoAdvance; + int slideTime; + void applyTo( KPrPage * ); + }; + // TODO also pass a flag to know which settings need to be applied (especially for "all pages") + KPrTransEffectCmd( QValueVector<PageEffectSettings> oldSettings, + PageEffectSettings newSettings, + KPrPage* page, KPrDocument* doc ); + + virtual void execute(); + virtual void unexecute(); + virtual QString name() const; + +private: + void exec( KPrPage* page ); + void unexec( KPrPage* page ); + + QValueVector<PageEffectSettings> m_oldSettings; + PageEffectSettings m_newSettings; + KPrPage *m_page; + KPrDocument *m_doc; +}; + +class KPrPgLayoutCmd : public KNamedCommand +{ +public: + KPrPgLayoutCmd( const QString &_name, KoPageLayout _layout, KoPageLayout _oldLayout, + KoUnit::Unit _oldUnit, KoUnit::Unit _unit,KPrDocument *_doc ); + + virtual void execute(); + virtual void unexecute(); + +protected: + KPrDocument *m_doc; + KoPageLayout layout, oldLayout; + KoUnit::Unit unit, oldUnit; +}; + +class KPrPieValueCmd : public KNamedCommand +{ +public: + struct PieValues + { + PieType pieType; + int pieAngle, pieLength; + }; + + // the flags indicate what has changed + enum PieConfigChange { + Type = 1, + Angle = 2, + Length = 4, + All = Type | Angle | Length + }; + + KPrPieValueCmd( const QString &name, PieValues newValues, + QPtrList<KPrObject> &objects, KPrDocument *doc, + KPrPage *page, int flags = All ); + KPrPieValueCmd( const QString &_name, QPtrList<PieValues> &_oldValues, PieValues _newValues, + QPtrList<KPrObject> &_objects, KPrDocument *_doc, KPrPage *_page, int _flags = All ); + ~KPrPieValueCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + void addObjects( const QPtrList<KPrObject> &objects ); + + KPrDocument *m_doc; + KPrPage *m_page; + QPtrList<PieValues> m_oldValues; + QPtrList<KPrObject> m_objects; + PieValues m_newValues; + int m_flags; +}; + +class KPrPolygonSettingCmd : public KNamedCommand +{ +public: + struct PolygonSettings + { + bool checkConcavePolygon; + int cornersValue; + int sharpnessValue; + }; + + // the flags indicate what has changed + enum PolygonConfigChange { + ConcaveConvex = 1, + Corners = 2, + Sharpness = 4, + All = ConcaveConvex | Corners | Sharpness + }; + + KPrPolygonSettingCmd( const QString &name, PolygonSettings newSettings, + QPtrList<KPrObject> &objects, KPrDocument *doc, + KPrPage *page, int flags = All ); + ~KPrPolygonSettingCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + void addObjects( const QPtrList<KPrObject> &objects ); + + KPrDocument *m_doc; + KPrPage *m_page; + QPtrList<PolygonSettings> m_oldSettings; + QPtrList<KPrObject> m_objects; + PolygonSettings m_newSettings; + int m_flags; +}; + +class KPrPictureSettingCmd : public KNamedCommand +{ +public: + struct PictureSettings + { + PictureMirrorType mirrorType; + int depth; + bool swapRGB; + bool grayscal; + int bright; + }; + + enum PictureConfigChange { + MirrorType = 1, + Depth = 2, + SwapRGB = 4, + Grayscal = 8, + Bright = 16, + All = MirrorType | Depth | SwapRGB | Grayscal | Bright + }; + + KPrPictureSettingCmd( const QString &name, PictureSettings newSettings, + QPtrList<KPrObject> &objects, KPrDocument *doc, + KPrPage *page, int flags = All ); + KPrPictureSettingCmd( const QString &_name, QPtrList<PictureSettings> &_oldSettings, + PictureSettings _newSettings, QPtrList<KPrObject> &_objects, + KPrDocument *_doc, int flags = All ); + ~KPrPictureSettingCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + void addObjects( const QPtrList<KPrObject> &_objects ); + + KPrDocument *m_doc; + QPtrList<PictureSettings> m_oldValues; + QPtrList<KPrObject> m_objects; + PictureSettings m_newSettings; + KPrPage *m_page; + int m_flags; +}; + +class KPrImageEffectCmd : public KNamedCommand +{ +public: + struct ImageEffectSettings + { + ImageEffect effect; + QVariant param1; + QVariant param2; + QVariant param3; + }; + + KPrImageEffectCmd(const QString &_name, QPtrList<ImageEffectSettings> &_oldSettings, + ImageEffectSettings _newSettings, QPtrList<KPrObject> &_objects, + KPrDocument *_doc ); + ~KPrImageEffectCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + KPrDocument *doc; + QPtrList<ImageEffectSettings> oldSettings; + QPtrList<KPrObject> objects; + ImageEffectSettings newSettings; + KPrPage *m_page; + +}; + +class KPrRectValueCmd : public KNamedCommand +{ +public: + struct RectValues + { + int xRnd, yRnd; + }; + + // the flags indicate what has changed + enum RectangleConfigChange { + XRnd = 1, + YRnd = 2, + All = XRnd | YRnd + }; + + KPrRectValueCmd( const QString &_name, QPtrList<RectValues> &_oldValues, RectValues _newValues, + QPtrList<KPrObject> &_objects, KPrDocument *_doc, KPrPage *_page, int _flags = All ); + KPrRectValueCmd( const QString &_name, QPtrList<KPrObject> &_objects, RectValues _newValues, + KPrDocument *_doc, KPrPage *_page, int _flags = All ); + ~KPrRectValueCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + void addObjects( const QPtrList<KPrObject> &_objects ); + + KPrDocument *m_doc; + KPrPage *m_page; + QPtrList<RectValues> m_oldValues; + QPtrList<KPrObject> m_objects; + RectValues m_newValues; + int m_flags; +}; + +class KPrDeletePageCmd : public KNamedCommand +{ +public: + KPrDeletePageCmd( const QString &name, int pageNum, KPrDocument *doc ); + ~KPrDeletePageCmd(); + + virtual void execute(); + virtual void unexecute(); + +protected: + KPrDocument *m_doc; + KPrPage *m_page; + int m_pageNum; +}; + +class KPrInsertPageCmd : public KNamedCommand +{ +public: + KPrInsertPageCmd( const QString &name, int currentPageNum, InsertPos pos, + KPrPage *page, KPrDocument *doc ); + ~KPrInsertPageCmd(); + + virtual void execute(); + virtual void unexecute(); +protected: + KPrDocument *m_doc; + KPrPage *m_page; + int m_currentPageNum; + int m_insertPageNum; +}; + +class KPrMovePageCmd : public KNamedCommand +{ +public: + KPrMovePageCmd( const QString &_name, int from,int to, KPrDocument *_doc ); + ~KPrMovePageCmd(); + + virtual void execute(); + virtual void unexecute(); +protected: + KPrDocument *m_doc; + int m_oldPosition; + int m_newPosition; +}; + +/** + * Command created when pasting oasis-formatted text + */ +class KPrOasisPasteTextCommand : public KoTextDocCommand +{ +public: + KPrOasisPasteTextCommand( KoTextDocument *d, int parag, int idx, + const QByteArray &data ); + KoTextCursor *execute( KoTextCursor *c ); + KoTextCursor *unexecute( KoTextCursor *c ); +protected: + int m_parag; + int m_idx; + QByteArray m_data; + // filled in by execute(), for unexecute() + int m_lastParag; + int m_lastIndex; + KoParagLayout* m_oldParagLayout; +}; + +/** + * Command to change variable setting + */ +class KPrChangeStartingPageCommand : public KNamedCommand +{ +public: + KPrChangeStartingPageCommand( const QString &name, KPrDocument *_doc, + int _oldStartingPage, int _newStartingPage); + ~KPrChangeStartingPageCommand(){} + + void execute(); + void unexecute(); +protected: + KPrDocument *m_doc; + int oldStartingPage; + int newStartingPage; +}; + +/** + * Command to display link setting + */ +class KPrChangeVariableSettingsCommand : public KNamedCommand +{ +public: + enum VariableProperties { VS_DISPLAYLINK, VS_UNDERLINELINK, VS_DISPLAYCOMMENT, VS_DISPLAYFIELDCODE}; + KPrChangeVariableSettingsCommand( const QString &name, KPrDocument *_doc, bool _oldValue, + bool _newValue, VariableProperties _type); + ~KPrChangeVariableSettingsCommand(){} + + void execute(); + void unexecute(); +protected: + void changeValue( bool b ); + KPrDocument *m_doc; + VariableProperties type; + bool m_bOldValue; + bool m_bNewValue; +}; + +/** + * Command to change title page name + */ +class KPrChangeTitlePageNameCommand : public KNamedCommand +{ +public: + KPrChangeTitlePageNameCommand( const QString &name, KPrDocument *_doc, const QString &_oldPageName, + const QString &_newPageName, KPrPage *_page); + ~KPrChangeTitlePageNameCommand(){} + + void execute(); + void unexecute(); +protected: + KPrDocument *m_doc; + QString oldPageName; + QString newPageName; + KPrPage *m_page; +}; + +class KPrChangeCustomVariableValue : public KNamedCommand +{ +public: + KPrChangeCustomVariableValue( const QString &name, KPrDocument *_doc,const QString & _oldValue, + const QString & _newValue, KoCustomVariable *var); + + void execute(); + void unexecute(); +protected: + KPrDocument *m_doc; + QString newValue; + QString oldValue; + KoCustomVariable *m_var; +}; + +class KPrChangeLinkVariable : public KNamedCommand +{ +public: + KPrChangeLinkVariable( const QString &name, KPrDocument *_doc,const QString & _oldHref, + const QString & _newHref, const QString & _oldLink,const QString &_newLink, KoLinkVariable *var); + ~KPrChangeLinkVariable(){}; + void execute(); + void unexecute(); +protected: + KPrDocument *m_doc; + QString oldHref; + QString newHref; + QString oldLink; + QString newLink; + KoLinkVariable *m_var; +}; + + +class KPrNameObjectCommand : public KNamedCommand +{ +public: + KPrNameObjectCommand( const QString &_name, const QString &_objectName, KPrObject *_obj, KPrDocument *_doc ); + ~KPrNameObjectCommand(); + void execute(); + void unexecute(); +protected: + QString oldObjectName, newObjectName; + KPrObject *object; + KPrDocument *doc; + KPrPage *m_page; +}; + +class KPrDisplayObjectFromMasterPage : public KNamedCommand +{ +public: + KPrDisplayObjectFromMasterPage( const QString &name, KPrDocument *_doc, KPrPage *_page, bool _newValue); + ~KPrDisplayObjectFromMasterPage(){}; + void execute(); + void unexecute(); +protected: + KPrDocument *m_doc; + KPrPage *m_page; + bool newValue; +}; + +class KPrDisplayBackgroundPage : public KNamedCommand +{ +public: + KPrDisplayBackgroundPage( const QString &name, KPrDocument *_doc, KPrPage *_page, bool _newValue); + ~KPrDisplayBackgroundPage(){}; + void execute(); + void unexecute(); +protected: + KPrDocument *m_doc; + KPrPage *m_page; + bool newValue; +}; + +class KPrHideShowHeaderFooter : public KNamedCommand +{ +public: + KPrHideShowHeaderFooter( const QString &name, KPrDocument *_doc, KPrPage *_page, bool _newValue,KPrTextObject *_textObject); + ~KPrHideShowHeaderFooter(){}; + void execute(); + void unexecute(); +protected: + KPrDocument *m_doc; + KPrPage *m_page; + KPrTextObject *m_textObject; + bool newValue; +}; + +class KPrFlipObjectCommand : public KNamedCommand +{ +public: + KPrFlipObjectCommand( const QString &name, KPrDocument *_doc, bool _horizontal , + QPtrList<KPrObject> &_objects ); + ~KPrFlipObjectCommand(); + void execute(); + void unexecute(); +protected: + void flipObjects(); + KPrDocument *m_doc; + QPtrList<KPrObject> objects; + bool horizontal; + KPrPage *m_page; +}; + +class KPrGeometryPropertiesCommand : public KNamedCommand +{ +public: + enum KgpType { ProtectSize, KeepRatio}; + KPrGeometryPropertiesCommand( const QString &name, QPtrList<KPrObject> &objects, + bool newValue, KgpType type, KPrDocument *_doc ); + KPrGeometryPropertiesCommand( const QString &name, QValueList<bool> &lst, QPtrList<KPrObject> &objects, + bool newValue, KgpType type, KPrDocument *_doc ); + ~KPrGeometryPropertiesCommand(); + + virtual void execute(); + virtual void unexecute(); + +protected: + QValueList<bool> m_oldValue; + QPtrList<KPrObject> m_objects; + bool m_newValue; + KgpType m_type; + KPrDocument *m_doc; +}; + +class KPrProtectContentCommand : public KNamedCommand +{ +public: + KPrProtectContentCommand( const QString &name, QPtrList<KPrObject> &objects, + bool protectContent, KPrDocument *doc ); + KPrProtectContentCommand( const QString &name, bool protectContent, + KPrTextObject *obj, KPrDocument *doc ); + + ~KPrProtectContentCommand(); + virtual void execute(); + virtual void unexecute(); + +protected: + void addObjects( const QPtrList<KPrObject> &objects ); + + QPtrList<KPrTextObject> m_objects; + bool m_protectContent; + QValueList<bool> m_oldValues; + KPrDocument *m_doc; +}; + +class KPrCloseObjectCommand : public KNamedCommand +{ +public: + KPrCloseObjectCommand( const QString &name, QPtrList<KPrObject> objects, KPrDocument *doc ); + + ~KPrCloseObjectCommand(); + virtual void execute(); + virtual void unexecute(); + +protected: + void closeObject(bool close); + + QPtrList<KPrObject> m_openObjects; + QPtrList<KPrObject> m_closedObjects; + KPrDocument * m_doc; + KPrPage *m_page; +}; + +struct MarginsStruct { + MarginsStruct() {} + MarginsStruct( KPrTextObject *obj ); + MarginsStruct( double _left, double top, double right, double bottom ); + double topMargin; + double bottomMargin; + double leftMargin; + double rightMargin; +}; + +class KPrChangeMarginCommand : public KNamedCommand +{ +public: + KPrChangeMarginCommand( const QString &name, QPtrList<KPrObject> &objects, MarginsStruct newMargins, + KPrDocument *doc, KPrPage *page ); + ~KPrChangeMarginCommand(); + + virtual void execute(); + virtual void unexecute(); +protected: + void addObjects( const QPtrList<KPrObject> &objects ); + QPtrList<MarginsStruct> m_oldMargins; + QPtrList<KPrTextObject> m_objects; + MarginsStruct m_newMargins; + KPrPage *m_page; + KPrDocument *m_doc; +}; + + +class KPrChangeVerticalAlignmentCommand : public KNamedCommand +{ +public: + KPrChangeVerticalAlignmentCommand( const QString &name, KPrTextObject *_obj, VerticalAlignmentType _oldAlign, + VerticalAlignmentType _newAlign, KPrDocument *_doc); + ~KPrChangeVerticalAlignmentCommand() {} + + virtual void execute(); + virtual void unexecute(); +protected: + KPrTextObject *m_obj; + VerticalAlignmentType m_oldAlign; + VerticalAlignmentType m_newAlign; + KPrPage *m_page; + KPrDocument *m_doc; +}; + + +class KPrChangeTabStopValueCommand : public KNamedCommand +{ +public: + KPrChangeTabStopValueCommand( const QString &name, double _oldValue, double _newValue, KPrDocument *_doc); + + ~KPrChangeTabStopValueCommand() {} + + virtual void execute(); + virtual void unexecute(); +protected: + KPrDocument *m_doc; + double m_oldValue; + double m_newValue; +}; + +class KPrChangeVariableNoteText : public KNamedCommand +{ + public: + KPrChangeVariableNoteText( const QString &name, KPrDocument *_doc, const QString &_oldValue,const QString &_newValue, KoNoteVariable *var); + ~KPrChangeVariableNoteText(); + void execute(); + void unexecute(); + protected: + KPrDocument *m_doc; + QString newValue; + QString oldValue; + KoNoteVariable *m_var; +}; + + +#endif |