]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOWxGimmickView.cpp
#3218 creaImageIO Feature New Normal - vtk8itk4wx3-mingw64
[creaImageIO.git] / src / creaImageIOWxGimmickView.cpp
index c538c6a844ba183dd1b9a2f233439ec0fd21f4ce..c4b2edbbe6bacc4a4dd78084d28507144936b83e 100644 (file)
@@ -131,22 +131,20 @@ namespace creaImageIO
                               const wxPoint& pos, 
                               const wxSize& size,
                               int min_dim,
-                               int max_dim,
+                   int max_dim,
                               int number_of_threads)
     : wxPanel(parent,id,pos,size),
       GimmickView(gimmick, number_of_threads),
-      mProgressDialog(0),
+      mProgressDialog(NULL),
       mConstructed(false)
   {
-    GimmickDebugMessage(1,"WxGimmickView::WxGimmickView"
-                       <<std::endl);
+       mViewer = NULL;
+    GimmickDebugMessage(1,"WxGimmickView::WxGimmickView" <<std::endl);
     // Sets the current directory to the home dir
     mCurrentDirectory =  std2wx(gimmick->GetHomeDirectory());
 
-
      // Connect the AddProgress callback
-    gimmick->ConnectAddProgressObserver 
-     ( boost::bind( &WxGimmickView::OnAddProgress , this, _1 ) );
+    gimmick->ConnectAddProgressObserver( boost::bind( &WxGimmickView::OnAddProgress , this, _1 ) );
 
     // Create the list of icons (mIcon)
     CreateIconList();
@@ -163,8 +161,7 @@ namespace creaImageIO
     mSplitter = new wxSplitterWindow( this , -1);
 
     // Notebook
-    mNotebook = new wxNotebook(mSplitter,
-                              -1, wxDefaultPosition, wxDefaultSize, 0);
+    mNotebook = new wxNotebook(mSplitter, -1, wxDefaultPosition, wxDefaultSize, 0);
 
     //Gimmick
     mGimmick=gimmick;
@@ -195,25 +192,22 @@ namespace creaImageIO
 
     mText = new wxStaticText(mBottomPanel, wxID_ANY, wxT("Welcome to Gimmick!"));
     mbottom_sizer->Add(mText,0,wxGROW,0);
-
-         
-         
+       
     mBottomPanel->SetSizer(mbottom_sizer);
 
     // Splitting
     /// \TODO fix warning: unused variable hsize
     int hsize = size.GetHeight();
 
-    int top_minsize = 450;
-    int bottom_minsize = 50;
+    int top_minsize    = 450;
+    int bottom_minsize         = 50;
 
     mSplitter->SetMinimumPaneSize( bottom_minsize );
-    mSplitter->SplitHorizontally( mNotebook, mBottomPanel, 
-                                 top_minsize);
+    mSplitter->SplitHorizontally( mNotebook, mBottomPanel, top_minsize);
 
     msizer->Add( mSplitter, 1, wxGROW, 0);
 
-    mProgressDialog=0;
+    mProgressDialog=NULL;
     SetSizer( msizer );     
     SetAutoLayout(true);
     Layout();
@@ -233,10 +227,11 @@ namespace creaImageIO
   {
        // stop the viewer before application exit.
     mViewer->StopPlayer();
-    GimmickDebugMessage(1,"WxGimmickView::~WxGimmickView"
-                       <<std::endl);
+    GimmickDebugMessage(1,"WxGimmickView::~WxGimmickView" <<std::endl);
        delete mIcon;
        delete mViewer;
+       mIcon   = NULL;
+       mViewer = NULL;
     //if(mListener->IsAlive())   {        mListener->Delete();    }
   }
   //======================================================================
@@ -313,8 +308,7 @@ namespace creaImageIO
   void WxGimmickView::CreateTreeView( TreeHandler* h)
   {
     std::string name(h->GetTree().GetAttribute("Name"));
-    GimmickMessage(2,"Creating the tree view for '"<<
-                  name<<"'"<<std::endl);
+    GimmickMessage(2,"Creating the tree view for '"<<  name<<"'"<<std::endl);
     // Create the WxTreeView
     WxTreeView* view = new WxTreeView(h, this, mNotebook, -1);
 
@@ -659,9 +653,7 @@ namespace creaImageIO
   //=================================================
   void WxGimmickView::OnSelectionChange(const std::vector<tree::Node*>& sel, bool isSelection, int selection, bool needProcess)
   {      
-    GimmickDebugMessage(5,
-                       "WxGimmickView::OnSelectionChange"
-                       <<std::endl);
+       GimmickDebugMessage(5,"WxGimmickView::OnSelectionChange"<<std::endl);
     wxBusyCursor busy;
        bool valid=true;
        
@@ -670,9 +662,7 @@ namespace creaImageIO
                valid= ValidateSelected(NULL,
                                mSelectionMinDimension,
                                mSelectionMaxDimension );
-       }
-       else if(needProcess)
-       {
+       } else if(needProcess) {
                ResetExtent();
                std::vector<tree::Node*>::const_iterator i;
                for(i=sel.begin();i!=sel.end()&&valid;++i)
@@ -680,16 +670,12 @@ namespace creaImageIO
                        valid= ValidateSelected((*i),
                                mSelectionMinDimension,
                                mSelectionMaxDimension );
-               }
-       }
-       else if(isSelection)
-       {
+               } // for
+       } else if(isSelection) {
                valid= ValidateSelected(sel.front(),
                                mSelectionMinDimension,
                                mSelectionMaxDimension );
-       }
-       else
-       {
+       } else {
                ResetExtent();
                std::vector<tree::Node*>::const_iterator i;
                for(i=sel.begin();i!=sel.end()&&valid;++i)
@@ -697,18 +683,22 @@ namespace creaImageIO
                        valid= ValidateSelected((*i),
                                mSelectionMinDimension,
                                mSelectionMaxDimension );
-               }
-       }
+               } // for 
+       } // if sel.size 
        mText->SetLabel(crea::std2wx(GetMessage()));
-    /*if(valid)
-      {
-       ReadImageThreaded(sel);
-      }
-    else
-      {
-                 ClearSelection();
-      }*/
-       ReadImageThreaded(sel);
+/*
+       if(valid)
+    {
+               ReadImageThreaded(sel);
+    } else {
+               ClearSelection();
+    }
+*/
+         
+         
+//EED1 2018-08  
+//     ReadImageThreaded(sel);
+
    }
 
   //==================================================
@@ -717,9 +707,7 @@ namespace creaImageIO
   ///Reads Images (Threaded)
   void WxGimmickView::ReadImageThreaded(const std::vector<tree::Node*>& sel)
   {    
-   GimmickDebugMessage(5,
-                      "ReadImageThreaded"
-                      <<std::endl);
+   GimmickDebugMessage(5,  "ReadImageThreaded"   <<std::endl);
    int maxprio = GetMaximalPriority();
    int prio = maxprio + 2000;
 
@@ -780,17 +768,15 @@ namespace creaImageIO
                RequestReading(*iterDown,prio,-1,ph);
                //              AddEntryToMap(*iterDown);
                prio--;
-               if (prio == maxprio) break;
-       }
-   }
-   else
-   {
+               if (prio == maxprio) { break; }
+       } // for
+   } else {
           pointers.clear();
           //ImagePointerHolder* ph=new ImagePointerHolder(GetDefaultImage());
           boost::shared_ptr<ImagePointerHolder> ph(new ImagePointerHolder(GetDefaultImage()));
           pointers.push_back(ph);
           mViewer->SetImageVector(pointers);
-   }
+   } // if
   }
 
   //==================================================
@@ -801,15 +787,16 @@ namespace creaImageIO
   //==================================================
    void  WxGimmickView::OnInternalIdle()
    {
-     if (!mConstructed) return;
+       if (!mConstructed) return;
      static bool first_time = true;
+        
      if (false)
      {
        first_time = false;
      }
    //   GimmickMessage(1,"WxGimmickView : Refresh viewer"<<std::endl);
        //  mViewer->StartPlayer();
-     if(mViewer)
+     if(mViewer!=NULL)
      {
         mViewer->RefreshIfNecessary();
      }
@@ -817,9 +804,11 @@ namespace creaImageIO
 #else
   void WxGimmickView::UpdateWindowUI(long flags)
   {
-         if(mViewer)
+         if(mViewer!=NULL)
      {
-        mViewer->RefreshIfNecessary();
+// EED 2018-08-23
+// GL Conflict because window is not showing the fist time
+//EED        mViewer->RefreshIfNecessary();
      }
   }
 #endif
@@ -1183,9 +1172,9 @@ namespace creaImageIO
   //========================================================================
   void WxGimmickView::CreateEditFieldsDialog(tree::Node* node, std::vector<std::string> names, std::vector<std::string> keys)
   {
-    wxDialogdial= new wxDialog (this,-1,crea::std2wx("Edit Fields for node "+node->GetLabel()),wxDefaultPosition, wxSize(350,155));
-    wxBoxSizer *siz = new wxBoxSizer(wxVERTICAL);
-    WxEditFieldsPanel* ef = new WxEditFieldsPanel(dial, dial, this, node, names, keys);
+    wxDialog           *dial= new wxDialog (this,-1,crea::std2wx("Edit Fields for node "+node->GetLabel()),wxDefaultPosition, wxSize(350,155));
+    wxBoxSizer         *siz = new wxBoxSizer(wxVERTICAL);
+    WxEditFieldsPanel  *ef  = new WxEditFieldsPanel(dial, dial, this, node, names, keys);
 
     siz->Add( ef,1,wxGROW  ,0); 
     dial->SetSizer(siz);
@@ -1258,7 +1247,7 @@ namespace creaImageIO
     wxString s(wxString::From8BitData(mess));
     //  std::cout << "Pulse"<<std::endl;
 
-       if(mProgressDialog != 0)
+       if(mProgressDialog != NULL)
        {
                if (!mProgressDialog->Pulse(s)) 
                  {
@@ -1354,7 +1343,7 @@ namespace creaImageIO
   {
                mProgressDialog->Resume();
                mProgressDialog->Destroy();
-               mProgressDialog = 0;
+               mProgressDialog = NULL;
   }
 
    //=================================================