20#ifndef KWORD_COMMAND_H
21#define KWORD_COMMAND_H
24#include <KoCommandHistory.h>
25#include <KoPageLayout.h>
28#include <KoParagLayout.h>
29#include <KoParagCounter.h>
30#include "KWFrameStyle.h"
31#include <KoTextCommand.h>
32#include "KWVariable.h"
34#include <KoPictureKey.h>
44class KoCustomVariable;
58class KWOasisPasteCommand : public KoTextDocCommand
61 KWOasisPasteCommand( KoTextDocument *d, int parag, int idx,
62 const TQByteArray & data );
63 KoTextCursor *execute( KoTextCursor *c );
64 KoTextCursor *unexecute( KoTextCursor *c );
72 KoParagLayout* m_oldParagLayout;
77 int m_startParagIndex;
81class KWTextDeleteCommand : public KoTextDeleteCommand
84 KWTextDeleteCommand( KoTextDocument *d, int i, int idx, const TQMemArray<KoTextStringChar> &str,
85 const CustomItemsMap & customItemsMap,
86 const TQValueList<KoParagLayout> & oldParagLayouts );
87 KoTextCursor *execute( KoTextCursor *c );
88 KoTextCursor *unexecute( KoTextCursor *c );
89 void createBookmarkList();
91 TQValueList<ParagBookmark> m_listParagBookmark;
103 unsigned int m_iFrameIndex;
110class KWFrameBorderCommand : public KNamedCommand
114 struct FrameBorderTypeStruct {
115 KoBorder::BorderType m_EFrameType;
116 KoBorder m_OldBorder;
119 KWFrameBorderCommand( const TQString &name, TQPtrList<FrameIndex> &_listFrameIndex, TQPtrList<FrameBorderTypeStruct> &_frameTypeBorder, const KoBorder & _newBorder ) ;
120 ~ KWFrameBorderCommand();
126 TQPtrList<FrameIndex> m_indexFrame;
127 TQPtrList<FrameBorderTypeStruct> m_oldBorderFrameType;
128 KoBorder m_newBorder;
134class KWFrameBackGroundColorCommand : public KNamedCommand
137 KWFrameBackGroundColorCommand( const TQString &name, TQPtrList<FrameIndex> &_listFrameIndex, TQPtrList<TQBrush> &_oldBrush, const TQBrush & _newColor ) ;
138 ~KWFrameBackGroundColorCommand();
144 TQPtrList<FrameIndex> m_indexFrame;
145 TQPtrList<TQBrush> m_oldBackGroundColor;
152class KWFrameStyleCommand : public KNamedCommand
155 KWFrameStyleCommand( const TQString &name, KWFrame *_frame, KWFrameStyle *_fs, bool _repaintViews = true );
156 ~ KWFrameStyleCommand() { if (m_oldValues) delete m_oldValues; }
173class KWTableStyleCommand : public KNamedCommand
176 KWTableStyleCommand( const TQString &name, KWFrame *_frame, KWTableStyle *_ts, bool _repaintViews = true );
177 ~ KWTableStyleCommand();
193class KWTableTemplateCommand : public KNamedCommand
196 KWTableTemplateCommand( const TQString &name, KWTableFrameSet *_table, KWTableTemplate *_tt );
197 ~ KWTableTemplateCommand();
204 KWTableTemplate * m_tt;
205 KMacroCommand * m_tableCommands;
208struct FrameResizeStruct {
212 FrameResizeStruct() { }
213 FrameResizeStruct( const KoRect& s1, double min1, const KoRect& s2 )
214 : oldRect(s1), oldMinHeight(min1),
215 newRect( s2), newMinHeight(s2.height()) {
227class KWFrameResizeCommand : public KNamedCommand
230 KWFrameResizeCommand( const TQString &name, const TQValueList<FrameIndex> &frameIndex, const TQValueList<FrameResizeStruct> &frameResize );
231 KWFrameResizeCommand( const TQString &name, FrameIndex frameIndex, const FrameResizeStruct &frameResize );
232 ~KWFrameResizeCommand() {}
238 TQValueList<FrameIndex> m_indexFrame;
239 TQValueList<FrameResizeStruct> m_frameResize;
245class KWFrameChangePictureCommand : public KNamedCommand
248 KWFrameChangePictureCommand( const TQString &name, FrameIndex _frameIndex, const KoPictureKey & _oldFile, const KoPictureKey & _newFile) ;
249 ~KWFrameChangePictureCommand() {}
256 KoPictureKey m_oldKey;
257 KoPictureKey m_newKey;
260struct FrameMoveStruct {
262 FrameMoveStruct( const KoPoint& p1, const KoPoint& p2 )
263 : oldPos(p1), newPos(p2) {
272class KWFrameMoveCommand : public KNamedCommand
275 KWFrameMoveCommand( const TQString &name,
276 const TQValueList<FrameIndex> & _frameIndex,
277 const TQValueList<FrameMoveStruct> & _frameMove );
278 ~KWFrameMoveCommand() {}
282 TQValueList<FrameMoveStruct> & listFrameMoved() { return m_frameMove; }
284 TQValueList<FrameIndex> m_indexFrame;
285 TQValueList<FrameMoveStruct> m_frameMove;
316class KWFramePartMoveCommand : public KNamedCommand
319 KWFramePartMoveCommand( const TQString &name, FrameIndex _frameIndex,FrameResizeStruct _frameMove ) ;
320 ~KWFramePartMoveCommand() {}
324 FrameResizeStruct & listFrameMoved() { return m_frameMove; }
328 FrameResizeStruct m_frameMove;
334class KWFramePartInternalCommand : public KNamedCommand
337 KWFramePartInternalCommand( const TQString &name, KWPartFrameSet *part ) ;
338 ~KWFramePartInternalCommand() {}
350class KWFramePartExternalCommand : public KNamedCommand
353 KWFramePartExternalCommand( const TQString &name, KWPartFrameSet *part ) ;
354 ~KWFramePartExternalCommand() {}
365class KWFrameSetInlineCommand : public KNamedCommand
368 KWFrameSetInlineCommand( const TQString &name, KWFrameSet *frameset,
370 ~KWFrameSetInlineCommand() {}
376 void setValue( bool value );
384struct KWPageLayoutStruct {
385 KWPageLayoutStruct( const KoPageLayout& pgLayout, const KoColumns& cl, const KoKWHeaderFooter& hf )
386 : _pgLayout(pgLayout), _cl(cl), _hf(hf) {
388 KoPageLayout _pgLayout;
390 KoKWHeaderFooter _hf;
396class KWPageLayoutCommand : public KNamedCommand
399 KWPageLayoutCommand( const TQString &name, KWDocument *_doc, KWPageLayoutStruct &_oldLayout, KWPageLayoutStruct &_newLayout);
400 ~KWPageLayoutCommand() {}
406 KWPageLayoutStruct m_oldLayout;
407 KWPageLayoutStruct m_newLayout;
414class KWDeleteFrameCommand : public KNamedCommand
417 KWDeleteFrameCommand( const TQString &name, KWFrame * frame) ;
422 KWDeleteFrameCommand( const FrameIndex &frameIndex) ;
423 ~KWDeleteFrameCommand();
435class KWCreateFrameCommand : public KWDeleteFrameCommand
438 KWCreateFrameCommand( const TQString &name, KWFrame * frame);
439 ~KWCreateFrameCommand() {}
441 void execute() { KWDeleteFrameCommand::unexecute(); }
442 void unexecute() { KWDeleteFrameCommand::execute(); }
448class KWUngroupTableCommand : public KNamedCommand
451 KWUngroupTableCommand( const TQString &name, KWTableFrameSet * _table) ;
452 ~KWUngroupTableCommand() {}
458 TQPtrList<KWFrameSet> m_ListFrame;
464class KWDeleteTableCommand : public KNamedCommand
467 KWDeleteTableCommand( const TQString &name, KWTableFrameSet * _table) ;
468 ~KWDeleteTableCommand() {}
480class KWCreateTableCommand : public KWDeleteTableCommand
484 : KWDeleteTableCommand( name, _table ) {}
485 ~KWCreateTableCommand() {}
487 void execute() { KWDeleteTableCommand::unexecute(); }
488 void unexecute() { KWDeleteTableCommand::execute(); }
494class KWInsertColumnCommand : public KNamedCommand
498 KWInsertColumnCommand( const TQString &name, KWTableFrameSet * _table, int _pos, double _maxRight);
499 ~KWInsertColumnCommand();
506 unsigned int m_colPos;
516class KWInsertRowCommand : public KNamedCommand
519 KWInsertRowCommand( const TQString &name, KWTableFrameSet * _table, int _pos);
520 ~KWInsertRowCommand();
527 unsigned int m_rowPos;
534class KWRemoveRowCommand : public KNamedCommand
537 KWRemoveRowCommand( const TQString &name, KWTableFrameSet * _table, int _pos);
538 ~KWRemoveRowCommand();
551class KWRemoveColumnCommand : public KNamedCommand
554 KWRemoveColumnCommand( const TQString &name, KWTableFrameSet * _table, int _pos);
555 ~KWRemoveColumnCommand();
568class KWSplitCellCommand : public KNamedCommand
571 KWSplitCellCommand( const TQString &name, KWTableFrameSet * _table, unsigned int colBegin, unsigned int rowBegin, unsigned int colEnd, unsigned int rowEnd );
572 ~KWSplitCellCommand() {}
578 unsigned int m_colBegin;
579 unsigned int m_rowBegin;
580 unsigned int m_colEnd;
581 unsigned int m_rowEnd;
582 TQPtrList<KWFrameSet> m_ListFrameSet;
588class KWJoinCellCommand : public KNamedCommand
591 KWJoinCellCommand( const TQString &name, KWTableFrameSet * _table, unsigned int colBegin, unsigned int rowBegin, unsigned int colEnd, unsigned int rowEnd, TQPtrList<KWFrameSet> listFrameSet,TQPtrList<KWFrame> listCopyFrame);
592 ~KWJoinCellCommand();
598 unsigned int m_colBegin;
599 unsigned int m_rowBegin;
600 unsigned int m_colEnd;
601 unsigned int m_rowEnd;
602 TQPtrList<KWFrameSet> m_ListFrameSet;
603 TQPtrList<KWFrame> m_copyFrame;
609class KWChangeStartingPageCommand : public KNamedCommand
612 KWChangeStartingPageCommand( const TQString &name, KWDocument *_doc, int _oldStartingPage, int _newStartingPage);
613 ~KWChangeStartingPageCommand(){}
626class KWChangeVariableSettingsCommand : public KNamedCommand
629 enum VariableProperties { VS_DISPLAYLINK, VS_UNDERLINELINK, VS_DISPLAYCOMMENT, VS_DISPLAYFIELDCODE};
630 KWChangeVariableSettingsCommand( const TQString &name, KWDocument *_doc, bool _oldDisplay, bool _newDisplay, VariableProperties _type);
631 ~KWChangeVariableSettingsCommand(){}
636 void changeValue( bool b );
638 VariableProperties type;
643class KWChangeCustomVariableValue : public KNamedCommand
646 KWChangeCustomVariableValue( const TQString &name, KWDocument *_doc, const TQString & _oldValue, const TQString & _newValue, KoCustomVariable *var);
647 ~KWChangeCustomVariableValue();
654 KoCustomVariable *m_var;
657class KWChangeVariableNoteText : public KNamedCommand
660 KWChangeVariableNoteText( const TQString &name, KWDocument *_doc, const TQString &_oldValue, const TQString &_newValue, KoNoteVariable *var);
661 ~KWChangeVariableNoteText();
668 KoNoteVariable *m_var;
671class KWChangeLinkVariable : public KNamedCommand
674 KWChangeLinkVariable( const TQString &name, KWDocument *_doc, const TQString & _oldHref, const TQString & _newHref, const TQString & _oldLink, const TQString &_newLink, KoLinkVariable *var);
675 ~KWChangeLinkVariable(){};
684 KoLinkVariable *m_var;
687class KWHideShowHeader : public KNamedCommand
690 KWHideShowHeader( const TQString &name, KWDocument *_doc, bool _newValue);
691 ~KWHideShowHeader(){};
699class KWHideShowFooter : public KNamedCommand
702 KWHideShowFooter( const TQString &name, KWDocument *_doc, bool _newValue);
703 ~KWHideShowFooter(){};
712class KWProtectContentCommand : public KNamedCommand
715 KWProtectContentCommand( const TQString &name, KWTextFrameSet*frameset, bool protect );
716 ~KWProtectContentCommand() {}
722 KWTextFrameSet* m_pFrameSet;
726class KWInsertRemovePageCommand : public KCommand
729 enum Command { Insert, Remove };
730 KWInsertRemovePageCommand( KWDocument *_doc, Command cmd, int pgNum);
731 ~KWInsertRemovePageCommand();
732 virtual TQString name() const;
739 TQValueList<KCommand*> childCommands;
741 void doRemove( int pageNumber);
742 void doInsert( int pageNumber);
745 static bool compareIndex( const FrameIndex &index1, const FrameIndex &index2);
748struct FramePaddingStruct {
749 FramePaddingStruct() {}
750 FramePaddingStruct( KWFrame *frame );
751 FramePaddingStruct( double _left, double top, double right, double bottom );
753 double bottomPadding;
758class KWFrameChangeFramePaddingCommand : public KNamedCommand
761 KWFrameChangeFramePaddingCommand( const TQString &name, FrameIndex _frameIndex, FramePaddingStruct _framePaddingBegin, FramePaddingStruct _framePaddingEnd );
762 ~KWFrameChangeFramePaddingCommand() {}
766 FrameIndex m_indexFrame;
767 FramePaddingStruct m_framePaddingBegin;
768 FramePaddingStruct m_framePaddingEnd;
772class KWChangeFootEndNoteSettingsCommand : public KNamedCommand
775 KWChangeFootEndNoteSettingsCommand( const TQString &name, KoParagCounter _oldCounter, KoParagCounter _newCounter , bool _footNote ,KWDocument *_doc );
776 ~KWChangeFootEndNoteSettingsCommand() {}
782 void changeCounter( KoParagCounter counter);
783 KoParagCounter m_oldCounter;
784 KoParagCounter m_newCounter;
789class KWChangeTabStopValueCommand : public KNamedCommand
792 KWChangeTabStopValueCommand( const TQString &name, double _oldValue, double _newValue, KWDocument *_doc);
794 ~KWChangeTabStopValueCommand() {}
796 virtual void execute();
797 virtual void unexecute();
805struct FootNoteParameter {
806 FootNoteParameter() {}
807 FootNoteParameter( KWFootNoteVariable *_var );
808 FootNoteParameter( NoteType _noteType, KWFootNoteVariable::Numbering _numberingType, const TQString &_manualString);
810 KWFootNoteVariable::Numbering numberingType;
811 TQString manualString;
814class KWChangeFootNoteParametersCommand : public KNamedCommand
817 KWChangeFootNoteParametersCommand( const TQString &name, KWFootNoteVariable * _var, FootNoteParameter _oldParameter, FootNoteParameter _newParameter, KWDocument *_doc);
819 ~KWChangeFootNoteParametersCommand() {}
821 virtual void execute();
822 virtual void unexecute();
824 void changeVariableParameter( FootNoteParameter _param );
826 KWFootNoteVariable *m_var;
827 FootNoteParameter m_oldParameter;
828 FootNoteParameter m_newParameter;
832class KWChangeFootNoteLineSeparatorParametersCommand : public KNamedCommand
835 KWChangeFootNoteLineSeparatorParametersCommand( const TQString &name, SeparatorLinePos _oldValuePos, SeparatorLinePos _newValuePos, int _oldLength, int _newLength, double _oldWidth, double _newWidth,SeparatorLineLineType _oldLineType, SeparatorLineLineType _newLineType, KWDocument *_doc);
837 ~KWChangeFootNoteLineSeparatorParametersCommand() {}
839 virtual void execute();
840 virtual void unexecute();
842 void changeLineSeparatorParameter( SeparatorLinePos _pos, int length, double _width, SeparatorLineLineType _type);
844 SeparatorLinePos m_oldValuePos;
845 SeparatorLinePos m_newValuePos;
850 SeparatorLineLineType m_oldLineType;
851 SeparatorLineLineType m_newLineType;
854class KWRenameBookmarkCommand : public KNamedCommand
857 KWRenameBookmarkCommand( const TQString &name, const TQString & _oldname, const TQString & _newName, KWDocument *_doc);
859 ~KWRenameBookmarkCommand() {}
861 virtual void execute();
862 virtual void unexecute();
869class KWResizeColumnCommand : public KNamedCommand
872 KWResizeColumnCommand( KWTableFrameSet *table, int col, double oldSize, double newSize );
874 ~KWResizeColumnCommand() {}
876 virtual void execute();
877 virtual void unexecute();
879 KWTableFrameSet *m_table;
885class KWResizeRowCommand : public KNamedCommand
888 KWResizeRowCommand( KWTableFrameSet *table, int row, double oldSize, double newSize );
890 ~KWResizeRowCommand() {}
892 virtual void execute();
893 virtual void unexecute();
895 KWTableFrameSet *m_table;
KWFramePropertiesCommand(const TQString &name, KWFrame *_frameBefore, KWFrame *_frameAfter) A copy of frameAfter is done internally.
Class: KWFrameSet Base type, a frameset holds content as well as frames to show that content.
Command created when applying a framestyle.
The user-visible style for frames (borders and background).
This class represents a single frame.
A frameset that contains an embedded object (a KWDocumentChild).
"current page number" and "number of pages" variables
This class implements tables by acting as the manager for the frame(set)s which make up the table cel...
Table style (can created/modified/deleted by the user) A table style is simply a paragraph style and ...
RemovedRow and RemovedColumn implement the Memento design pattern.
|