SUPERVGUI_Main(SUPERVGraph_ViewFrame*, QAD_Desktop*, SUPERV_Graph);
virtual ~SUPERVGUI_Main();
- void run();
- void startExecute();
+ void run( const bool andSuspend );
void kill();
void suspendResume();
//void stopRestart();
QString getHashCode()
{ return myHashCode; };
-
+
+ bool isDataflowInStudy() const;
bool isEditable()
{ if (SUPERV_isNull(dataflow)) return false;
return !dataflow->IsReadOnly(); };
- bool isFromStudy() { return myIsFromStudy; }
- void setAsFromStudy(bool theToStudy);
- void checkIsInStudy();
-
void addComputeNode(SUPERV_CNode theNode);
void addControlNode(SUPERV_CNode theStartNode, SUPERV_CNode theEndNode, bool Update);
void addGOTONode(SUPERV_CNode theNode);
bool eventFilter( QObject* o, QEvent* e);
- bool IsGUIEventLoopFinished() const { return myGUIEventLoopFinished; }
-
void Editing(); // any Editing operation is to be performed ->
// activate Editors data model in Engine
+ bool ReadyToModify(); // must be called before any modification
+ // operation - asks to kill execution of dataflow. If returns false -
+ // modification (==Editing() ) is not allowed.
void removeArrayChild(SUPERV::CNode_ptr theNode);
+ GraphViewType getViewType() { return myCurrentView; }
+
signals:
void KillMyThread(bool theValue);
void execute(char * theNodeNode, SUPERV::GraphState theNodeState);
void sync();
void syncAsync();
- bool addStudy();
+ void addDataflowToStudy();
void insertFile();
void addNode();
void changeInformation();
QAD_ObjectBrowser* objectBrowser;
QAD_Message* message;
- GraphViewType myCurrentView;
+ GraphViewType myCurrentView;
SUPERVGUI_CanvasArray* myArray;
SUPERVGUI_ArrayView* myArrayView;
SUPERVGUI_Canvas* myCanvas;
SUPERVGUI_CanvasView* myCanvasView;
- bool choosing;
+ bool choosing;
- QString myHashCode;
+ QString myHashCode;
- bool myIsFromStudy;
- int myCopyNum;
+ bool myIsFromStudy;
+ int myCopyNum;
- SALOME_NamingService* myNService;
- QDateTime myRunTime; // mpv 23.12.2002: we need time of running of dataflow
- // for right Study document modification
+ SALOME_NamingService* myNService;
+ QDateTime myRunTime; // mpv 23.12.2002: we need time of running of dataflow
+ // for correct Study document modification
/* notification data */
- NOTIFICATION_Consumer* notification;
- bool myFiltered;
- bool myLogged;
- QString myLogFileName;
- FILE* myLogFile;
- bool myWarning;
- bool myStep;
- bool myTrace;
- bool myVerbose;
- bool myIsLocked;
-
- SUPERVGUI_Thread* myThread;
+ NOTIFICATION_Consumer* notification;
+ bool myFiltered;
+ bool myLogged;
+ QString myLogFileName;
+ FILE* myLogFile;
+ bool myWarning;
+ bool myStep;
+ bool myTrace;
+ bool myVerbose;
+ bool myIsLocked;
+
+ SUPERVGUI_Thread* myThread;
QPtrList< char * > myEventNodes ;
QPtrList< SUPERV::GraphState > myStates ;
- QTimer* myTimer;
-
- // asv : 18.11.04 : fix for bug 6170 : this field is FALSE when SUPERVGUI_Thread
- // is inside event loop during graph execution. dataflow->IsDone() returns true
- // BEFORE all events are handled (a few of them are still being processed in GUI thread),
- // and for bug 6170 it is neccessary to know exactly when GUI events processing stops..
- bool myGUIEventLoopFinished;
+ QTimer* myTimer;
};
class SUPERVGUI_Thread : public QObject, public QThread {
~SUPERVGUI_Thread();
void startThread(const char* m);
- void stopThread(const char* m);
void setMain(SUPERVGUI_Main* theMain);
public slots: