X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src2%2FcreaImageIOWxGimmickView.cpp;h=a77f9a7fe9de9bdc1726f0db2b1d01a3b22868ee;hb=cf9b62742f0699be21da81b01cb9656be0f78c4f;hp=53b0342e919eea1b0b934a4d2ec0d5398f3d6253;hpb=286cbf55bbd817ef8c9827d07fb231f945a77a89;p=creaImageIO.git diff --git a/src2/creaImageIOWxGimmickView.cpp b/src2/creaImageIOWxGimmickView.cpp index 53b0342..a77f9a7 100644 --- a/src2/creaImageIOWxGimmickView.cpp +++ b/src2/creaImageIOWxGimmickView.cpp @@ -3,6 +3,9 @@ #include #include #include +#include +#include +#include using namespace crea; // Icons @@ -651,6 +654,19 @@ namespace creaImageIO wxMessageBox(std2wx("The selected files have been copied"),_T("Copy files"),wxOK,this); } + //================================================= + void WxGimmickView::AddDir(std::string dirName) + { + mProgressDialog = new wxProgressDialog(_T("Adding directory"),_T(""),1000,this,wxPD_ELAPSED_TIME |wxPD_CAN_ABORT ); + mCurrentDirectory = crea::std2wx(dirName); + mGimmick->AddDir(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),dirName,true); + mProgressDialog->Pulse(_T("Updating view...")); + + UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1); + delete mProgressDialog; + DisplayAddSummary(); + } + //================================================= void WxGimmickView::OnSynchronize(wxCommandEvent& event) { @@ -748,7 +764,7 @@ namespace creaImageIO if (addToDB) { mProgressDialog = new wxProgressDialog(_T("Adding directory"),_T(""),1000,this,wxPD_ELAPSED_TIME |wxPD_CAN_ABORT ); - mCurrentDirectory = gimmickTools->getOutputDir(); // Try // JPRx + mCurrentDirectory = gimmickTools->getOutputDir(); mGimmick->AddDir(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),outputDir,true); mProgressDialog->Pulse(_T("Updating view...")); @@ -764,6 +780,7 @@ namespace creaImageIO wxMessageBox(_T("One or both of the directory fields are empty"),_T("Empty Fields"),wxOK,this); } } + delete gimmickTools; #endif } @@ -792,18 +809,40 @@ namespace creaImageIO nb->AddPage( customConfig, crea::std2wx("Customize Configuration") ); //Second page: Creation of Databases - wxPanel* databaseCreation=new wxPanel(nb); - nb->AddPage( databaseCreation, crea::std2wx("Create Database") ); + /*wxPanel* databaseCreation=new wxPanel(nb); + nb->AddPage( databaseCreation, crea::std2wx("Create Database") );*/ + + //Second page (temporary): Connection to PACS + WxPACSConnectionPanel* pacs=new WxPACSConnectionPanel(nb,dial, this); + nb->AddPage( pacs, crea::std2wx("Connect to PACS") ); //Third page: CD/DVD Watch WxListenerPanel* cdWatch=new WxListenerPanel(nb,dial, this, mListener->IsPaused()); nb->AddPage( cdWatch, crea::std2wx("CD/DVD") ); - //Fourth page: Selection of attributes to show (edit) - wxPanel* attSelection=new wxPanel(nb); + //Fourth page: Selection of attributes to show + std::vector shown; + std::vector nShown; + GetTreeViewMap()[crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()))]->GetAttributes(shown,nShown,1); + int nLev=GetTreeViewMap()[crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()))]->GetNumberOfLevels(); + WxAttributeSelectionPanel* attSelection=new WxAttributeSelectionPanel(nb,dial,this,shown,nShown,nLev); nb->AddPage( attSelection, crea::std2wx("Selection of Attributes") ); } + //=================================================================== + void WxGimmickView::GetVisibleAttributes(std::vector& shown, + std::vector& nShown, int level) + { + GetTreeViewMap()[crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()))]->GetAttributes(shown,nShown,level); + } + + //=================================================================== + void WxGimmickView::OnAttributesChanged(const std::vector& nShown, int level) + { + GetTreeViewMap()[crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()))]->SetNonVisibleAttributes(nShown,level); + std::vector n=nShown; + GetTreeViewMap()[crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()))]->CreateCtrl(n,level); + } //=================================================================== void WxGimmickView::OnSaveSettingsCallback(const std::string& copyPath, const std::string& dbPath, @@ -878,14 +917,30 @@ namespace creaImageIO mListener->Pause(); } + //======================================================================== + void WxGimmickView::CreateEditFieldsDialog(tree::Node* node, std::vector names, std::vector 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); + dial->ShowModal(); + } + + //======================================================================== + void WxGimmickView::OnFieldsEdited(tree::Node* node, const std::string& name, const std::string& key, const std::string& val) + { + mGimmick->EditField(node, crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())), name, key, val); + UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1); + } //================================================= /// AddProgress Gimmick callback void WxGimmickView::OnAddProgress( Gimmick::AddProgress& p) { - char mess[200]; - sprintf(mess,"%i dirs : %i files :\n %i handled - %i added", p.GetNumberScannedDirs(), p.GetNumberScannedFiles(),