X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src2%2FcreaImageIOWxGimmickView.cpp;h=0cab09e7fb79d2a49630e6922e13b093f0831421;hb=a00e6172593c713640aaa9bf1e61db6200231a0f;hp=3b9e04187c78ed2b8435c7370c886b5fd0d34fda;hpb=00dbbc177a9b5db334393734151e820a65f65efc;p=creaImageIO.git diff --git a/src2/creaImageIOWxGimmickView.cpp b/src2/creaImageIOWxGimmickView.cpp index 3b9e041..0cab09e 100644 --- a/src2/creaImageIOWxGimmickView.cpp +++ b/src2/creaImageIOWxGimmickView.cpp @@ -8,6 +8,8 @@ #include #include #include +#include +#include using namespace crea; // Icons @@ -31,6 +33,8 @@ using namespace crea; #include "bruker2dicom.h" #endif + +#include #ifdef _DEBUG #define new DEBUG_NEW #endif @@ -108,18 +112,18 @@ namespace creaImageIO 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(); // Global sizer - wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL); + msizer = new wxBoxSizer(wxVERTICAL); // Create the tool bar CreateToolBar(); - sizer->Add( mToolBar, 0, wxGROW, 0); + msizer->Add( mToolBar, 0, wxGROW, 0); // Split part below toolbar into notebook for views and panel // for preview, messages... @@ -141,7 +145,7 @@ namespace creaImageIO // Bottom panel mBottomPanel = new wxPanel(mSplitter,-1); - wxBoxSizer *bottom_sizer = new wxBoxSizer(wxVERTICAL); //HORIZONTAL); + mbottom_sizer = new wxBoxSizer(wxVERTICAL); //HORIZONTAL); // Previewer @@ -153,15 +157,15 @@ namespace creaImageIO mViewer->StartPlayer(); - bottom_sizer->Add(mViewer,1,wxGROW,1); + mbottom_sizer->Add(mViewer,1,wxGROW,1); // mViewer->Show(); mText = new wxStaticText(mBottomPanel, wxID_ANY, wxT("Welcome to Gimmick!")); - bottom_sizer->Add(mText,0,wxGROW,0); + mbottom_sizer->Add(mText,0,wxGROW,0); - mBottomPanel->SetSizer(bottom_sizer); + mBottomPanel->SetSizer(mbottom_sizer); // Splitting int hsize = size.GetHeight(); @@ -173,17 +177,17 @@ namespace creaImageIO mSplitter->SplitHorizontally( mNotebook, mBottomPanel, top_minsize); - sizer->Add( mSplitter, 1, wxGROW, 0); + msizer->Add( mSplitter, 1, wxGROW, 0); mProgressDialog=0; - SetSizer( sizer ); + SetSizer( msizer ); SetAutoLayout(true); Layout(); - mListener=new Listener(); - mListener->ConnectObserver(boost::bind( &WxGimmickView::OnDriveMount, this, _1 ) ); - mListener->Create(); - mListener->Run(); - mListener->Pause(); + //mListener=new Listener(); + //mListener->ConnectObserver(boost::bind( &WxGimmickView::OnDriveMount, this, _1 ) ); + //mListener->Create(); + // mListener->Run(); + // mListener->Pause(); mConstructed = true; } @@ -198,10 +202,8 @@ namespace creaImageIO GimmickDebugMessage(1,"WxGimmickView::~WxGimmickView" <IsAlive()) - { - mListener->Delete(); - } + delete mViewer; + //if(mListener->IsAlive()) { mListener->Delete(); } } //====================================================================== @@ -463,6 +465,7 @@ namespace creaImageIO DisplayAddSummary(); } mViewer->StartPlayer(); + delete FD; } @@ -649,6 +652,7 @@ namespace creaImageIO //================================================== +#if defined(WIN32) //================================================== void WxGimmickView::OnInternalIdle() { @@ -665,7 +669,15 @@ namespace creaImageIO mViewer->RefreshIfNecessary(); } } - +#else + void WxGimmickView::UpdateWindowUI(long flags) + { + if(mViewer) + { + mViewer->RefreshIfNecessary(); + } + } +#endif //================================================== //================================================== @@ -906,7 +918,7 @@ namespace creaImageIO nb->AddPage( pacs, crea::std2wx("Connect to PACS") ); //Third page: CD/DVD Watch - WxListenerPanel* cdWatch=new WxListenerPanel(nb,dial, this, mListener->IsPaused()); + WxListenerPanel* cdWatch=new WxListenerPanel(nb,dial, this,true);//, mListener->IsPaused()); nb->AddPage( cdWatch, crea::std2wx("CD/DVD") ); //Fourth page: Selection of attributes to show @@ -1016,6 +1028,46 @@ namespace creaImageIO dial->ShowModal(); } + //======================================================================== + void WxGimmickView::DumpTags(std::string i_filename) + { + WxDumpPanel* pan= new WxDumpPanel (this,i_filename); + pan->ShowModal(); + } + + //======================================================================== + void WxGimmickView::ExportToStorage(const std::vector i_filenames) + { + std::vector storages; + Gimmick::TreeHandlerMapType::iterator it = mGimmick->GetTreeHandlerMap().begin(); + for(;it != mGimmick->GetTreeHandlerMap().end(); it++) + { + storages.push_back(it->first); + } + + WxExportDlg* exp= new WxExportDlg(this,storages); + if ( exp->ShowModal() ==ID_EXPORT_OK) + { + std::string storage = exp->GetStorage(); + mProgressDialog = + new wxProgressDialog(_T("Adding file(s)"), + _T(""), + 1000, + this, + wxPD_ELAPSED_TIME | + // wxPD_ESTIMATED_TIME | + // wxPD_REMAINING_TIME | + wxPD_CAN_ABORT ); + mGimmick->AddFiles(storage,i_filenames); + mProgressDialog->Pulse(_T("Updating view...")); + UpdateTreeViewLevel(storage,1); + delete mProgressDialog; + DisplayAddSummary(); + } + } + + + //======================================================================== void WxGimmickView::OnFieldsEdited(tree::Node* node, const std::string& name, const std::string& key, const std::string& val) {