Browse Source

Allow to select whether to hide (default) the app controls

Ivo Wolf 13 years ago
parent
commit
1df10df269

+ 2 - 1
Applications/ctkDICOMHost/ctkDICOMHostMain.cpp

@@ -159,11 +159,12 @@ int main(int argc, char** argv)
 
   widget->show();
 
-  ctkDICOMHostMainLogic *logic = new ctkDICOMHostMainLogic(ui.placeHolderForHostedApp, ui.placeHolderForDICOMAppWidget);
+  ctkDICOMHostMainLogic *logic = new ctkDICOMHostMainLogic(ui.placeHolderForHostedApp, ui.placeHolderForDICOMAppWidget, ui.placeHolderForControls);
   logic->connect(ui.configureHostedApp,SIGNAL(clicked()), logic, SLOT(configureHostedApp()));
   logic->connect(ui.sendDataToHostedApp,SIGNAL(clicked()), logic, SLOT(sendDataToHostedApp()));
   logic->connect(logic, SIGNAL(TreeSelectionChanged(const QString &)), ui.selection, SLOT(setText(const QString &)));
   logic->connect(logic, SIGNAL(SelectionValid(bool)), ui.sendDataToHostedApp, SLOT(setEnabled(bool)));
+  logic->connect(ui.cbShowControls, SIGNAL(toggled(bool)), ui.placeHolderForControls->children()[0], SLOT(setVisible(bool)));
 
   //ctkDICOMAppWidget DICOMApp(widget);
 

+ 4 - 3
Applications/ctkDICOMHost/ctkDICOMHostMainLogic.cpp

@@ -16,16 +16,17 @@
 #include "ctkDICOMDatabase.h"
 #include "ctkDicomAvailableDataHelper.h"
 
-ctkDICOMHostMainLogic::ctkDICOMHostMainLogic(ctkHostedAppPlaceholderWidget* placeHolder, ctkDICOMAppWidget* dicomAppWidget) : 
+ctkDICOMHostMainLogic::ctkDICOMHostMainLogic(ctkHostedAppPlaceholderWidget* placeHolder, ctkDICOMAppWidget* dicomAppWidget, 
+                                             QWidget* placeHolderForControls) : 
   QObject(placeHolder), 
   PlaceHolderForHostedApp(placeHolder),
   DicomAppWidget(dicomAppWidget),
+  PlaceHolderForControls(placeHolderForControls),
   ValidSelection(false),
   SendData(false)
 {
   this->Host = new ctkExampleDicomHost(PlaceHolderForHostedApp);
-  this->HostControls = new ctkExampleHostControlWidget(Host, placeHolder);
-  this->HostControls->show();
+  this->HostControls = new ctkExampleHostControlWidget(Host, placeHolderForControls);
 
   Data = new ctkDicomAppHosting::AvailableData;
 

+ 2 - 1
Applications/ctkDICOMHost/ctkDICOMHostMainLogic.h

@@ -17,7 +17,7 @@ class ctkDICOMHostMainLogic :
 {
   Q_OBJECT
 public:
-  ctkDICOMHostMainLogic(ctkHostedAppPlaceholderWidget*, ctkDICOMAppWidget*);
+  ctkDICOMHostMainLogic(ctkHostedAppPlaceholderWidget*, ctkDICOMAppWidget*, QWidget* placeHolderForControls);
   virtual ~ctkDICOMHostMainLogic();
 public slots:
   void configureHostedApp();
@@ -34,6 +34,7 @@ protected:
   ctkExampleHostControlWidget* HostControls;
   ctkHostedAppPlaceholderWidget* PlaceHolderForHostedApp;
   ctkDICOMAppWidget* DicomAppWidget;
+  QWidget* PlaceHolderForControls;
   ctkDicomAppHosting::AvailableData* Data;
   QString AppFileName;
   bool ValidSelection;

+ 19 - 0
Applications/ctkDICOMHost/ctkDICOMHostMainWidget.ui

@@ -39,6 +39,25 @@
        <property name="frameShadow">
         <enum>QFrame::Raised</enum>
        </property>
+       <layout class="QVBoxLayout" name="verticalLayout_2">
+        <item>
+         <widget class="QFrame" name="placeHolderForControls">
+          <property name="frameShape">
+           <enum>QFrame::StyledPanel</enum>
+          </property>
+          <property name="frameShadow">
+           <enum>QFrame::Raised</enum>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QCheckBox" name="cbShowControls">
+          <property name="text">
+           <string>Show extended controls</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
       </widget>
      </item>
     </layout>