From: guigues Date: Mon, 20 Apr 2009 11:30:32 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: EED.02Oct2009~96 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=ab4f051eca01a4340f78587f97e89eeb46a8d8a7;p=creaImageIO.git *** empty log message *** --- diff --git a/appli/TestWxGimmickReaderDialog/main.cxx b/appli/TestWxGimmickReaderDialog/main.cxx index 8be4ec4..f2885d1 100644 --- a/appli/TestWxGimmickReaderDialog/main.cxx +++ b/appli/TestWxGimmickReaderDialog/main.cxx @@ -25,8 +25,8 @@ bool myApp::OnInit( ) wxInitAllImageHandlers(); - creaImageIO::SetGimmickMessageLevel(1); - creaImageIO::SetGimmickDebugMessageLevel(1); + creaImageIO::SetGimmickMessageLevel(5); + creaImageIO::SetGimmickDebugMessageLevel(0); int min_dim = GIMMICK_2D_IMAGE_SELECTION; diff --git a/appli/gimmick/main.cxx b/appli/gimmick/main.cxx index cecd0f7..bee8ff1 100644 --- a/appli/gimmick/main.cxx +++ b/appli/gimmick/main.cxx @@ -1,5 +1,5 @@ #include - + using namespace boost; namespace po = boost::program_options; @@ -10,84 +10,93 @@ using namespace std; int main(int ac, char* av[]) { - - creaImageIO::Gimmick g; - int verb,deb; - std::string handler("Local database"); - - //Describes first group of options - po::options_description generic("GENERIC"); - generic.add_options() + + creaImageIO::Gimmick g; + int verb,deb; + std::string handler("Local database"); + + //Describes first group of options + po::options_description generic("GENERIC"); + generic.add_options() ("help,h", "Print help and exit") - ("version,V", "Print version and exit"); - - //Describes second group of options - po::options_description command("COMMANDS"); - command.add_options() + ("version,V", "Print version and exit"); + + //Describes second group of options + po::options_description command("COMMANDS"); + command.add_options() ("print,p","Prints the local database tree (default=off)") ("file,f",po::value< vector >(),"Adds the file to the local database") - ("dir,d",po::value< vector >(),"Adds the directory to the local database") - ("recurse,r","Recurse into sub-directories (default=off)"); - - //Describes third group of options - po::options_description option("OPTIONS"); - option.add_options() + ("dir,d",po::value< vector >(),"Adds the directory to the local database") + ("sync,s","Synchronizes the local database with the files") + ("recurse,r","Recurse into sub-directories (default=off)"); + + //Describes third group of options + po::options_description option("OPTIONS"); + option.add_options() ("verbose,v",po::value(&verb),"Verbosity level (default=`1')") - ("debug,D",po::value(&deb),"Debug messages level (default=`0')"); - - - //Adds the groups into a big one - po::options_description cmdline_options; - cmdline_options.add(generic).add(command).add(option); - - //Adds the corresponding variables - po::variables_map vm; - po::store(po::parse_command_line(ac, av, cmdline_options), vm); - po::notify(vm); + ("debug,D",po::value(&deb),"Debug messages level (default=`0')"); + + + //Adds the groups into a big one + po::options_description cmdline_options; + cmdline_options.add(generic).add(command).add(option); + + //Adds the corresponding variables + po::variables_map vm; + po::store(po::parse_command_line(ac, av, cmdline_options), vm); + po::notify(vm); + + //Does something on each option + //GENERIC + if (vm.count("help")) { + cout << "Usage: gimmick COMMAND [OPTIONS]:\n"; + cout << cmdline_options << "\n"; + } + if (vm.count("version")) { + cout << "gimmick 0.1.0\n"; + } + + //OPTIONS + if (vm.count("verbose")) { + g.SetMessageLevel(verb); + cout << "Verbose level is now "<LoadChildren(0,0); - g.Print(handler); + g.GetTreeHandler(handler)->LoadChildren(0,0); + g.Print(handler); } if (vm.count("file")) { - std::vector files=vm["file"].as< vector >(); - g.AddFiles(handler,files); + std::vector files=vm["file"].as< vector >(); + g.AddFiles(handler,files); } if (vm.count("dir")) { - std::vector dirs=vm["dir"].as< vector >(); - g.AddDir(handler,dirs.front(), vm.count("recurse")); + std::vector dirs=vm["dir"].as< vector >(); + g.AddDir(handler,dirs.front(), vm.count("recurse")); } - g.Finalize(); - } - catch (crea::Exception e) - { - e.Print(); - } - + if (vm.count("sync")) { + g.Synchronize(true,g.GetTreeHandler(handler)); + } + g.Finalize(); + } + catch (crea::Exception e) + { + e.Print(); + } + return 0; } diff --git a/src2/creaImageIOMultiThreadImageReader.cpp b/src2/creaImageIOMultiThreadImageReader.cpp index 9d2c090..9e4db3c 100644 --- a/src2/creaImageIOMultiThreadImageReader.cpp +++ b/src2/creaImageIOMultiThreadImageReader.cpp @@ -44,7 +44,7 @@ namespace creaImageIO : //mDoNotSignal(false), mReader(0), mTotalMem(0), - mTotalMemMax(1500000) + mTotalMemMax(1000000) { // std::cout << "#### MultiThreadImageReader::MultiThreadImageReader(" // << " #threads= " << number_of_threads <<" )"<GetImage(); } - + + /* mRequestedFilename = filename; mRequestedImage = 0; ImageToLoad itl(this,filename); @@ -359,11 +365,13 @@ namespace creaImageIO mImages[pitl] = 0; mQueue.insert(pitl); } + */ } while (0); // std::cout << "Waiting..."<StopPlayer(); long style = wxOPEN | wxFILE_MUST_EXIST | wxFD_MULTIPLE; std::string wc("*.*"); wxFileDialog* FD = new wxFileDialog( 0, @@ -331,14 +332,16 @@ namespace creaImageIO UpdateTreeViewLevel("Local database",1); delete mProgressDialog; DisplayAddSummary(); + } - + mViewer->StartPlayer(); } //================================================= //================================================= void WxGimmickView::OnAddDir(wxCommandEvent& event) { + mViewer->StopPlayer(); long style = wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST; wxDirDialog* FD = new wxDirDialog( 0, @@ -348,6 +351,7 @@ namespace creaImageIO if (FD->ShowModal()==wxID_OK) { + std::string dirname = wx2std (FD->GetPath()); bool recurse = isNeedRecursive(dirname); @@ -380,7 +384,9 @@ namespace creaImageIO UpdateTreeViewLevel("Local database",1); delete mProgressDialog; DisplayAddSummary(); + } + mViewer->StartPlayer(); } //================================================= diff --git a/src2/creaImageIOWxTreeView.cpp b/src2/creaImageIOWxTreeView.cpp index 2050e53..73ff7c4 100644 --- a/src2/creaImageIOWxTreeView.cpp +++ b/src2/creaImageIOWxTreeView.cpp @@ -403,7 +403,7 @@ namespace creaImageIO } //===================================================================== - //===================================================================== + //===================================================================== /// Recursive method called upon by UpdateLevel to refresh all windows void WxTreeView::RecursiveUpdateLevel( int level ) { @@ -413,11 +413,11 @@ namespace creaImageIO <& sel(GetSelected(level)); - + int l = level - 1; - + // to speed up inserting we hide the control temporarily GetCtrl(l)->Hide(); GetCtrl(l)->DeleteAllItems(); @@ -434,76 +434,89 @@ namespace creaImageIO int _id=0; //Adds items and sets their attributes - + GetTreeHandler()->LoadChildren(*i,1); tree::Node::ChildrenListType::reverse_iterator j; for (j = (*i)->GetChildrenList().rbegin(); j!= (*i)->GetChildrenList().rend(); ++j) { - GimmickDebugMessage(1, - "adding children " - <<(*j)->GetLabel() - <<"'" - <node = *j; - data->id = _id; - - item.SetId(_id); - item.SetData(data); - - _id++; - GetCtrl(l)->InsertItem(item); - - //Setting attributes - for (int k=0; kGetColumnCount(); ++k) - { - std::string val; - // Temporary correction : it works but no explanation about the problem FCY - if(k==0 && level <3) - val = (*j)->GetAttribute("NumberOfChildren"); - else - val = (*j)->GetAttribute(mLevelList[l].key[k]); - if(((*j)->GetAttributeDescriptor(mLevelList[l].key[k])).isDateEntry()) // Date - { - boost::gregorian::date d1(boost::gregorian::from_undelimited_string(val)); - val = to_iso_extended_string(d1); - } - else if(((*j)->GetAttributeDescriptor(mLevelList[l].key[k])).isTimeEntry()) // Time - { - if (val != "" || val != " ") - val = val.substr(0,2) + " : " + val.substr(2,2) + " : " + val.substr(4,2); - } - else - { - - } - if (val.size()==0) val = "?"; - item.SetText( crea::std2wx(val)); - item.SetColumn(k); - GetCtrl(l)->SetItem(item); - } - - } + GimmickDebugMessage(1, + "adding children " + <<(*j)->GetLabel() + <<"'" + <node = *j; + data->id = _id; + + item.SetId(_id); + item.SetData(data); + + _id++; + GetCtrl(l)->InsertItem(item); + + //Setting attributes + for (int k=0; kGetColumnCount(); ++k) + { + std::string val; + // Temporary correction : it works but no explanation about the problem FCY + if(k==0 && level <3) + val = (*j)->GetAttribute("NumberOfChildren"); + else + val = (*j)->GetAttribute(mLevelList[l].key[k]); + if(((*j)->GetAttributeDescriptor(mLevelList[l].key[k])).isDateEntry()) // Date + { + // std::cout << "["<GetAttributeDescriptor(mLevelList[l].key[k])).isTimeEntry()) // Time + { + if ((val.size()>6) && + (val != "" || val != " ")) + val = val.substr(0,2) + " : " + + val.substr(2,2) + " : " + + val.substr(4,2); + } + else + { + + } + if (val.size()==0) val = "?"; + item.SetText( crea::std2wx(val)); + item.SetColumn(k); + GetCtrl(l)->SetItem(item); + } + + } } - + SortLevel(l); GetCtrl(l)->Show(); - } + } //===================================================================== - - + + //================================================================ void WxTreeView::OnItemDeSelected(wxListEvent& event) { @@ -518,12 +531,12 @@ namespace creaImageIO if ( GetCtrl(level) == obj ) break; } SetSelectedUpToDate(level,false); - // to allow a first selection in images TreeView - if (level==mLevelList.size()-1) - OnItemSelected(event); + // to allow a first selection in images TreeView + if (level==mLevelList.size()-1) + OnItemSelected(event); } //================================================================ - + //================================================================ void WxTreeView::OnItemSelected(wxListEvent& event) {