//---------------------------------------------------------------------------------------------------------------- // Class definition include //---------------------------------------------------------------------------------------------------------------- #include "wxContourGUIExample.h" #include "wxContourMainFrame.h" //#include "OutlineModelManager.h" //#include "wxContourEventHandler.h" #include #include //#include "wxContourMainPanel.h" #include "vtkMetaImageReader.h" #include #include "vtkImageData.h" #include "wx/artprov.h" #include //#include "OutlineModelBuilder.h" //#include "ContourThing.h" //#include "AxeThing.h" //#include "ImageSourceThing.h" //#include "ImageSectionThing.h" //#include "SomeEnvironment.h" //#include "ReaderEnvironment.h" //#include "interfMainPanel.h" wxContourMainFrame* wxTheApplication::frame = 0; //---------------------------------------------------------------------------------------------------------------- // This macro implements the entry point (main function) for the application //---------------------------------------------------------------------------------------------------------------- //EED // http://lists.wxwidgets.org/archive/wx-dev/msg30449.html wxString getExecutablePath() { char buf[512]; char* slash; #if defined(WIN32) GetModuleFileName(NULL, buf, 511); slash = strrchr(buf, '\\'); if (slash) { *slash = 0; } #elif defined(__LINUX__) int res; res = readlink("/proc/self/exe", buf, 512); if (res == -1) return _T(""); buf[res] = 0; slash = strrchr(buf, '/'); if (slash) { *slash = 0; } #else return ""; #endif return wxString(buf, wxConvUTF8 ); } IMPLEMENT_APP( wxTheApplication ); /* wxContourGUIExample :: wxContourGUIExample(const wxString& title, const wxPoint& pos, const wxSize& size) : wxFrame((wxFrame *) NULL, -1, title, pos, size) { } */ #ifdef _DEBUG void wxAppConsole::OnAssert(char const *,int,char const *,char const *) { } void wxAppConsole::OnAssertFailure(char const *,int,char const *,char const *,char const *) { } #endif bool wxTheApplication :: OnInit() { wxInitAllImageHandlers(); int image_type = GIMMICK_3D_IMAGE_SELECTION; int threads = 1; creaImageIO::WxGimmickDialog w(0, -1, _T("WxGimmickDialog test"), wxDefaultPosition, wxSize(1200,800), image_type, threads); w.ShowModal(); //vtkImageData* selectedimage=NULL; std::vector images; if(w.GetReturnCode() == wxID_OK){ std::vector s; w.GetSelectedFiles(s); std::vector::iterator i; for (i=s.begin();i!=s.end();++i){ std::cout << *i << std::endl; } std::cout << "$$$$ "<Delete(); }else if (w.GetReturnCode() == wxID_CANCEL){ vtkMetaImageReader *reader = vtkMetaImageReader::New(); wxString filename= getExecutablePath()+ wxString( _T("/data/hola.mhd") , wxConvUTF8 ); reader->SetFileName( filename.c_str() ); reader->Update(); images.push_back(reader->GetOutput()); }else{ return -1; } wxFrame* frame1 = new wxFrame(NULL, wxID_ANY, wxT("ROI Application - Evaluation version, 09 Feb 2009 "), wxPoint(400,50), wxSize(800, 600) ); //frame = new wxContourMainFrame( frame1, wxID_ANY, wxString(_T("")), wxPoint(50,50), wxSize(800, 600), images ); frame = wxContourMainFrame::getInstance(frame1, wxID_ANY, wxString(_T("")), wxPoint(200,50), wxSize(800, 600), images, wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER,(const char*)( getExecutablePath().mb_str() ) ); frame1->CreateStatusBar(); frame1->Show(TRUE); return TRUE; } #if(WIN32) int main(int argc, char* argv[]) { return WinMain(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), SW_SHOWNORMAL); } #else #endif