Salome HOME
merge from branch DEV tag mergeto_trunk_04apr08
[modules/yacs.git] / src / gui / YACSGui_RunMode.h
1 #ifndef _MYRUNMODE_HXX_
2 #define _MYRUNMODE_HXX_
3
4 #include "runmode.h"
5 #include "ComposedNode.hxx"
6 #include "Proc.hxx"
7 #include "define.hxx"
8
9 #include <qlistview.h>
10 #include <list>
11 #include <string>
12 #include <set>
13
14 class YACSGui_ComposedNodeViewItem;
15
16 class YACSGui_Executor;
17
18 class YACSGui_RunMode : public runMode
19 {
20   Q_OBJECT
21
22 public:
23   YACSGui_RunMode(YACSGui_Executor* guiExec,
24                   QWidget* parent = 0,
25                   const char* name = 0,
26                   bool modal = FALSE,
27                   WFlags fl = 0 );
28   ~YACSGui_RunMode();
29
30  public slots:
31   virtual void onResume();
32   virtual void onPause();
33   virtual void onStop();
34   virtual void onModeContinue();
35   virtual void onModeStepByStep();
36   virtual void onModeBreakpoints();
37   virtual void onDismiss();
38   virtual void onStopOnError();
39   virtual void onSaveState();
40   virtual void onAllNextToRun();
41   virtual void onRemoveAllNextToRun();
42   virtual void onBreakpointClicked(QListViewItem *item);
43   virtual void onNextStepClicked(QListViewItem *item);
44
45   virtual void onNotifyStatus(int status);
46   virtual void onNotifyNodeStatus(int nodeId, int status);
47   virtual void onNotifyNextSteps(std::list<std::string> nextSteps);
48
49  protected:
50   void resetTreeNode();
51   void addTreeNode(YACSGui_ComposedNodeViewItem *parent,
52                    YACS::ENGINE::ComposedNode* father);
53
54   YACSGui_Executor* _guiExec;
55   YACS::ENGINE::Proc* _proc;
56   bool _saveState;
57   std::map<int, QListViewItem*> _mapListViewItem;
58   std::map<QCheckListItem*, std::string> _mapNextSteps;
59   std::set<int> _breakpointSet;
60 };
61
62 #endif