]> Creatis software - creaImageIO.git/commitdiff
#3218 creaImageIO Feature New Normal - vtk8itk4wx3-mingw64
authorEduardo DAVILA <davila@creatis.insa-lyon.fr>
Tue, 7 Aug 2018 14:11:56 +0000 (16:11 +0200)
committerEduardo DAVILA <davila@creatis.insa-lyon.fr>
Tue, 7 Aug 2018 14:11:56 +0000 (16:11 +0200)
1  2 
src/creaImageIOGimmick.cpp
src/creaImageIOWxGimmickReaderDialog.cpp
src/creaImageIOWxGimmickView.cpp
src/creaImageIOWxSimpleDlg.cpp

index 1ec42e1fce32341d40eafd9a5e1dc4d21b1f8fb0,5b01f748f41d2b3f0ee747cccb7292c368806508..7ba9b2a14f71b6f658f5522bec1f4e2b2e73ad16
@@@ -202,10 -202,10 +202,10 @@@ namespace creaImageI
    {
      if (mHomeDirectory.size()==0) 
        {
 -#if defined(__GNUC__)
 -      mHomeDirectory = getenv("HOME");
 -#elif defined(_WIN32)
 +#if defined(_WIN32)
        mHomeDirectory = getenv("USERPROFILE");
 +#elif defined(__GNUC__)
 +      mHomeDirectory = getenv("HOME");
  #endif
        }
      return mHomeDirectory;
@@@ -560,11 -560,13 +560,13 @@@ void Gimmick::fillVectInfos(std::vector
        {
                if( mImageAdder.isAttributeExist((*it)) != "" ) // in DB
                {
+ printf("EED Gimmick::fillVectInfos inside %s\n",(*it).c_str());
                        infos.inside.push_back((*it));
                }
                else
                {
                                infos.outside.push_back((*it)); // Need to scan again the files
+ printf("EED Gimmick::fillVectInfos outside %s\n",(*it).c_str());
                }
        }
  }
@@@ -580,4 -582,4 +582,4 @@@ const std::string Gimmick::getSummary(
      return mess.str();
  }
  
- }
+ }
index 1dff6b3fd0246dd09fa8e90d14a8012aec7dca2a,771bb052998e90da9d38add2825764590a4badfd..8c11f0319a84b8ee12eb9e3f694ab343d8e39521
@@@ -67,10 -67,10 +67,10 @@@ namespace creaImageI
  
      try {
  
-         mGimmick = boost::shared_ptr<Gimmick>(new Gimmick());
-       mGimmick->Initialize(i_namedescp,i_namedb);
+       mGimmick = boost::shared_ptr<Gimmick>(new Gimmick());
+       mGimmick->Initialize(i_namedescp,i_namedb);
  
-       mView = new WxGimmickView(mGimmick,
+               mView = new WxGimmickView(mGimmick,
                                this,
                                TVID,
                                wxDefaultPosition,
                                min_dim,
                                max_dim,
                                threads);
-       mView->Initialize();
+               mView->Initialize();
           // Connect the AddProgress callback
 -              mView->ConnectValidationObserver
 -                      ( boost::bind( &WxGimmickReaderDialog::OnValid , this, _1 ) );
 +      mView->ConnectValidationObserver( boost::bind( &WxGimmickReaderDialog::OnValid , this, _1 ) );
      }
      catch (crea::Exception e)
      {
        e.Print();
        return;
      }
      mtopsizer->Add( mView,1,wxGROW,0);
      wxSizer* bsizer = this->CreateSeparatedButtonSizer(wxOK|wxCANCEL);
        /*mOkButton = new wxButton(this, wxID_OK, _T("OK"), wxPoint(170,50));
        mCancelButton = new wxButton(this, wxID_CANCEL, _T("CANCEL"), wxPoint(210,50));
        */      mOkButton = (wxButton*)FindWindowById(GetAffirmativeId(), this);
      mCancelButton = (wxButton*)FindWindowById(GetEscapeId(),      this);
      mOkButton->Enable(false);
      mtopsizer->Add ( bsizer, 0, wxGROW );
-     SetSizer( mtopsizer );     
-  
+     SetSizer( mtopsizer );
      Layout(); 
    }
  
        {
                mGimmick->Finalize();
        }
    }
  
    ///Callback method on a selection
index 46e2507c5e5ce23992ebbd14f521ea7e9125119f,ef9ee5c956af0a4a31b86f6e2c2a28850e56caff..11e8c8889850810d9bf1d5cb1dd9a2f3436bb293
@@@ -204,8 -204,8 +204,8 @@@ namespace creaImageI
      /// \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, 
    void WxGimmickView::OnAddFiles(wxCommandEvent& event)
    {
      mViewer->StopPlayer();
 +
 +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
 +#if wxMAJOR_VERSION <= 2
      long style = wxOPEN | wxFILE_MUST_EXIST | wxFD_MULTIPLE;
 +#else
 +    long style = wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE;
 +#endif
 +
 +
      std::string wc("*");
      wxFileDialog* FD = new wxFileDialog( 0, 
                                         _T("Select file"),
        {
                  ClearSelection();
        }*/
 -      ReadImageThreaded(sel);
 +        
 +  printf("EED Warnning WxGimmickView::OnSelectionChange ....... To avoid threads conflicts//ReadImageThreaded(sel)\n ");
 +//EED1        ReadImageThreaded(sel);
 +
 +
     }
  
    //==================================================
    //========================================================================
    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);
index eb9882edfa8ca568fbd62d33c3c4222391e88150,1c076b0d4a0d0bc4fd733543fd22f1e8f6ea3a3a..88cf78408d8102f8320c4e59b703f5866bf73c34
@@@ -69,12 -69,7 +69,12 @@@ namespace creaImageI
          void WxSimpleDlg::OnReadFile(wxCommandEvent& event)
          {
                  int resultShowModal;
 +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
 +#if wxMAJOR_VERSION <= 2
                  wxFileDialog* fileDlg = new wxFileDialog( 0,  _T("Select file"), _T(""), _T(""), crea::std2wx("*"), wxOPEN |wxFD_MULTIPLE, wxDefaultPosition);
 +#else
 +                wxFileDialog* fileDlg = new wxFileDialog( 0,  _T("Select file"), _T(""), _T(""), crea::std2wx("*"), wxFD_OPEN |wxFD_MULTIPLE, wxDefaultPosition);
 +#endif
      
                    resultShowModal = fileDlg->ShowModal();
                        if ( resultShowModal==wxID_OK )
                   WxGimmickReaderDialog dlg(0,-1, 
                                   namedescp,
                                   namedb, 
-                                  _T("Select image(s)        - Gimmick! (c) CREATIS-LRMN 2008"),
+                                  _T("Select image(s)        - Gimmick! (c)"),
                     wxDefaultPosition,
                     wxSize(810,750),
                     GIMMICK_2D_IMAGE_SELECTION,
                 dlg.ShowModal();
                 if (dlg.GetReturnCode() == wxID_OK)
             {
 -                      dlg.stopReading();
 -                      std::vector<creaImageIO::OutStrGimmick> outStrGimmick;
 -                      dlg.getSelected(outStrGimmick, m_attrDicomTags,true,"");
 +//EED1                                dlg.stopReading();
-                               std::vector<creaImageIO::OutStrGimmick> outStrGimmick;
-                               dlg.getSelected(outStrGimmick, m_attrDicomTags,true,"");
                        m_results.clear();
                        int size=(int)outStrGimmick.size();
                        int ii;
  //                    {
                                for (ii=0;ii<size;ii++)
                                {
- printf("EED1 WxSimpleDlg::OnReadGimmick %d \n", ii);
 -                                      outStrGimmick[ii].img->Modified();
 -                                      outStrGimmick[ii].img->Update();
                                        m_results.push_back(outStrGimmick[ii].img);
                                        m_resultsDicomAtr.push_back( outStrGimmick[ii].infos );
                                }
  
                        infoimage               =       _T("EED Missing info <void> ???");
                        infoimageSource =       _T("GIMMICK");
                        dlg.OnExit();
                 }
                 SetReturnCode( dlg.GetReturnCode() );
                                first->GetDimensions(dim);
                                if (dim[2]==1)
                                {
 -                                      vtkImageData *out;
 -                                      out  = vtkImageData::New();
 -                                      out->SetScalarType(first->GetScalarType());
 -                                      out->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
 +                                      vtkImageData *out = vtkImageData::New();
                                        int ext[6];
 +//EED 2017-01-01 Migration VTK7
 +#if VTK_MAJOR_VERSION <= 5
                                        first->GetWholeExtent(ext); 
 +#else
 +                                      first->GetExtent(ext); 
 +#endif
                                        if(ext[5] == 0)
                                        {
                                           ext[5] = getImagesSelected().size()-1;
                                }
                                        out->SetSpacing(spac);
                                        out->SetDimensions(dim[0], dim[1], getImagesSelected().size() );
 +//EED 2017-01-01 Migration VTK7
 +#if VTK_MAJOR_VERSION <= 5
 +
 +                                      out->SetScalarType(first->GetScalarType());
 +                                      out->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
                                        out->AllocateScalars();
                                        out->Update();
 +#else
 +                                      out->AllocateScalars(first->GetScalarType(),first->GetNumberOfScalarComponents());
 +#endif
 +
 +
                                        unsigned long imsize = dim[0] * dim[1];
                                        imsize = imsize * dim[2];  // deal with multiframes here
                                        // differents formats char , short, etc...
                                                memcpy(out->GetScalarPointer(0,0,slice), img->GetScalarPointer(0,0,0), imsize);
                                                //img->Delete();
                                        } // for slice  
+                                       out->Modified();
+                                       out->Update();
  //EED This is NOT working. The iteration over the pointer vtkImageData
  //                            int slice=0;
  //                            std::vector<vtkImageData*>::iterator it;
                result = NULL;  
                } // getImagesSelected().size()!=0
  
+                       result->Modified();
+                       result->Update();
                return result;
  
                }