#include "SUPERVGUI_Notification.h"
#include "SALOMEGUI_ImportOperation.h"
#include "SUPERVGUI_Information.h"
-
+#include "SUPERVGUI_CanvasControlNode.h"
+#include <qvalidator.h>
SUPERVGUI_Main::SUPERVGUI_Main(SUPERVGraph_ViewFrame* theParent, QAD_Desktop* theDesktop, bool fromIOR)
: SUPERVGraph_View(theParent),
myIsKilled = false;
//myIsRunned = false;
- myCurrentView = GRAPH;
+ myCurrentView = CANVAS;
+ // myCurrentView = GRAPH;
myIsFromStudy = false;
+ myLastGraph = 0;
study = theDesktop->getActiveStudy();
SALOMEDS::Study_var studyDoc = study->getStudyDocument();
graph = new SUPERVGUI_Graph(this);
+ graph->hide();
array = new SUPERVGUI_Array(this);
+
+ myCanvas = new SUPERVGUI_Canvas(this);
+ myCanvasView = new SUPERVGUI_CanvasView(myCanvas, this);
message = study->getActiveStudyFrame()->getRightFrame()->getMessage();
notification = new NOTIFICATION_Consumer();
layout->setSpacing(0);
layout->addWidget(graph);
layout->addWidget(array);
+ layout->addWidget(myCanvasView);
+ if (myCurrentView == CANVAS || myCurrentView == CONTROLFLOW) {
+ myCanvas->merge();
+ }
sync();
show();
if ( myLogged && !myLogFileName.isEmpty() && QFile::exists( myLogFileName ) ) {
}
SUPERVGUI_Main::~SUPERVGUI_Main() {
+//cout << "===> SUPERVGUI_Main::~SUPERVGUI_Main() " << endl;
Trace("SUPERVGUI_Main::~SUPERVGUI_Main");
+
+ // close all opened SubGraphs
+ QMap<QString, QAD_StudyFrame*>::iterator it;
+ for (it = mySubGraphs.begin(); it != mySubGraphs.end(); ++it) {
+ it.data()->removeEventFilter(this);
+ it.data()->close();
+ }
+ mySubGraphs.clear();
+ mySubGraphMap.clear();
+ /*
+ QAD_StudyFrame* aSubGraph;
+ for (aSubGraph = mySubGraphs.first(); aSubGraph; aSubGraph = mySubGraphs.next()) {
+ aSubGraph->removeEventFilter(this);
+ aSubGraph->close();
+ }
+ */
+
if ( myLogFile != NULL) {
fclose( myLogFile );
}
graph->removeLinks();
- delete notification; // kloss : nota bene : quand un datalow est detruit : verifier que les canaux de notification sont aussi detruit
+ delete myCanvas;
+ // delete notification; // kloss : nota bene : quand un datalow est detruit : verifier que les canaux de notification sont aussi detruit
+ notification->_remove_ref(); // kloss : nota bene : quand un datalow est detruit : verifier que les canaux de notification sont aussi detruit
if (!SUPERV_isNull(dataflow)) {
if (dataflow->IsExecuting()) {
if (QMessageBox::warning(QAD_Application::getDesktop(),
* Called by thread when dataflow is executing
*/
void SUPERVGUI_Main::execute(char * theNodeName, SUPERV::GraphState theNodeState) {
-
- SUPERVGUI_Node* aNodePrs;
- SUPERVGUI_GraphNode* aGraphNodePrs;
- if (myCurrentView == TABLE) {
- aNodePrs = (SUPERVGUI_Node*) array->child(theNodeName, "SUPERVGUI_Node");
- aGraphNodePrs = (SUPERVGUI_GraphNode*) array->child(theNodeName, "SUPERVGUI_GraphNode");
- } else {
- aNodePrs = (SUPERVGUI_Node*) graph->child(theNodeName, "SUPERVGUI_Node");
- aGraphNodePrs = (SUPERVGUI_GraphNode*) graph->child(theNodeName, "SUPERVGUI_GraphNode");
- }
- if (aGraphNodePrs) {
- aGraphNodePrs->sync();
+ if (myCurrentView == CANVAS || myCurrentView == CONTROLFLOW) {
+ SUPERVGUI_CanvasNode* aNode = (SUPERVGUI_CanvasNode*) myCanvas->child(theNodeName, "SUPERVGUI_CanvasNode");
+ if (aNode) aNode->sync();
}
- else if (aNodePrs) {
- //aNodePrs->sync();
- aNodePrs->syncOnEvent(theNodeState);
+ else {
+ SUPERVGUI_Node* aNodePrs;
+ SUPERVGUI_GraphNode* aGraphNodePrs;
+ if (myCurrentView == TABLE) {
+ aNodePrs = (SUPERVGUI_Node*) array->child(theNodeName, "SUPERVGUI_Node");
+ aGraphNodePrs = (SUPERVGUI_GraphNode*) array->child(theNodeName, "SUPERVGUI_GraphNode");
+ } else {
+ aNodePrs = (SUPERVGUI_Node*) graph->child(theNodeName, "SUPERVGUI_Node");
+ aGraphNodePrs = (SUPERVGUI_GraphNode*) graph->child(theNodeName, "SUPERVGUI_GraphNode");
+ }
+ if (aGraphNodePrs) {
+ aGraphNodePrs->sync();
+ }
+ else if (aNodePrs) {
+ //aNodePrs->sync();
+ aNodePrs->syncOnEvent(theNodeState);
+ }
}
}
-
void SUPERVGUI_Main::sync() {
Trace("SUPERVGUI_Main::sync")
if ((SUPERV_isNull(dataflow))) return;
study->updateObjBrowser();
if (myCurrentView == TABLE) {
- array->sync();
+ array->sync();
+ } else if (myCurrentView == GRAPH) {
+ graph->sync();
} else {
- graph->sync();
+ myCanvas->sync();
+ myCanvas->update();
}
}
if (myCurrentView == TABLE) return;
if (array->create()) {
+ if (myCurrentView == GRAPH)
+ graph->hide();
+ else
+ myCanvasView->hide();
myCurrentView = TABLE;
- graph->hide();
}
sync();
}
array->destroy();
graph->show();
}
+ else if (myCurrentView != GRAPH) { // (myCurrentView == CANVAS) {
+ myCanvasView->hide();
+ graph->show();
+ }
myCurrentView = GRAPH;
graph->sync();
graph->setFullView();
void SUPERVGUI_Main::showContolFlow() {
+ bool merge = false;
if (myCurrentView == TABLE) {
array->destroy();
- graph->show();
+ merge = true;
+ }
+ else if (myCurrentView == GRAPH) {
+ graph->hide();
+ merge = true;
}
myCurrentView = CONTROLFLOW;
- graph->sync();
- graph->setControlView();
+ myCanvas->setControlView();
+ if (merge) {
+ myCanvas->merge();
+ myCanvasView->show();
+ }
+}
+
+void SUPERVGUI_Main::showCanvas() {
+ if (myCurrentView == CANVAS) return;
+
+ bool merge = false;
+ if (myCurrentView == TABLE) {
+ array->destroy();
+ merge = true;
+ }
+ else if (myCurrentView == GRAPH) {
+ graph->hide();
+ merge = true;
+ }
+ myCurrentView = CANVAS;
+ myCanvas->setFullView();
+ if (merge) {
+ myCanvas->merge();
+ myCanvasView->show();
+ }
}
array->destroy();
array->create();
}
+ else if (myCurrentView != GRAPH) { // (myCurrentView == CANVAS) {
+ myCanvas->merge();
+ }
sync();
} else {
QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_BAD_FILE").arg(f));
SUPERVGraph_ViewFrame* aViewFrame = dynamic_cast<SUPERVGraph_ViewFrame*>
(aStudyFrame->getRightFrame()->getViewFrame());
if(aViewFrame){
- SUPERV_Graph aNewGraph = dataflow->StreamCopy();
+ SUPERV_Graph aNewGraph; // = dataflow->StreamCopy();
+ if (dataflow->IsStreamGraph()) {
+ SUPERV_StreamGraph aSGraph = dataflow->ToStreamGraph();
+ if (SUPERV_isNull(aSGraph)) {
+ QMessageBox::warning(QAD_Application::getDesktop(), tr("WARNING"), tr("MSG_CANT_COPY"));
+ return;
+ }
+ aNewGraph = aSGraph->StreamCopy();
+ }
+ else {
+ aNewGraph = dataflow->Copy();
+ }
QString aNewName(tr("MSG_COPY_PREFIX").arg(++myCopyNum));
aNewName += dataflow->Name();
aNewGraph->SetName(aNewName);
}
}
+void SUPERVGUI_Main::openSubGraph(SUPERV_CNode theNode, bool correct)
+{
+ //cout << "===> SUPERVGUI_Main::openSubGraph(" << theNode->Name() << ")" << endl;
+ //cout << " macro node : " << theNode->IsMacro() << ", " << theNode->IsFlowMacro() << ", " << theNode->IsStreamMacro() << endl;
+ if (theNode->IsMacro()) {
+ // get SubGraph from MacroNode
+ SUPERV_Graph aMacro = SUPERV::Graph::_narrow(theNode);
+ SUPERV_Graph aGraph;
+ if (aMacro->IsStreamMacro())
+ aGraph = aMacro->StreamObjRef();
+ else
+ aGraph = aMacro->FlowObjRef();
+
+ // display SubGraph
+ if (SUPERV_isNull(aGraph)) {
+ QMessageBox::warning(QAD_Application::getDesktop(), tr("WARNING"), tr("MSG_NOACCESS"));
+ return;
+ }
+ else {
+ QString aGraphName = aGraph->Name();
+ QAD_StudyFrame* aStudyFrame;
+ if (mySubGraphs.contains(aGraphName)) {
+ //cout << " activate already opened dataflow " << aGraphName << endl;
+ aStudyFrame = mySubGraphs[aGraphName];
+ aStudyFrame->setActiveWindow();
+ aStudyFrame->setFocus();
+ }
+ else {
+ aStudyFrame = Supervision.createGraph();
+ if (aStudyFrame) {
+ SUPERVGraph_ViewFrame* aViewFrame = dynamic_cast<SUPERVGraph_ViewFrame*>
+ (aStudyFrame->getRightFrame()->getViewFrame());
+ if(aViewFrame) {
+ SUPERVGUI_Main* m = new SUPERVGUI_Main(aViewFrame,
+ Supervision.getDesktop(),
+ aGraph);
+ // connect(aStudyFrame, SIGNAL(sfStudyFrameClosing(QAD_StudyFrame*)),
+ // this, SLOT(onSubGraphClosed(QAD_StudyFrame*)));
+ connect(aStudyFrame, SIGNAL(sfStudyFrameActivated(QAD_StudyFrame*)),
+ this, SLOT(onSubGraphActivated(QAD_StudyFrame*)));
+ aStudyFrame->installEventFilter(this);
+
+ mySubGraphs.insert(aGraphName, aStudyFrame);
+ mySubGraphMap.insert(aGraphName, theNode->Name());
+
+ }
+ }
+ }
+ study->showFrame(aStudyFrame);
+ if (!correct) myLastGraph = aStudyFrame;
+ }
+ }
+}
+
+bool SUPERVGUI_Main::eventFilter( QObject* o, QEvent* e)
+{
+ // workaround to get close event
+ if (o->inherits("QAD_StudyFrame") && e->type() == QEvent::Close) {
+ QAD_StudyFrame* aFrame = (QAD_StudyFrame*) o;
+ onSubGraphClosed(aFrame);
+ }
+ return SUPERVGraph_View::eventFilter(o, e);
+}
+
+// workaround to fix PAL6255 -> opened SubGraph is not on top
+void SUPERVGUI_Main::onSubGraphActivated(QAD_StudyFrame* theStudyFrame)
+{
+ if (myLastGraph) {
+ QAD_StudyFrame* aFrame = myLastGraph;
+ myLastGraph = 0;
+ aFrame->setActiveWindow();
+ aFrame->setFocus();
+ }
+}
+
+void SUPERVGUI_Main::onSubGraphClosed(QAD_StudyFrame* theStudyFrame)
+{
+ QAD_ViewFrame* viewFrame = theStudyFrame->getRightFrame()->getViewFrame();
+ if(SUPERVGraph_ViewFrame* supervFrame = dynamic_cast<SUPERVGraph_ViewFrame*>(viewFrame)){
+ theStudyFrame->removeEventFilter(this);
+ disconnect(theStudyFrame, 0, this, 0);
+
+ SUPERVGraph_View* view = supervFrame->getViewWidget();
+ SUPERVGUI_Main* aGraph = dynamic_cast<SUPERVGUI_Main*>(view);
+ if (aGraph) {
+ QString aGraphName = aGraph->getDataflow()->Name();
+ QMap<QString, QString>::iterator it = mySubGraphMap.find(aGraphName);
+ if (it != mySubGraphMap.end()) {
+ QString aNodeName = it.data();
+ SUPERVGUI_CanvasNode* aNode = (SUPERVGUI_CanvasNode*)
+ myCanvas->child(aNodeName, "SUPERVGUI_CanvasNode");
+ if (aNode) {
+ aNode->merge();
+ myCanvas->update();
+ }
+ mySubGraphMap.remove(it);
+ }
+ mySubGraphs.remove(aGraphName);
+ }
+ }
+}
+
void SUPERVGUI_Main::run() {
Trace("SUPERVGUI_Main::run")
if ((SUPERV_isNull(dataflow))) return;
QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_DF_NOTVALID"));
} else if (!dataflow->IsExecutable()) {
QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_DF_NOTEXECUTABLE"));
- } else if (graph->isAnyLinkCreating()) {
+ } else if (graph->isAnyLinkCreating() || myCanvasView->isAnyLinkCreating()) {
QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_CRL_NOTCOMPLETE"));
} else {
myRunTime = QDateTime::currentDateTime();
QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_DF_NOTVALID"));
} else if (!dataflow->IsExecutable()) {
QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_DF_NOTEXECUTABLE"));
- } else if (graph->isAnyLinkCreating()) {
+ } else if (graph->isAnyLinkCreating() || myCanvasView->isAnyLinkCreating()) {
QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_CRL_NOTCOMPLETE"));
} else {
myRunTime = QDateTime::currentDateTime();
Supervision.getBrowser()->choose();
}
-
-
/**
* Add Computation node
*/
aNode->sync();
}
break;
- case CONTROLFLOW:
- {
- SUPERVGUI_Node* aNode = new SUPERVGUI_ComputeNode(graph->viewport(), this, theNode);
- aNode->hideAll();
- graph->ResizeGraph(aNode, theNode->X(), theNode->Y());
- graph->addChild(aNode, theNode->X(), theNode->Y());
- aNode->sync();
- }
- break;
case TABLE:
array->destroy();
array->create();
break;
+ case CANVAS:
+ case CONTROLFLOW:
+ {
+ SUPERVGUI_CanvasNode* aNode = new SUPERVGUI_CanvasComputeNode(myCanvas, this, theNode);
+ aNode->move(theNode->X(), theNode->Y());
+ if (myCurrentView == CONTROLFLOW) aNode->hideAll();
+ aNode->show();
+ myCanvas->update();
+ }
+ break;
}
}
aNode->sync();
}
break;
- case CONTROLFLOW:
- {
- SUPERVGUI_Node* aNode = new SUPERVGUI_GotoNode(graph->viewport(), this, theNode);
- aNode->hideAll();
- graph->ResizeGraph(aNode, theNode->X(), theNode->Y());
- graph->addChild(aNode, theNode->X(), theNode->Y());
- aNode->sync();
- }
- break;
case TABLE:
array->destroy();
array->create();
break;
+ case CANVAS:
+ case CONTROLFLOW:
+ {
+ SUPERVGUI_CanvasNode* aNode = new SUPERVGUI_CanvasGotoNode(myCanvas, this, theNode);
+ aNode->move(theNode->X(), theNode->Y());
+ if (myCurrentView == CONTROLFLOW) aNode->hideAll();
+ aNode->show();
+ myCanvas->update();
+ }
+ break;
}
}
graph->repaintContents();
}
break;
+ case TABLE:
+ array->destroy();
+ array->create();
+ break;
+ case CANVAS:
case CONTROLFLOW:
{
- SUPERVGUI_StartControlNode* aStartPrs =
- new SUPERVGUI_StartControlNode(graph->viewport(), this, theStartNode);
- SUPERVGUI_EndControlNode* aEndPrs =
- new SUPERVGUI_EndControlNode(graph->viewport(), this, theEndNode, aStartPrs);
-
- aStartPrs->hideAll();
- aEndPrs->hideAll();
-
- graph->ResizeGraph(aStartPrs, theStartNode->X(), theStartNode->Y());
- graph->addChild(aStartPrs, theStartNode->X(), theStartNode->Y());
- graph->ResizeGraph(aEndPrs, theEndNode->X(), theEndNode->Y());
- graph->addChild(aEndPrs, theEndNode->X(), theEndNode->Y());
- if (Update) {
- aStartPrs->updateLinksPrs();
- aEndPrs->updateLinksPrs();
- }
- aStartPrs->sync();
- aEndPrs->sync();
- graph->repaintContents();
+ SUPERVGUI_CanvasStartNode* aStartNode = new SUPERVGUI_CanvasStartNode(myCanvas, this, theStartNode);
+ aStartNode->move(theStartNode->X(), theStartNode->Y());
+ if (myCurrentView == CONTROLFLOW) aStartNode->hideAll();
+
+ SUPERVGUI_CanvasEndNode* aEndNode = new SUPERVGUI_CanvasEndNode(myCanvas, this, theEndNode, aStartNode);
+ aEndNode->move(theEndNode->X(), theEndNode->Y());
+ if (myCurrentView == CONTROLFLOW) aEndNode->hideAll();
+
+ aStartNode->show();
+ aEndNode->show();
+ myCanvas->update();
+ }
+ break;
+ }
+}
+
+
+/**
+ * Add Macro node
+ */
+void SUPERVGUI_Main::addMacroNode(SUPERV_CNode theNode) {
+ //cout<<"### X="<<theNode->X()<<" Y="<<theNode->Y()<<endl;
+ switch (myCurrentView) {
+ case GRAPH:
+ {
+ SUPERVGUI_Node* aNode = new SUPERVGUI_ComputeNode(graph->viewport(), this, theNode);
+ graph->ResizeGraph(aNode, theNode->X(), theNode->Y());
+ graph->addChild(aNode, theNode->X(), theNode->Y());
+ aNode->sync();
}
break;
case TABLE:
array->destroy();
array->create();
break;
+ case CANVAS:
+ case CONTROLFLOW:
+ {
+ SUPERVGUI_CanvasNode* aNode = new SUPERVGUI_CanvasMacroNode(myCanvas, this, theNode);
+ aNode->move(theNode->X(), theNode->Y());
+ if (myCurrentView == CONTROLFLOW) aNode->hideAll();
+ aNode->show();
+ myCanvas->update();
+ }
+ break;
}
}
-
SUPERVGUI_Graph* SUPERVGUI_Main::getGraph() {
Trace("SUPERVGUI_Main::getGraph")
return(graph);
return(array);
}
+SUPERVGUI_Canvas* SUPERVGUI_Main::getCanvas() {
+ Trace("SUPERVGUI_Main::getCanvas")
+ return(myCanvas);
+}
+
+SUPERVGUI_CanvasView* SUPERVGUI_Main::getCanvasView() {
+ Trace("SUPERVGUI_Main::getCanvasView")
+ return(myCanvasView);
+}
+
SUPERV_Graph SUPERVGUI_Main::getDataflow() {
Trace("SUPERVGUI_Main::getDataflow")
return(dataflow);
graph->ActivatePanning();
} else if (array->isVisible()) {
array->ActivatePanning();
+ } else if (myCanvasView->isVisible()) {
+ myCanvasView->ActivatePanning();
}
}
graph->ResetView();
} else if (array->isVisible()) {
array->ResetView();
+ } else if (myCanvasView->isVisible()) {
+ myCanvasView->ResetView();
}
}
myIsFromStudy = theToStudy;
graph->setAsFromStudy(theToStudy);
array->setAsFromStudy(theToStudy);
+ myCanvas->setAsFromStudy(theToStudy);
}
void SUPERVGUI_Main::checkIsInStudy() {
void SUPERVGUI_Main::setPaletteBackgroundColor(const QColor& color) {
array->setPaletteBackgroundColor(color);
graph->setPaletteBackgroundColor(color);
+ myCanvas->setBackgroundColor(color);
+ myCanvasView->setPaletteBackgroundColor(color.light());
SUPERVGraph_View::setPaletteBackgroundColor(color);
}
QThread::exit();
}
+/******************************* SUPERVGUI_DSGraphParameters class ****************************************/
+/*!
+ Constructor
+*/
+SUPERVGUI_DSGraphParameters::SUPERVGUI_DSGraphParameters(SUPERV_Graph theGraph, bool isReadOnly)
+ : QDialog( QAD_Application::getDesktop(), "", true, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu )
+{
+ Trace("SUPERVGUI_DSGraphParameters::SUPERVGUI_DSGraphParameters");
+ setCaption( tr( "TLT_DSGRAPHPARAMS" ) );
+ setSizeGripEnabled( true );
+ myGraph = theGraph;
+
+ QGridLayout* TopLayout = new QGridLayout( this );
+ TopLayout->setSpacing( 6 );
+ TopLayout->setMargin( 11 );
+
+ QGroupBox* TopGroup = new QGroupBox( this, "TopGroup" );
+ TopGroup->setColumnLayout(0, Qt::Vertical );
+ TopGroup->layout()->setSpacing( 0 );
+ TopGroup->layout()->setMargin( 0 );
+ QGridLayout* TopGroupLayout = new QGridLayout( TopGroup->layout() );
+ TopGroupLayout->setAlignment( Qt::AlignTop );
+ TopGroupLayout->setSpacing( 6 );
+ TopGroupLayout->setMargin( 11 );
+
+ // DeltaTime
+ QLabel* DeltaTimeL = new QLabel( tr( "DELTATIME_LBL" ), TopGroup );
+ TopGroupLayout->addWidget( DeltaTimeL, 0, 0 );
+
+ myDeltaTime = new QAD_SpinBoxDbl( TopGroup, 0.0, 1.0, 0.1);
+ myDeltaTime->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+ TopGroupLayout->addWidget( myDeltaTime, 0, 1 );
+
+ // TimeOut
+ QLabel* TimeOutL = new QLabel( tr( "TIMEOUT_LBL" ), TopGroup);
+ TopGroupLayout->addWidget( TimeOutL, 1, 0 );
+
+ myTimeOut = new QLineEdit( TopGroup );
+ myTimeOut->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+ myTimeOut->setValidator( new QIntValidator(this) );
+ myTimeOut->setMinimumSize( 100, 0 );
+ myTimeOut->setReadOnly( isReadOnly );
+ TopGroupLayout->addWidget( myTimeOut, 1, 1 );
+
+ // DataStreamTrace
+ QLabel* DataStreamTraceL = new QLabel( tr( "DATASTREAMTRACE_LBL" ), TopGroup);
+ TopGroupLayout->addWidget( DataStreamTraceL, 2, 0 );
+
+ myDataStreamTrace = new QComboBox( TopGroup );
+ myDataStreamTrace->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+ myDataStreamTrace->insertItem("WithoutTrace");
+ myDataStreamTrace->insertItem("SummaryTrace");
+ myDataStreamTrace->insertItem("DetailedTrace");
+ TopGroupLayout->addWidget( myDataStreamTrace, 2, 1 );
+
+ QGroupBox* GroupButtons = new QGroupBox( this, "GroupButtons" );
+ GroupButtons->setColumnLayout(0, Qt::Vertical );
+ GroupButtons->layout()->setSpacing( 0 );
+ GroupButtons->layout()->setMargin( 0 );
+ QGridLayout* GroupButtonsLayout = new QGridLayout( GroupButtons->layout() );
+ GroupButtonsLayout->setAlignment( Qt::AlignTop );
+ GroupButtonsLayout->setSpacing( 6 );
+ GroupButtonsLayout->setMargin( 11 );
+
+ QPushButton* okB = new QPushButton( tr( "BUT_OK" ), GroupButtons );
+ QPushButton* cancelB = new QPushButton( tr( "BUT_CANCEL" ), GroupButtons );
+
+ GroupButtonsLayout->addWidget( okB, 0, 0 );
+ GroupButtonsLayout->addItem ( new QSpacerItem( 5, 5, QSizePolicy::Expanding, QSizePolicy::Minimum ), 0, 1 );
+ GroupButtonsLayout->addWidget( cancelB, 0, 2 );
+
+ TopLayout->addWidget( TopGroup, 0, 0 );
+ TopLayout->addWidget( GroupButtons, 1, 0 );
+
+ connect( okB, SIGNAL( clicked() ), this, SLOT( accept() ) );
+ connect( cancelB, SIGNAL( clicked() ), this, SLOT( reject() ) );
+
+ setData();
+}
+
+/*!
+ Destructor
+*/
+SUPERVGUI_DSGraphParameters::~SUPERVGUI_DSGraphParameters() {
+ Trace("SUPERVGUI_DSGraphParameters::~SUPERVGUI_DSGraphParameters");
+}
+
+/*!
+ Sets data function
+*/
+void SUPERVGUI_DSGraphParameters::setData() {
+ double aDeltaTime;
+ long aTimeOut;
+ SUPERV::KindOfDataStreamTrace aDataStreamTrace;
+
+// myGraph->StreamParams(aTimeOut, aDataStreamTrace, aDeltaTime);
+ if (myGraph->IsStreamGraph()) {
+ SUPERV_StreamGraph aSGraph = myGraph->ToStreamGraph();
+ if (!SUPERV_isNull(aSGraph))
+ aSGraph->StreamParams(aTimeOut, aDataStreamTrace, aDeltaTime);
+ }
+
+ myDeltaTime->setValue(aDeltaTime);
+ myTimeOut->setText(QString("%1").arg(aTimeOut));
+ myDataStreamTrace->setCurrentItem((int)aDataStreamTrace);
+}
+
+/*!
+ <OK> button slot
+*/
+void SUPERVGUI_DSGraphParameters::accept() {
+// myGraph->SetStreamParams( myTimeOut->text().toLong(),
+// (SUPERV::KindOfDataStreamTrace) myDataStreamTrace->currentItem(),
+// myDeltaTime->value());
+ if (myGraph->IsStreamGraph()) {
+ SUPERV_StreamGraph aSGraph = myGraph->ToStreamGraph();
+ if (!SUPERV_isNull(aSGraph))
+ aSGraph->SetStreamParams( myTimeOut->text().toLong(),
+ (SUPERV::KindOfDataStreamTrace) myDataStreamTrace->currentItem(),
+ myDeltaTime->value());
+ }
+ QDialog::accept();
+}