#include <ModelAPI_Document.h>
#include <ModelAPI_Feature.h>
+#include <ModuleBase_ActionInfo.h>
+
#include <QObject>
#include <QMap>
#include <QKeySequence>
//! the application is started
void applicationStarted();
+ void updateUndoHistory(const QList<ActionInfo>&);
+ void updateRedoHistory(const QList<ActionInfo>&);
+
public slots:
/// Update of commands status
void updateCommandStatus();
+ /// update history list (undo/redo commands)
+ void updateHistory();
+
/// Create a new dokument
void onNew();
void onExit();
/// Undo last command
- void onUndo();
+ void onUndo(int times = 1);
/// Redo previous command
- void onRedo();
+ void onRedo(int times = 1);
/// Rebuild data tree
void onRebuild();
/// Displaus object and fit all viewer if the object is first (update viewer will not be called)
void displayObject(ObjectPtr theObj);
+ //! Extends undo/redo toolbutton's with history menu
+ //! \param theObject - in the OpenParts it is a QToolButton by itself,
+ //! in salome mode - QAction that creates a button.
+ //! \param theSignal - void "updateUndoHistory" or "updateRedoHistory" SIGNAL;
+ //! \param theSlot - onUndo(int) or onRedo(int) SLOT
+ void addHistoryMenu(QObject* theObject, const char* theSignal, const char* theSlot);
+
private:
AppElements_MainWindow* myMainWindow;
ModuleBase_IModule* myModule;