Ver código fonte

Check if app is still running in getApplicationState

Ivo Wolf 13 anos atrás
pai
commit
301310d1cb

+ 8 - 0
Plugins/org.commontk.dah.examplehost/ctkExampleDicomHost.cpp

@@ -195,3 +195,11 @@ QString ctkExampleDicomHost::getOutputLocation(const QStringList& preferredProto
 
   return ""; 
 }
+
+//----------------------------------------------------------------------------
+ctkDicomAppHosting::State ctkExampleDicomHost::getApplicationState()const
+{
+  if(this->getAppProcess().state() == QProcess::NotRunning)
+    return ctkDicomAppHosting::EXIT;
+  return ctkDicomAbstractHost::getApplicationState();
+}

+ 2 - 0
Plugins/org.commontk.dah.examplehost/ctkExampleDicomHost.h

@@ -52,6 +52,8 @@ public:
   virtual bool notifyDataAvailable(const ctkDicomAppHosting::AvailableData& data, bool lastData);
   virtual void releaseData(const QList<QUuid>& objectUUIDs);
 
+  ctkDicomAppHosting::State getApplicationState() const;
+
   const QProcess& getAppProcess() const { return this->AppProcess; }
   void exitApplication();
 

+ 3 - 1
Plugins/org.commontk.dah.examplehost/ctkExampleHostControlWidget.cpp

@@ -168,12 +168,14 @@ void ctkExampleHostControlWidget::suspendButtonClicked()
   this->Host->getDicomAppService()->setState(ctkDicomAppHosting::SUSPENDED);
 }
 
+//----------------------------------------------------------------------------
 void ctkExampleHostControlWidget::cancelButtonClicked()
 {
   this->Host->getDicomAppService()->setState(ctkDicomAppHosting::CANCELED);
 }
 
+//----------------------------------------------------------------------------
 bool ctkExampleHostControlWidget::validAppFileName()
 {
   return ValidAppFileName;
-}
+}

+ 1 - 1
Plugins/org.commontk.dah.host/ctkDicomAbstractHost.cpp

@@ -218,6 +218,6 @@ void ctkDicomAbstractHost::notifyStateChanged(ctkDicomAppHosting::State newState
 
 ctkDicomAppHosting::State ctkDicomAbstractHost::getApplicationState()const
 {
-  // todo: probably move code from ctkExampleHostControlWidget::getApplicationState() here
+  // todo: probably move code from ctkExampleHostWidget::getApplicationState() here
   return d_ptr->AppState;
 }