//---------------------------------------------------------------------------------------------------------------- // Class definition include //---------------------------------------------------------------------------------------------------------------- #include "wxContourGUIExample.h" #include "wxContourMainFrame.h" //#include "OutlineModelManager.h" //#include "wxContourEventHandler.h" //#include #include #include #include //#include "wxContourMainPanel.h" #include "vtkMetaImageReader.h" #include #include "vtkImageData.h" #include "wx/artprov.h" #include /* EED EraseMe //#include "OutlineModelBuilder.h" //#include "ContourThing.h" //#include "AxeThing.h" //#include "ImageSourceThing.h" //#include "ImageSectionThing.h" //#include "SomeEnvironment.h" //#include "ReaderEnvironment.h" //#include "interfMainPanel.h" #if defined(MACOSX) // assume this is OSX # include # include // _NSGetExecutablePath : must add -framework CoreFoundation to link line # include # ifndef PATH_MAX # define PATH_MAX MAXPATHLEN # endif #endif // MACOSX */ #ifndef PATH_MAX // If not defined yet : do it # define PATH_MAX 2048 #endif #if defined(WIN32) #include #else #include #endif #include wxContourMainFrame* wxTheApplication::frame = 0; //---------------------------------------------------------------------------------------------------------------- // This macro implements the entry point (main function) for the application //---------------------------------------------------------------------------------------------------------------- #if defined(_WIN32) #define CREACONTOUR_VALID_FILE_SEPARATOR_CHAR '\\' #else #define CREACONTOUR_VALID_FILE_SEPARATOR_CHAR '/' #endif //========================================================================= std::string GetExecutablePath() { char name[PATH_MAX]; //EED int err = get_app_path(name, PATH_MAX); int err = crea::System::GetAppPath(name,PATH_MAX); if (err) { printf("Could not determine current executable path ? "); } // remove the exe name char *slash; slash = strrchr(name, CREACONTOUR_VALID_FILE_SEPARATOR_CHAR); if (slash) { *slash = 0; } return name; } //========================================================================= //========================================================================= 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 min_image_type = GIMMICK_2D_IMAGE_SELECTION; int max_image_type = GIMMICK_3D_IMAGE_SELECTION; int output_dim = NATIVE; int threads = 1; std::vector images; printf("EED wxContourGUIExample:OnInit 1\n"); creaImageIO::WxGimmickReaderDialog w(0, -1, "creaContours_Descriptor.dscp", "creatisContours DB", _T("WxGimmickDialog test"), wxDefaultPosition,wxSize(1200,800) ,min_image_type, max_image_type, output_dim, threads); w.ShowModal(); printf("EED wxContourGUIExample:OnInit 2\n"); //JCP //std::string datadir( crea::wx2std(GetExecutablePath()) ); std::string datadir( GetExecutablePath() ); //JCP #ifdef LINUX /* assume this is OSX */ datadir=datadir+"/../share/creaContours"; #endif // MACOSX #ifdef MACOSX /* assume this is OSX */ datadir=datadir+"/../../../../share/creaContours"; #endif // MACOSX 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 << "$$$$ "<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,datadir ); frame1->CreateStatusBar(); frame1->Show(TRUE); frame->RefreshInterface(); return TRUE; } #if(WIN32) int main(int argc, char* argv[]) { return WinMain(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), SW_SHOWNORMAL); } #else #endif