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.
1261 lines
27 KiB
1261 lines
27 KiB
/**********************************************************************
|
|
** 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
|
|
TQ_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 tqgeometry;
|
|
|
|
};
|
|
|
|
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 ¤tItemText, 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 *tqparent, TQWidget *layoutBase,
|
|
const TQWidgetList &wl );
|
|
|
|
void execute();
|
|
void unexecute();
|
|
Type type() const { return LayoutHorizontal; }
|
|
|
|
private:
|
|
HorizontalLayout tqlayout;
|
|
|
|
};
|
|
|
|
class LayoutHorizontalSplitCommand : public Command
|
|
{
|
|
public:
|
|
LayoutHorizontalSplitCommand( const TQString &n, FormWindow *fw,
|
|
TQWidget *tqparent, TQWidget *layoutBase,
|
|
const TQWidgetList &wl );
|
|
|
|
void execute();
|
|
void unexecute();
|
|
Type type() const { return LayoutHorizontalSplitter; }
|
|
|
|
private:
|
|
HorizontalLayout tqlayout;
|
|
|
|
};
|
|
|
|
class LayoutVerticalCommand : public Command
|
|
{
|
|
public:
|
|
LayoutVerticalCommand( const TQString &n, FormWindow *fw,
|
|
TQWidget *tqparent, TQWidget *layoutBase,
|
|
const TQWidgetList &wl );
|
|
|
|
void execute();
|
|
void unexecute();
|
|
Type type() const { return LayoutVertical; }
|
|
|
|
private:
|
|
VerticalLayout tqlayout;
|
|
|
|
};
|
|
|
|
class LayoutVerticalSplitCommand : public Command
|
|
{
|
|
public:
|
|
LayoutVerticalSplitCommand( const TQString &n, FormWindow *fw,
|
|
TQWidget *tqparent, TQWidget *layoutBase,
|
|
const TQWidgetList &wl );
|
|
|
|
void execute();
|
|
void unexecute();
|
|
Type type() const { return LayoutVerticalSplitter; }
|
|
|
|
private:
|
|
VerticalLayout tqlayout;
|
|
|
|
};
|
|
|
|
class LayoutGridCommand : public Command
|
|
{
|
|
public:
|
|
LayoutGridCommand( const TQString &n, FormWindow *fw,
|
|
TQWidget *tqparent, TQWidget *layoutBase,
|
|
const TQWidgetList &wl, int xres, int yres );
|
|
|
|
void execute();
|
|
void unexecute();
|
|
Type type() const { return LayoutGrid; }
|
|
|
|
private:
|
|
GridLayout tqlayout;
|
|
|
|
};
|
|
|
|
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 *tqlayout;
|
|
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
|