Ver código fonte

ENH: dah adds signals to exampleHostServer

Benoît Bleuzé 14 anos atrás
pai
commit
dae78eb395

+ 1 - 0
Plugins/org.commontk.dicom.examplehost/CMakeLists.txt

@@ -10,6 +10,7 @@ SET(PLUGIN_SRCS
 # Files which should be processed by Qts moc
 SET(PLUGIN_MOC_SRCS
   ctkDicomExampleHostPlugin_p.h
+  ctkDicomExampleHost.h
 )
 
 # Qt Designer files which should be processed by Qts uic

+ 12 - 2
Plugins/org.commontk.dicom.examplehost/ctkDicomExampleHost.cpp

@@ -19,10 +19,20 @@ int ctkDicomExampleHost::StartApplication(QString AppPath, QString App_URL, int
     }
 }
 
-void ctkDicomExampleHost::notifyStateChanged(ctkDicomWG23::State state){
+QRect ctkDicomExampleHost::getAvailableScreen(const QRect& preferredScreen){
+    qDebug()<< "set screen from preferredScreen:"<< preferredScreen;
+    QRect rect (preferredScreen);
+    emit giveAvailableScreen(rect);
+    return rect;
+}
+
 
+void ctkDicomExampleHost::notifyStateChanged(ctkDicomWG23::State state){
+    qDebug()<< "new state received:"<< state;
+    emit stateChangedReceived(state);
 }
 
 void ctkDicomExampleHost::notifyStatus(const ctkDicomWG23::Status& status){
-
+    qDebug()<< "new status received:"<<status.codeMeaning;
+    emit statusReceived(status);;
 }

+ 8 - 4
Plugins/org.commontk.dicom.examplehost/ctkDicomExampleHost.h

@@ -4,18 +4,22 @@
 #include <ctkDicomAbstractHost.h>
 #include <org_commontk_dicom_examplehost_Export.h>
 
-class org_commontk_dicom_examplehost_EXPORT ctkDicomExampleHost : public ctkDicomAbstractHost
-{
+class org_commontk_dicom_examplehost_EXPORT ctkDicomExampleHost : public ctkDicomAbstractHost{
+    Q_OBJECT
 public:
     ctkDicomExampleHost();
 
     virtual int StartApplication(QString AppPath, QString App_URL, int port);
     virtual QString generateUID() { return ""; }
-    virtual QRect getAvailableScreen(const QRect& preferredScreen) { return QRect(); }
-    virtual QString getOutputLocation(const QStringList& preferredProtocols) { return ""; }
+    virtual QRect getAvailableScreen(const QRect& preferredScreen);
+    virtual QString getOutputLocation(const QStringList& /*preferredProtocols*/) { return ""; }
     virtual void notifyStateChanged(ctkDicomWG23::State state);
     virtual void notifyStatus(const ctkDicomWG23::Status& status);
 
+signals:
+    void stateChangedReceived(ctkDicomWG23::State state);
+    void statusReceived(const ctkDicomWG23::Status& status);
+    void giveAvailableScreen(QRect rect);
 };
 
 #endif // CTKDICOMEXAMPLEHOST_H