summaryrefslogtreecommitdiffstats
path: root/kdevdesigner/designer/command.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdevdesigner/designer/command.h')
-rw-r--r--kdevdesigner/designer/command.h1260
1 files changed, 1260 insertions, 0 deletions
diff --git a/kdevdesigner/designer/command.h b/kdevdesigner/designer/command.h
new file mode 100644
index 00000000..b1c7a2a5
--- /dev/null
+++ b/kdevdesigner/designer/command.h
@@ -0,0 +1,1260 @@
+/**********************************************************************
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
+**
+** This file is part of TQt Designer.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition
+** licenses may use this file in accordance with the TQt Commercial License
+** Agreement provided with the Software.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/gpl/ for GPL licensing information.
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about TQt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef COMMAND_H
+#define COMMAND_H
+
+#include "metadatabase.h"
+#include "layout.h"
+
+#include <tqstring.h>
+#include <tqrect.h>
+#include <tqvaluelist.h>
+#include <tqvariant.h>
+#include <tqobject.h>
+#include <tqlistview.h>
+#include <tqptrlist.h>
+#include <tqmap.h>
+#include <tqiconset.h>
+
+class TQWizard;
+class TQTabWidget;
+class Command;
+class TQWidget;
+class FormWindow;
+class PropertyEditor;
+class TQListBox;
+class TQIconView;
+class TQTable;
+class TQAction;
+class QDesignerToolBar;
+class TQMainWindow;
+class TQTextEdit;
+struct LanguageInterface;
+class TQToolBox;
+
+class MenuBarEditor;
+class MenuBarEditorItem;
+class PopupMenuEditor;
+class PopupMenuEditorItem;
+class ActionEditor;
+
+class Command : public TQt
+{
+public:
+ Command( const TQString &n, FormWindow *fw );
+ virtual ~Command();
+
+ enum Type {
+ Resize,
+ Insert,
+ Move,
+ Delete,
+ SetProperty,
+ LayoutHorizontal,
+ LayoutVertical,
+ LayoutHorizontalSplitter,
+ LayoutVerticalSplitter,
+ LayoutGrid,
+ BreakLayout,
+ Macro,
+ AddTabPage,
+ DeleteTabPage,
+ MoveTabPage,
+ AddWidgetStackPage,
+ DeleteWidgetStackPage,
+ AddWizardPage,
+ DeleteWizardPage,
+ SwapWizardPages,
+ MoveWizardPage,
+ RenameWizardPage,
+ AddConnection,
+ RemoveConnection,
+ Lower,
+ Raise,
+ Paste,
+ TabOrder,
+ PopulateListBox,
+ PopulateIconView,
+ PopulateListView,
+ PopulateMultiLineEdit,
+ PopulateTable,
+ AddActionToToolBar,
+ RemoveActionFromToolBar,
+ AddToolBar,
+ RemoveToolBar,
+ AddFunction,
+ ChangeFunctionAttrib,
+ RemoveFunction,
+ AddVariable,
+ SetVariables,
+ RemoveVariable,
+ EditDefinitions,
+ AddContainerPage,
+ DeleteContainerPage,
+ RenameContainerPage,
+ AddActionToPopup,
+ RemoveActionFromPopup,
+ ExchangeActionInPopup,
+ //MoveActionInPopup,
+ RenameAction,
+ SetActionIcons,
+ AddMenu,
+ RemoveMenu,
+ ExchangeMenu,
+ MoveMenu,
+ RenameMenu,
+ AddToolBoxPage,
+ DeleteToolBoxPage
+ };
+
+ TQString name() const;
+
+ virtual void execute() = 0;
+ virtual void unexecute() = 0;
+ virtual Type type() const = 0;
+ virtual void merge( Command *c );
+ virtual bool canMerge( Command *c );
+
+ FormWindow *formWindow() const;
+
+private:
+ TQString cmdName;
+ FormWindow *formWin;
+
+};
+
+class CommandHistory : public TQObject
+{
+ Q_OBJECT
+
+
+public:
+ CommandHistory( int s );
+
+ void addCommand( Command *cmd, bool tryCompress = FALSE );
+ void undo();
+ void redo();
+
+ void emitUndoRedo();
+
+ void setModified( bool m );
+ bool isModified() const;
+
+public slots:
+ void checkCompressedCommand();
+
+signals:
+ void undoRedoChanged( bool undoAvailable, bool redoAvailable,
+ const TQString &undoCmd, const TQString &redoCmd );
+ void modificationChanged( bool m );
+
+private:
+ TQPtrList<Command> history;
+ int current, steps;
+ bool modified;
+ int savedAt;
+ Command *compressedCommand;
+
+};
+
+class ResizeCommand : public Command
+{
+public:
+ ResizeCommand( const TQString &n, FormWindow *fw,
+ TQWidget *w, const TQRect &oldr, const TQRect &nr );
+
+ void execute();
+ void unexecute();
+ Type type() const { return Resize; }
+
+private:
+ TQWidget *widget;
+ TQRect oldRect, newRect;
+
+};
+
+class InsertCommand : public Command
+{
+public:
+ InsertCommand( const TQString &n, FormWindow *fw, TQWidget *w, const TQRect &g );
+
+ void execute();
+ void unexecute();
+ Type type() const { return Insert; }
+
+private:
+ TQWidget *widget;
+ TQRect geometry;
+
+};
+
+class MoveCommand : public Command
+{
+public:
+ MoveCommand( const TQString &n, FormWindow *fw,
+ const TQWidgetList &w,
+ const TQValueList<TQPoint> op,
+ const TQValueList<TQPoint> np,
+ TQWidget *opr, TQWidget *npr );
+ void execute();
+ void unexecute();
+ Type type() const { return Move; }
+ void merge( Command *c );
+ bool canMerge( Command *c );
+
+private:
+ TQWidgetList widgets;
+ TQValueList<TQPoint> oldPos, newPos;
+ TQWidget *oldParent, *newParent;
+
+};
+
+class DeleteCommand : public Command
+{
+public:
+ DeleteCommand( const TQString &n, FormWindow *fw,
+ const TQWidgetList &w );
+ void execute();
+ void unexecute();
+ Type type() const { return Delete; }
+
+private:
+ TQWidgetList widgets;
+ TQMap< TQWidget*, TQValueList<MetaDataBase::Connection> > connections;
+
+};
+
+class SetPropertyCommand : public Command
+{
+public:
+ SetPropertyCommand( const TQString &n, FormWindow *fw,
+ TQObject *w, PropertyEditor *e,
+ const TQString &pn, const TQVariant &ov,
+ const TQVariant &nv, const TQString &ncut,
+ const TQString &ocut,
+ bool reset = FALSE );
+
+ void execute();
+ void unexecute();
+ Type type() const { return SetProperty; }
+ void merge( Command *c );
+ bool canMerge( Command *c );
+ bool checkProperty();
+
+private:
+ void setProperty( const TQVariant &v, const TQString &currentItemText, bool select = TRUE );
+
+ TQGuardedPtr<TQObject> widget;
+ PropertyEditor *editor;
+ TQString propName;
+ TQVariant oldValue, newValue;
+ TQString oldCurrentItemText, newCurrentItemText;
+ bool wasChanged;
+ bool isResetCommand;
+
+};
+
+class LayoutHorizontalCommand : public Command
+{
+public:
+ LayoutHorizontalCommand( const TQString &n, FormWindow *fw,
+ TQWidget *parent, TQWidget *layoutBase,
+ const TQWidgetList &wl );
+
+ void execute();
+ void unexecute();
+ Type type() const { return LayoutHorizontal; }
+
+private:
+ HorizontalLayout layout;
+
+};
+
+class LayoutHorizontalSplitCommand : public Command
+{
+public:
+ LayoutHorizontalSplitCommand( const TQString &n, FormWindow *fw,
+ TQWidget *parent, TQWidget *layoutBase,
+ const TQWidgetList &wl );
+
+ void execute();
+ void unexecute();
+ Type type() const { return LayoutHorizontalSplitter; }
+
+private:
+ HorizontalLayout layout;
+
+};
+
+class LayoutVerticalCommand : public Command
+{
+public:
+ LayoutVerticalCommand( const TQString &n, FormWindow *fw,
+ TQWidget *parent, TQWidget *layoutBase,
+ const TQWidgetList &wl );
+
+ void execute();
+ void unexecute();
+ Type type() const { return LayoutVertical; }
+
+private:
+ VerticalLayout layout;
+
+};
+
+class LayoutVerticalSplitCommand : public Command
+{
+public:
+ LayoutVerticalSplitCommand( const TQString &n, FormWindow *fw,
+ TQWidget *parent, TQWidget *layoutBase,
+ const TQWidgetList &wl );
+
+ void execute();
+ void unexecute();
+ Type type() const { return LayoutVerticalSplitter; }
+
+private:
+ VerticalLayout layout;
+
+};
+
+class LayoutGridCommand : public Command
+{
+public:
+ LayoutGridCommand( const TQString &n, FormWindow *fw,
+ TQWidget *parent, TQWidget *layoutBase,
+ const TQWidgetList &wl, int xres, int yres );
+
+ void execute();
+ void unexecute();
+ Type type() const { return LayoutGrid; }
+
+private:
+ GridLayout layout;
+
+};
+
+class BreakLayoutCommand : public Command
+{
+public:
+ BreakLayoutCommand( const TQString &n, FormWindow *fw,
+ TQWidget *layoutBase, const TQWidgetList &wl );
+
+ void execute();
+ void unexecute();
+ Type type() const { return BreakLayout; }
+
+private:
+ Layout *layout;
+ int spacing;
+ int margin;
+ TQWidget *lb;
+ TQWidgetList widgets;
+
+};
+
+class MacroCommand : public Command
+{
+public:
+ MacroCommand( const TQString &n, FormWindow *fw,
+ const TQPtrList<Command> &cmds );
+
+ void execute();
+ void unexecute();
+ Type type() const { return Macro; }
+
+private:
+ TQPtrList<Command> commands;
+
+};
+
+class AddTabPageCommand : public Command
+{
+public:
+ AddTabPageCommand( const TQString &n, FormWindow *fw,
+ TQTabWidget *tw, const TQString &label );
+
+ void execute();
+ void unexecute();
+ Type type() const { return AddTabPage; }
+
+private:
+ TQTabWidget *tabWidget;
+ int index;
+ TQWidget *tabPage;
+ TQString tabLabel;
+
+};
+
+class DeleteTabPageCommand : public Command
+{
+public:
+ DeleteTabPageCommand( const TQString &n, FormWindow *fw,
+ TQTabWidget *tw, TQWidget *page );
+
+ void execute();
+ void unexecute();
+ Type type() const { return DeleteTabPage; }
+
+private:
+ TQTabWidget *tabWidget;
+ int index;
+ TQWidget *tabPage;
+ TQString tabLabel;
+
+};
+
+class MoveTabPageCommand : public Command
+{
+public:
+ MoveTabPageCommand(const TQString &n, FormWindow *fw,
+ TQTabWidget *tw, TQWidget *page, const TQString& label, int nIndex, int oIndex );
+
+ void execute();
+ void unexecute();
+ Type type() const { return MoveTabPage; }
+
+private:
+ TQTabWidget *tabWidget;
+ int newIndex, oldIndex;
+ TQWidget *tabPage;
+ TQString tabLabel;
+
+};
+class QDesignerWidgetStack;
+class AddWidgetStackPageCommand : public Command
+{
+public:
+ AddWidgetStackPageCommand( const TQString &n, FormWindow *fw,
+ QDesignerWidgetStack *ws );
+
+ void execute();
+ void unexecute();
+ Type type() const { return AddWidgetStackPage; }
+
+private:
+ QDesignerWidgetStack *widgetStack;
+ int index;
+ TQWidget *stackPage;
+};
+
+class DeleteWidgetStackPageCommand : public Command
+{
+public:
+ DeleteWidgetStackPageCommand( const TQString &n, FormWindow *fw,
+ QDesignerWidgetStack *ws, TQWidget *page );
+
+ void execute();
+ void unexecute();
+ Type type() const { return DeleteWidgetStackPage; }
+
+private:
+ QDesignerWidgetStack *widgetStack;
+ int index;
+ TQWidget *stackPage;
+};
+
+
+
+class AddWizardPageCommand : public Command
+{
+public:
+ AddWizardPageCommand( const TQString &n, FormWindow *fw,
+ TQWizard *w, const TQString &label, int index = -1, bool show = TRUE );
+
+ void execute();
+ void unexecute();
+ Type type() const { return AddWizardPage; }
+
+private:
+ TQWizard *wizard;
+ int index;
+ bool show;
+ TQWidget *page;
+ TQString pageLabel;
+
+};
+
+class DeleteWizardPageCommand : public Command
+{
+public:
+ DeleteWizardPageCommand( const TQString &n, FormWindow *fw,
+ TQWizard *w, int index, bool show = TRUE );
+
+ void execute();
+ void unexecute();
+ Type type() const { return DeleteWizardPage; }
+
+private:
+ TQWizard *wizard;
+ int index;
+ bool show;
+ TQWidget *page;
+ TQString pageLabel;
+
+};
+
+class RenameWizardPageCommand : public Command
+{
+public:
+ RenameWizardPageCommand( const TQString &n, FormWindow *fw,
+ TQWizard *w, int index, const TQString& name );
+
+ void execute();
+ void unexecute();
+ Type type() const { return RenameWizardPage; }
+
+private:
+ TQWizard *wizard;
+ int index;
+ TQWidget *page;
+ TQString label;
+
+};
+
+class SwapWizardPagesCommand : public Command
+{
+public:
+ SwapWizardPagesCommand( const TQString &n, FormWindow *fw,
+ TQWizard *w, int index1, int index2 );
+
+ void execute();
+ void unexecute();
+ Type type() const { return SwapWizardPages; }
+
+private:
+ TQWizard *wizard;
+ int index1, index2;
+
+};
+
+class MoveWizardPageCommand : public Command
+{
+public:
+ MoveWizardPageCommand( const TQString &n, FormWindow *fw,
+ TQWizard *w, int index1, int index2 );
+
+ void execute();
+ void unexecute();
+ Type type() const { return MoveWizardPage; }
+
+private:
+ TQWizard *wizard;
+ int index1, index2;
+
+};
+
+class AddConnectionCommand : public Command
+{
+public:
+ AddConnectionCommand( const TQString &name, FormWindow *fw,
+ MetaDataBase::Connection c );
+
+ void execute();
+ void unexecute();
+ Type type() const { return AddConnection; }
+
+private:
+ MetaDataBase::Connection connection;
+
+};
+
+class RemoveConnectionCommand : public Command
+{
+public:
+ RemoveConnectionCommand( const TQString &name, FormWindow *fw,
+ MetaDataBase::Connection c );
+
+ void execute();
+ void unexecute();
+ Type type() const { return RemoveConnection; }
+
+private:
+ MetaDataBase::Connection connection;
+
+};
+
+
+class AddFunctionCommand : public Command
+{
+public:
+ AddFunctionCommand( const TQString &name, FormWindow *fw, const TQCString &f, const TQString& spec,
+ const TQString &a, const TQString &t, const TQString &l, const TQString &rt );
+
+ void execute();
+ void unexecute();
+ Type type() const { return AddFunction; }
+
+private:
+ TQCString function;
+ TQString specifier;
+ TQString access;
+ TQString functionType;
+ TQString language;
+ TQString returnType;
+};
+
+class ChangeFunctionAttribCommand : public Command
+{
+public:
+ ChangeFunctionAttribCommand( const TQString &name, FormWindow *fw, MetaDataBase::Function f,
+ const TQString &on, const TQString &os, const TQString &oa,
+ const TQString &ot, const TQString &ol, const TQString &ort );
+
+ void execute();
+ void unexecute();
+ Type type() const { return ChangeFunctionAttrib; }
+
+private:
+ TQString oldName, newName;
+ TQString oldSpec, newSpec;
+ TQString oldAccess, newAccess;
+ TQString oldType, newType;
+ TQString oldLang, newLang;
+ TQString oldReturnType, newReturnType;
+};
+
+class RemoveFunctionCommand : public Command
+{
+public:
+ RemoveFunctionCommand( const TQString &name, FormWindow *fw, const TQCString &f, const TQString& spec,
+ const TQString &a, const TQString &t, const TQString &l, const TQString &rt );
+
+ void execute();
+ void unexecute();
+ Type type() const { return RemoveFunction; }
+
+private:
+ TQCString function;
+ TQString specifier;
+ TQString access;
+ TQString functionType;
+ TQString language;
+ TQString returnType;
+};
+
+class AddVariableCommand : public Command
+{
+public:
+ AddVariableCommand( const TQString &name, FormWindow *fw, const TQString &vn, const TQString &a );
+ void execute();
+ void unexecute();
+ Type type() const { return AddVariable; }
+
+private:
+ TQString varName;
+ TQString access;
+};
+
+class SetVariablesCommand : public Command
+{
+public:
+ SetVariablesCommand( const TQString &name, FormWindow *fw, TQValueList<MetaDataBase::Variable> lst );
+ void execute();
+ void unexecute();
+ Type type() const { return SetVariables; }
+
+private:
+ TQValueList<MetaDataBase::Variable> oldList, newList;
+};
+
+class RemoveVariableCommand : public Command
+{
+public:
+ RemoveVariableCommand( const TQString &name, FormWindow *fw, const TQString &vn );
+ void execute();
+ void unexecute();
+ Type type() const { return RemoveVariable; }
+
+private:
+ TQString varName;
+ TQString access;
+};
+
+class EditDefinitionsCommand : public Command
+{
+public:
+ EditDefinitionsCommand( const TQString &name, FormWindow *fw, LanguageInterface *lf,
+ const TQString &n, const TQStringList &l );
+ void execute();
+ void unexecute();
+ Type type() const { return EditDefinitions; }
+
+private:
+ LanguageInterface *lIface;
+ TQString defName;
+ TQStringList newList, oldList;
+};
+
+class LowerCommand : public Command
+{
+public:
+ LowerCommand( const TQString &name, FormWindow *fw, const TQWidgetList &w );
+
+ void execute();
+ void unexecute();
+ Type type() const { return Lower; }
+
+private:
+ TQWidgetList widgets;
+
+};
+
+class RaiseCommand : public Command
+{
+public:
+ RaiseCommand( const TQString &name, FormWindow *fw, const TQWidgetList &w );
+
+ void execute();
+ void unexecute();
+ Type type() const { return Raise; }
+
+private:
+ TQWidgetList widgets;
+
+};
+
+class PasteCommand : public Command
+{
+public:
+ PasteCommand( const TQString &n, FormWindow *fw, const TQWidgetList &w );
+
+ void execute();
+ void unexecute();
+ Type type() const { return Paste; }
+
+private:
+ TQWidgetList widgets;
+
+};
+
+class TabOrderCommand : public Command
+{
+public:
+ TabOrderCommand( const TQString &n, FormWindow *fw, const TQWidgetList &ol, const TQWidgetList &nl );
+
+ void execute();
+ void unexecute();
+ Type type() const { return TabOrder; }
+ void merge( Command *c );
+ bool canMerge( Command *c );
+
+private:
+ TQWidgetList oldOrder, newOrder;
+
+};
+
+class PopulateListBoxCommand : public Command
+{
+public:
+ struct Item
+ {
+ TQString text;
+ TQPixmap pix;
+ TQ_DUMMY_COMPARISON_OPERATOR( Item )
+ };
+
+ PopulateListBoxCommand( const TQString &n, FormWindow *fw,
+ TQListBox *lb, const TQValueList<Item> &items );
+ void execute();
+ void unexecute();
+ Type type() const { return PopulateListBox; }
+
+ bool operator==( const PopulateListBoxCommand & ) const;
+
+private:
+ TQValueList<Item> oldItems, newItems;
+ TQListBox *listbox;
+
+};
+
+class PopulateIconViewCommand : public Command
+{
+public:
+ struct Item
+ {
+ TQString text;
+ TQPixmap pix;
+ TQ_DUMMY_COMPARISON_OPERATOR( Item )
+ };
+
+ PopulateIconViewCommand( const TQString &n, FormWindow *fw,
+ TQIconView *iv, const TQValueList<Item> &items );
+ void execute();
+ void unexecute();
+ Type type() const { return PopulateIconView; }
+
+ bool operator==( const PopulateIconViewCommand & ) const;
+
+private:
+ TQValueList<Item> oldItems, newItems;
+ TQIconView *iconview;
+
+};
+
+class PopulateListViewCommand : public Command
+{
+public:
+ PopulateListViewCommand( const TQString &n, FormWindow *fw,
+ TQListView *lv, TQListView *from );
+ void execute();
+ void unexecute();
+ Type type() const { return PopulateListView; }
+ static void transferItems( TQListView *from, TQListView *to );
+
+ bool operator==( const PopulateListViewCommand & ) const;
+
+private:
+ TQListView *oldItems, *newItems;
+ TQListView *listview;
+
+};
+
+class PopulateMultiLineEditCommand : public Command
+{
+public:
+ PopulateMultiLineEditCommand( const TQString &n, FormWindow *fw,
+ TQTextEdit *mle, const TQString &txt );
+ void execute();
+ void unexecute();
+ Type type() const { return PopulateMultiLineEdit; }
+
+private:
+ TQString newText, oldText;
+ TQTextEdit *mlined;
+ bool wasChanged;
+
+};
+
+class PopulateTableCommand : public Command
+{
+public:
+ struct Row
+ {
+ TQString text;
+ TQPixmap pix;
+ TQ_DUMMY_COMPARISON_OPERATOR( Row )
+ };
+
+ struct Column
+ {
+ TQString text;
+ TQPixmap pix;
+ TQString field;
+ TQ_DUMMY_COMPARISON_OPERATOR( Column )
+ };
+
+ PopulateTableCommand( const TQString &n, FormWindow *fw, TQTable *t,
+ const TQValueList<Row> &rows,
+ const TQValueList<Column> &columns );
+
+ void execute();
+ void unexecute();
+ Type type() const { return PopulateTable; }
+
+private:
+ TQValueList<Row> oldRows, newRows;
+ TQValueList<Column> oldColumns, newColumns;
+ TQTable *table;
+
+};
+
+class AddActionToToolBarCommand : public Command
+{
+public:
+ AddActionToToolBarCommand( const TQString &n, FormWindow *fw,
+ TQAction *a, QDesignerToolBar *tb, int idx );
+
+ void execute();
+ void unexecute();
+ Type type() const { return AddActionToToolBar; }
+
+private:
+ TQAction *action;
+ QDesignerToolBar *toolBar;
+ int index;
+
+};
+
+class RemoveActionFromToolBarCommand : public AddActionToToolBarCommand
+{
+public:
+ RemoveActionFromToolBarCommand( const TQString &n, FormWindow *fw,
+ TQAction *a, QDesignerToolBar *tb, int idx )
+ : AddActionToToolBarCommand( n, fw, a, tb, idx ) {}
+
+ void execute() { AddActionToToolBarCommand::unexecute(); }
+ void unexecute() { AddActionToToolBarCommand::execute(); }
+ Type type() const { return RemoveActionFromToolBar; }
+
+};
+
+// MenuCommands
+
+class AddToolBarCommand : public Command
+{
+public:
+ AddToolBarCommand( const TQString &n, FormWindow *fw, TQMainWindow *mw );
+
+ void execute();
+ void unexecute();
+ Type type() const { return AddToolBar; }
+
+protected:
+ QDesignerToolBar *toolBar;
+ TQMainWindow *mainWindow;
+
+};
+
+class RemoveToolBarCommand : public AddToolBarCommand
+{
+public:
+ RemoveToolBarCommand( const TQString &n, FormWindow *fw, TQMainWindow *mw, QDesignerToolBar *tb )
+ : AddToolBarCommand( n, fw, mw ) { toolBar = tb; }
+
+ void execute() { AddToolBarCommand::unexecute(); }
+ void unexecute() { AddToolBarCommand::execute(); }
+ Type type() const { return RemoveToolBar; }
+
+};
+
+struct TQWidgetContainerInterfacePrivate;
+
+class AddContainerPageCommand : public Command
+{
+public:
+ AddContainerPageCommand( const TQString &n, FormWindow *fw,
+ TQWidget *c, const TQString &label );
+
+ ~AddContainerPageCommand();
+
+ void execute();
+ void unexecute();
+ Type type() const { return AddContainerPage; }
+
+private:
+ TQString wClassName;
+ TQWidget *container;
+ int index;
+ TQString pageLabel;
+ TQWidget *page;
+ TQWidgetContainerInterfacePrivate *wiface;
+
+};
+
+class DeleteContainerPageCommand : public Command
+{
+public:
+ DeleteContainerPageCommand( const TQString &n, FormWindow *fw,
+ TQWidget *container, int index );
+ ~DeleteContainerPageCommand();
+
+ void execute();
+ void unexecute();
+ Type type() const { return DeleteContainerPage; }
+
+private:
+ TQString wClassName;
+ TQWidget *container;
+ int index;
+ TQString pageLabel;
+ TQWidget *page;
+ TQWidgetContainerInterfacePrivate *wiface;
+
+};
+
+class RenameContainerPageCommand : public Command
+{
+public:
+ RenameContainerPageCommand( const TQString &n, FormWindow *fw,
+ TQWidget *container, int index,
+ const TQString &label );
+ ~RenameContainerPageCommand();
+
+ void execute();
+ void unexecute();
+ Type type() const { return RenameContainerPage; }
+
+private:
+ TQString wClassName;
+ TQWidget *container;
+ int index;
+ TQString oldLabel, newLabel;
+ TQWidgetContainerInterfacePrivate *wiface;
+
+};
+
+class AddActionToPopupCommand : public Command
+{
+public:
+ AddActionToPopupCommand( const TQString &n,
+ FormWindow *fw,
+ PopupMenuEditor *m,
+ PopupMenuEditorItem *i,
+ int idx = -1 );
+ void execute();
+ void unexecute();
+ Type type() const { return AddActionToPopup; }
+protected:
+ TQString constructName() const;
+ PopupMenuEditor *menu;
+ PopupMenuEditorItem *item;
+ int index;
+private:
+};
+
+class RemoveActionFromPopupCommand : public AddActionToPopupCommand
+{
+public:
+ RemoveActionFromPopupCommand( const TQString &n,
+ FormWindow *fw,
+ PopupMenuEditor *m,
+ int idx );
+ void execute();
+ void unexecute();
+ Type type() const { return RemoveActionFromPopup; }
+protected:
+private:
+};
+
+class ExchangeActionInPopupCommand : public Command
+{
+public:
+ ExchangeActionInPopupCommand( const TQString &n,
+ FormWindow *fw,
+ PopupMenuEditor *m,
+ int a,
+ int b );
+ void execute();
+ void unexecute();
+ Type type() const { return ExchangeActionInPopup; }
+protected:
+private:
+ PopupMenuEditor *menu;
+ int c;
+ int d;
+};
+/*
+class MoveActionInPopupCommand : public Command
+{
+public:
+ MoveActionInPopupCommand( const TQString &n,
+ FormWindow *fw,
+ PopupMenuEditor *m,
+ int a,
+ int b );
+ void execute();
+ void unexecute();
+ Type type() const { return MoveActionInPopup; }
+protected:
+private:
+ PopupMenuEditor *menu;
+ int from;
+ int to;
+};
+*/
+class ActionCommand : public Command
+{
+public:
+ ActionCommand( const TQString &n,
+ FormWindow *fw,
+ TQAction *a )
+ : Command( n, fw ), action( a ) { }
+ virtual Type type() const = 0;
+protected:
+ ActionEditor *actionEditor();
+ TQAction *action;
+};
+
+class RenameActionCommand : public ActionCommand
+{
+public:
+ RenameActionCommand( const TQString &n,
+ FormWindow *fw,
+ TQAction *a,
+ PopupMenuEditor *m,
+ TQString nm );
+ void execute();
+ void unexecute();
+ Type type() const { return RenameAction; }
+private:
+ PopupMenuEditor *menu;
+ TQString newName;
+ TQString oldName;
+};
+
+class SetActionIconsCommand : public ActionCommand
+{
+public:
+ SetActionIconsCommand( const TQString &n,
+ FormWindow *fw,
+ TQAction *a,
+ PopupMenuEditor *m,
+ TQIconSet &icons );
+ void execute();
+ void unexecute();
+ Type type() const { return SetActionIcons; }
+protected:
+ void updateActionEditorItem();
+private:
+ PopupMenuEditor *menu;
+ TQIconSet newIcons;
+ TQIconSet oldIcons;
+};
+
+class AddMenuCommand : public Command
+{
+public:
+ AddMenuCommand( const TQString &n,
+ FormWindow *fw,
+ MenuBarEditor *b,
+ MenuBarEditorItem *i,
+ int idx = -1 );
+
+ AddMenuCommand( const TQString &n,
+ FormWindow *fw,
+ TQMainWindow *mw,
+ const TQString &nm = "Menu" );
+
+ void execute();
+ void unexecute();
+ Type type() const { return AddMenu; }
+protected:
+ MenuBarEditor *mb;
+ MenuBarEditorItem *item;
+ TQString name;
+ int index;
+private:
+};
+
+class RemoveMenuCommand : public AddMenuCommand
+{
+public:
+ RemoveMenuCommand( const TQString &n,
+ FormWindow *fw,
+ MenuBarEditor *b,
+ int idx );
+ void execute();
+ void unexecute();
+ Type type() const { return RemoveMenu; }
+protected:
+private:
+};
+
+class ExchangeMenuCommand : public Command
+{
+public:
+ ExchangeMenuCommand( const TQString &n,
+ FormWindow *fw,
+ MenuBarEditor *b,
+ int i,
+ int j );
+ void execute();
+ void unexecute();
+ Type type() const { return ExchangeMenu; }
+protected:
+private:
+ MenuBarEditor *bar;
+ int k;
+ int l;
+};
+
+
+class MoveMenuCommand : public Command
+{
+public:
+ MoveMenuCommand( const TQString &n,
+ FormWindow *fw,
+ MenuBarEditor *b,
+ int i,
+ int j );
+ void execute();
+ void unexecute();
+ Type type() const { return MoveMenu; }
+protected:
+private:
+ MenuBarEditor *bar;
+ int from;
+ int to;
+};
+
+class RenameMenuCommand : public Command
+{
+public:
+ RenameMenuCommand( const TQString &n,
+ FormWindow *fw,
+ MenuBarEditor *m,
+ TQString nm,
+ MenuBarEditorItem *i );
+ void execute();
+ void unexecute();
+ Type type() const { return RenameMenu; }
+ static TQString makeLegal( const TQString &str );
+private:
+ MenuBarEditor *bar;
+ MenuBarEditorItem *item;
+ TQString newName;
+ TQString oldName;
+};
+
+class AddToolBoxPageCommand : public Command
+{
+public:
+ AddToolBoxPageCommand( const TQString &n, FormWindow *fw,
+ TQToolBox *tw, const TQString &label );
+
+ void execute();
+ void unexecute();
+ Type type() const { return AddToolBoxPage; }
+
+private:
+ TQToolBox *toolBox;
+ int index;
+ TQWidget *toolBoxPage;
+ TQString toolBoxLabel;
+
+};
+
+class DeleteToolBoxPageCommand : public Command
+{
+public:
+ DeleteToolBoxPageCommand( const TQString &n, FormWindow *fw,
+ TQToolBox *tw, TQWidget *page );
+
+ void execute();
+ void unexecute();
+ Type type() const { return DeleteToolBoxPage; }
+
+private:
+ TQToolBox *toolBox;
+ int index;
+ TQWidget *toolBoxPage;
+ TQString toolBoxLabel;
+
+};
+
+#endif