Program: wxMaracas
Module: $RCSfile: wxMaracasIRMView.cxx,v $
Language: C++
- Date: $Date: 2009/05/29 13:39:56 $
- Version: $Revision: 1.9 $
+ Date: $Date: 2009/06/16 13:25:58 $
+ Version: $Revision: 1.11 $
Copyright: (c) 2002, 2003
License:
wxMaracasIRMView* wxMaracasIRMView::instance=NULL;
-wxMaracasIRMView::wxMaracasIRMView( wxWindow* parent,std::string path)
-: wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){
-
- irmmanager = new wxMaracasIRMViewManager();
+wxMaracasIRMView::wxMaracasIRMView( wxWindow* parent,std::string path)
+: wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){
- wxauimanager = new wxAuiManager(this);
+ irmmanager = new wxMaracasIRMViewManager();
+
+ wxauimanager = new wxAuiManager(this);
_path = path;
std::string iconsdir = path;
iconsdir+="/data/Icons";
- wxToolBar* toolbar = new ToolBar(this,iconsdir);
- wxAuiPaneInfo paneinfo;
- wxauimanager->AddPane(toolbar,paneinfo.ToolbarPane().Top());
+ this->_toolb = new ToolBar(this,iconsdir);
+ wxAuiPaneInfo paneinfo;
+ wxauimanager->AddPane(_toolb,paneinfo.ToolbarPane().Top());
wxauimanager->Update();
createFileChooser();
}
wxMaracasIRMView::~wxMaracasIRMView( ){
+ delete _toolb;
}
void wxMaracasIRMView::createFileChooser(){
-
+
}
wxMaracasIRMView* wxMaracasIRMView::getInstance(wxWindow* parent,std::string path){
irmmanager->changeOpacity(_propid,value);
}
-void wxMaracasIRMView::changeIsoValue(int propid, double value){
+void wxMaracasIRMView::changeIsoValue(int propid, double value){
irmmanager->changeIsoValue(propid, value);
}
if(fildial->ShowModal()==wxID_OK){
wxString filename = fildial->GetFilename();
- wxString pathfile(fildial->GetDirectory() + _T("/") + filename);
-
+ wxString pathfile(fildial->GetDirectory() + _T("/") + filename);
+
- if(filename.EndsWith(mhd)){
+ if(filename.EndsWith(mhd)){
loadPropMHD(pathfile,filename);
}else if(filename.EndsWith(stl)){
loadProp3D(pathfile,filename);
delete fildial;
}
-void wxMaracasIRMView::loadPropMHD(wxString filename, wxString dataname){
-
+void wxMaracasIRMView::loadPropMHD(wxString filename, wxString dataname){
+
std::string s = std::string(filename.mb_str());
vtkImageData* img = irmmanager->getImageData(s);
if(img!=NULL){
s = std::string(dataname.mb_str());
addPropMHD(img, s);
}
-
-
+
+
}
void wxMaracasIRMView::addPropMHD(vtkImageData* imgdata, std::string dataname){
try{
- int id = irmmanager->addPropMHD(imgdata,dataname);
+ int id = irmmanager->addPropMHD(imgdata,dataname);
if(id!=-1){
-
+
wxMaracasIRMViewPanel* controlpan = new wxMaracasIRMViewProp3DMHD(this, id);
int maxiso = irmmanager->getMaxIsoValue(id);
((wxMaracasIRMViewProp3DMHD*)controlpan)->createControls(maxiso);
}
}
-void wxMaracasIRMView::loadProp3D(wxString filename, wxString dataname){
+void wxMaracasIRMView::loadProp3D(wxString filename, wxString dataname){
std::string s = std::string(filename.mb_str());
vtkProp3D* prop3D = irmmanager->getProp3D(s);
if(prop3D != NULL){
}else{
//TODO msj to the user indicating error in file
}
-
-
-
+
+
+
}
void wxMaracasIRMView::addProp3D(vtkProp3D* prop3D, std::string dataname){
}catch(char* str){
std::cout << "Exception : " << str << '\n';
wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
- diag->ShowModal();
+ diag->ShowModal();
}
-
+
}
void wxMaracasIRMView::addIRMViewPanel(wxMaracasIRMViewPanel* irmview, std::string dataname){
wxString s(dataname.c_str(),wxConvUTF8 );
- wxAuiPaneInfo paneinfo;
+ wxAuiPaneInfo paneinfo;
wxauimanager->AddPane(irmview, paneinfo.DefaultPane().Centre().DestroyOnClose().Caption(s));
wxauimanager->Update();
-
-
+
+
}
void wxMaracasIRMView::deleteActor(int propid){
try{
irmmanager->deleteActor(propid);
}catch(char* e){
-
+
}
}
ToolBar::ToolBar(wxWindow * parent,std::string iconsdir)
: wxToolBar(parent, -1, wxDefaultPosition, wxDefaultSize)
-{
+{
std::string iconfil = iconsdir;
//iconfil+= "/OpenImage.png";
//wxBitmap* bitmap0 = new wxBitmap(wxString(iconfil.c_str(),wxConvUTF8), wxBITMAP_TYPE_PNG);
wxBitmap bitmap0(OpenImage_xpm);
- this->AddTool(0, wxString(_T("test")),bitmap0);
+ this->AddTool(1, wxString(_T("test")),bitmap0);
/*iconfil+= "/Open.png";
wxBitmap* bitmap2 = new wxBitmap(wxString(iconfil.c_str(),wxConvUTF8), wxBITMAP_TYPE_PNG);
- this->AddTool(2, wxString(_T("test")),*bitmap2); */
+ this->AddTool(2, wxString(_T("test")),*bitmap2); */
/*iconfil = iconsdir;
iconfil+= "/Open.png";
wxBitmap* bitmap30 = new wxBitmap(wxString(iconfil.c_str(),wxConvUTF8), wxBITMAP_TYPE_PNG);
this->AddTool(30, wxString(_T("test")),*bitmap30);*/
-
+
this->Realize();
-
-
+
+ _evthand = new ToolBarEventHandler();
+ this->SetEventHandler(_evthand);
+
}
ToolBar::~ToolBar(void){
}
-void ToolBar::onLoadImageFile(wxCommandEvent& event){
+
+ToolBarEventHandler::ToolBarEventHandler()
+: wxEvtHandler(){
+}
+ToolBarEventHandler::~ToolBarEventHandler(){
+}
+
+void ToolBarEventHandler::onLoadImageFile(wxCommandEvent& event){
wxMaracasIRMView::getInstance()->onLoadImageFile();
}
-BEGIN_EVENT_TABLE(ToolBar, wxToolBar)
- EVT_MENU(0, ToolBar::onLoadImageFile)
-
+BEGIN_EVENT_TABLE(ToolBarEventHandler, wxEvtHandler)
+ EVT_MENU(1, ToolBarEventHandler::onLoadImageFile)
END_EVENT_TABLE()