X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxGimmickView.cpp;h=0cab09e7fb79d2a49630e6922e13b093f0831421;hb=a00e6172593c713640aaa9bf1e61db6200231a0f;hp=37c0f190560c8a42a5abe9c330079ad9b3855ae9;hpb=b0843014c5482f70050fab8036c6780172e3b6c9;p=creaImageIO.git diff --git a/src2/creaImageIOWxGimmickView.cpp b/src2/creaImageIOWxGimmickView.cpp index 37c0f19..0cab09e 100644 --- a/src2/creaImageIOWxGimmickView.cpp +++ b/src2/creaImageIOWxGimmickView.cpp @@ -8,6 +8,8 @@ #include #include #include +#include +#include using namespace crea; // Icons @@ -32,6 +34,10 @@ using namespace crea; #endif +#include +#ifdef _DEBUG +#define new DEBUG_NEW +#endif namespace creaImageIO { @@ -113,11 +119,11 @@ namespace creaImageIO 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... @@ -139,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 @@ -151,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(); @@ -171,10 +177,10 @@ 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(); @@ -196,6 +202,7 @@ namespace creaImageIO GimmickDebugMessage(1,"WxGimmickView::~WxGimmickView" <IsAlive()) { mListener->Delete(); } } //====================================================================== @@ -458,6 +465,7 @@ namespace creaImageIO DisplayAddSummary(); } mViewer->StartPlayer(); + delete FD; } @@ -644,6 +652,7 @@ namespace creaImageIO //================================================== +#if defined(WIN32) //================================================== void WxGimmickView::OnInternalIdle() { @@ -660,7 +669,15 @@ namespace creaImageIO mViewer->RefreshIfNecessary(); } } - +#else + void WxGimmickView::UpdateWindowUI(long flags) + { + if(mViewer) + { + mViewer->RefreshIfNecessary(); + } + } +#endif //================================================== //================================================== @@ -901,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 @@ -1011,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) {