]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOWxGimmick.cpp
*** empty log message ***
[creaImageIO.git] / src / creaImageIOWxGimmick.cpp
index 6a203a37d3d5bd05f5c92f5333d1829f38052259..4aba5f617256721424967c22c7f085cecaf66960 100644 (file)
@@ -334,9 +334,15 @@ namespace creaImageIO
     // Image sizer
     wxBoxSizer *isizer = new wxBoxSizer(wxHORIZONTAL  );
     mPanelImage->SetSizer( isizer ); 
-  
+    // Notebook
+    mwxNotebook = new wxNotebook(mSplitter2,
+                                -1,wxDefaultPosition, wxDefaultSize, 0);
+
+
+    
     // Fields view (bottom)
-    mFieldsView = new WxGimmickFieldsView(mSplitter2,-1,
+    mFieldsView = new WxGimmickFieldsView(mwxNotebook,-1,
                                            wxDefaultPosition,
                                            wxDefaultSize,0);
 
@@ -351,16 +357,20 @@ namespace creaImageIO
        GetSettings().BgColour(DicomNode::Series),
        GetSettings().Colour(DicomNode::Image),
        GetSettings().BgColour(DicomNode::Image));
+    mwxNotebook->AddPage( mFieldsView, _T("Dicom fields"));
     
-    
-
+    // Help 
+    mHelp = new WxGimmickHelp(mwxNotebook);
+    mwxNotebook->AddPage( mHelp, _T("Help"));    
+    // Splitting
     int wsize = size.GetWidth();
     int hsize = size.GetHeight();
     int previewhsize = 150;
     int previewwsize = 400;
 
     mSplitter2->SetMinimumPaneSize( previewhsize );
-    mSplitter2->SplitHorizontally( mPanelImage, mFieldsView, 
+    mSplitter2->SplitHorizontally( mPanelImage, mwxNotebook, //mFieldsView, 
                                   hsize - previewhsize);
   
     rsizer->Add( mSplitter2,1,wxGROW  ,0);
@@ -400,7 +410,16 @@ namespace creaImageIO
 
     ShowImage(mReader.GetImage(""));
 
-    mJustStarted = true;
+    // Show help if no collection
+    if (GetDicomDatabaseList().size()==0)
+      {
+       mwxNotebook->SetSelection(1);
+      } 
+    else
+      {
+       mwxNotebook->SetSelection(0);
+      }
+    //    mJustStarted = true;
   }
   //================================================================
     
@@ -898,9 +917,11 @@ namespace creaImageIO
          }
       }
 
+    if (GetDicomDatabaseList().size()==0) mFieldsView->UpdateFields(db);
     GetDicomDatabaseList().push_back(db);
     UpdateDicomDatabaseView(db);
 
+
   }
   //================================================================
 
@@ -911,7 +932,8 @@ namespace creaImageIO
     wxBusyCursor busy;
     //    std::cout << "WxGimmick : Reading config"<<std::endl;
 
-    //    std::cout << "==> Loading collections from '"<<mDatabaseListFile
+    //    std::cout <<     
+    creaMessage("Gimmick!",1,"Gimmick! : ==> Loading collections from '"<<mDatabaseListFile<<"'"<<std::endl);
     //       <<"'"<<std::endl;
 
     std::ifstream s;
@@ -948,7 +970,7 @@ namespace creaImageIO
              }
            else 
              {
-               //          std::cout << "    ... ERROR !"<<std::endl;
+               creaMessage("Gimmick!",1,"           ==> ERROR opening collection '"<<tokens[0]<<"'"<<std::endl);
                delete db;
              }
          }
@@ -956,7 +978,7 @@ namespace creaImageIO
        }
        else 
        {
-               std::cout << "ERROR opening "<<mDatabaseListFile<<std::endl;
+         creaMessage("Gimmick!",1,"           ==> File does not exist. It will be created on exit (if you already ran Gimmick! and exited normally, this is not normal. Send a bug report).");
        }
 
        
@@ -1435,7 +1457,7 @@ namespace creaImageIO
   void  WxGimmick::OnPopUpSettings(wxCommandEvent& event)
   {
     WxGimmickSettingsDialog* s = 
-      new WxGimmickSettingsDialog(this);
+      new WxGimmickSettingsDialog(this,&mSettings);
     s->ShowModal();
     delete s;
   }
@@ -2050,12 +2072,13 @@ namespace creaImageIO
        vtkCamera *camera = mViewer->GetRenderer()->GetActiveCamera();
        
        camera->SetViewUp ( spx*0, -spy*1, spz*0);
-       camera->SetPosition( spx*(x1+x2)/2, spy*(y1+y2)/2, -spz*10000000); 
+       camera->SetPosition( spx*(x1+x2)/2, spy*(y1+y2)/2, spz*10000000); 
        camera->SetFocalPoint   ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , spz*0); 
        
        camera->ComputeViewPlaneNormal();
        camera->SetParallelScale(  spx*(x2-x1)/2.0 );
        
+       camera->Roll ( 180 );
       }
     
     mViewer->SetInput( im );
@@ -2140,15 +2163,13 @@ namespace creaImageIO
   void  WxGimmick::OnInternalIdle()
   {
     ProcessImageEvents();
+    /*
     if (mJustStarted)
       {
-       // Show tip if no collection
-       if (GetDicomDatabaseList().size()==0)
-         {
-           ShowHelp();
-         }
+
        mJustStarted = false;
-      }
+       }
+    */
     //
   }
   //================================================================
@@ -2758,12 +2779,14 @@ namespace creaImageIO
     //====================================================================
     void WxGimmick::ShowHelp()
     {
+      /*
       if (mHelpWindow==0)
        {
          mHelpWindow = new WxGimmickHelpWindow(this);
        }
       mHelpWindow->CenterOnParent();
       mHelpWindow->ShowModal();
+      */
     }
     //====================================================================