Browse Source

ENH: connect dicom model to tree view in query retrieve widget

Steve Pieper 15 years ago
parent
commit
f5b778a1c0

+ 46 - 1
Applications/ctkDICOM/ctkDICOM.cpp

@@ -20,15 +20,60 @@
 
 // Qt includes
 #include <QApplication>
+#include <QTreeView>
 
-// CTK includes
+// CTK widget includes
 #include <ctkDICOMQueryRetrieveWidget.h>
 
+// ctkDICOMCore includes
+#include "ctkDICOM.h"
+#include "ctkDICOMModel.h"
+
+// STD includes
+#include <iostream>
+
 int main(int argc, char** argv)
 {
   QApplication app(argc, argv);
+
+  // set up the database 
+  const char *datbaseFileName = "/tmp/test.db";
+  const char *datbaseScriptFileName = "/Users/pieper/ctk/latest/CTK/Libs/DICOM/Core/Resources/dicom-sample.sql";
+  if (argc > 1)
+    {
+    datbaseFileName = argv[1];
+    }
+  if (argc > 2)
+    {
+    datbaseScriptFileName = argv[2];
+    }
+
+  ctkDICOM myCTK;
+  if (!myCTK.openDatabase( datbaseFileName ))
+    {
+    std::cerr << "Error when opening the data base file: " << datbaseFileName
+              << " error: " << myCTK.GetLastError().toStdString();
+    return EXIT_FAILURE;
+    }
+  if (!myCTK.initializeDatabase(datbaseScriptFileName))
+    {
+    std::cerr << "Error when initializing the data base: " << datbaseScriptFileName
+              << " error: " << myCTK.GetLastError().toStdString();
+    return EXIT_FAILURE;
+    }
+
+  ctkDICOMModel model;
+  model.setDatabase(myCTK.database());
   
   ctkDICOMQueryRetrieveWidget queryRetrieve;
+  QTreeView *treeView = queryRetrieve.findChild<QTreeView *>("treeView");
+  if (!treeView)
+    {
+    std::cerr << "Could not access tree view from QueryRetrieve widget\n";
+    return EXIT_FAILURE;
+    }
+  treeView->setModel(&model);
+
   queryRetrieve.show();
   return app.exec();
 }

+ 2 - 2
Libs/DICOM/Core/Testing/Cpp/ctkDICOMModelTest1.cpp

@@ -76,6 +76,6 @@ int ctkDICOMModelTest1( int argc, char * argv [] )
   qDebug() << model.rowCount() << model.columnCount();
   qDebug() << model.index(0,0);
   viewer.show();
-  //return app.exec();
-  return EXIT_SUCCESS;
+  return app.exec();
+  //return EXIT_SUCCESS;
 }

+ 1 - 7
Libs/DICOM/Widgets/Resources/UI/ctkDICOMQueryRetrieveWidget.ui

@@ -43,13 +43,7 @@
     <widget class="ctkDICOMCommandWidget" name="widget" native="true"/>
    </item>
    <item>
-    <widget class="QTreeWidget" name="treeWidget">
-     <column>
-      <property name="text">
-       <string notr="true">1</string>
-      </property>
-     </column>
-    </widget>
+    <widget class="QTreeView" name="treeView"/>
    </item>
   </layout>
  </widget>