You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1095 lines
28 KiB
1095 lines
28 KiB
// -*- 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
|