From: donadio Date: Tue, 14 Apr 2009 09:05:25 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: EED.02Oct2009~52 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=6c03e0da23ae573ca08a0cf362219e944cf7d50a;p=creaContours.git *** empty log message *** --- diff --git a/lib/Interface_Icons_NDimensions/interfMainPanel.cxx b/lib/Interface_Icons_NDimensions/interfMainPanel.cxx index 14abda7..08cdc94 100644 --- a/lib/Interface_Icons_NDimensions/interfMainPanel.cxx +++ b/lib/Interface_Icons_NDimensions/interfMainPanel.cxx @@ -27,15 +27,18 @@ interfMainPanel::interfMainPanel(wxWindow * parent, int sizex, int sizey, wxEvtH segmentPanelITK = NULL; configPanel = NULL; spreadPanel = NULL; - infoWin=NULL; - informationPanel=NULL; - mirrorPanel=NULL; + infoWin = NULL; + informationPanel = NULL; + mirrorPanel = NULL; + thresholdPanel = NULL; + currentWindow = NULL; splitterwindow = new wxSplitterWindow(this,-1, wxDefaultPosition, wxSize(sizex, sizey), wxSP_3DSASH, wxString(_T(""))); + splitterwindow->SetMinimumPaneSize( 10 ); - sizey = sizey/8; - currentWindow = NULL; + + wxPanel* toolpanel = new wxPanel(splitterwindow, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T(""))); @@ -104,6 +107,7 @@ interfMainPanel::interfMainPanel(wxWindow * parent, int sizex, int sizey, wxEvtH infoPanel->SetAutoLayout( true ); splitterwindow->Initialize(toolpanel); + splitterwindow->SetSashGravity(1); splitterwindow->SplitHorizontally(toolpanel, infoPanel); Connect(b->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); @@ -114,98 +118,6 @@ interfMainPanel::interfMainPanel(wxWindow * parent, int sizex, int sizey, wxEvtH Connect(b5->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); this->Layout(); - /*sizey = sizey/8; - currentWindow = NULL; - - PANEL = "New Contour"; - PANEL1 = "I/O"; - PANEL2 = "Edit"; - PANEL3 = "Delete"; - PANEL4 = "Tools"; - - - wxPanel* toolpanel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - - wxFlexGridSizer* flexsizer = new wxFlexGridSizer(6,2,2,2); - toolpanel->SetSizer(flexsizer, true); - toolpanel->SetAutoLayout( true ); - - wxButton* b = getButton(toolpanel); - b->SetClientData(&PANEL); - wxButton* b1 = getButton(toolpanel); - b1->SetClientData(&PANEL1); - wxButton* b2 = getButton(toolpanel); - b2->SetClientData(&PANEL2); - wxButton* b3 = getButton(toolpanel); - b3->SetClientData(&PANEL3); - wxButton* b4 = getButton(toolpanel); - b4->SetClientData(&PANEL4); - - - wxPanel* mentex = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - wxPanel* mentex1 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - wxPanel* mentex2 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - wxPanel* mentex3 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - wxPanel* mentex4 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - - menubar = new interfNewContourMenu(mentex, sizex, sizey, evtHandler); - menubar1 = new interfIOMenu(mentex1, sizex, sizey, evtHandler); - menubar2 = new interfEditMenu(mentex2, sizex, sizey, evtHandler); - menubar3 = new interfDeleteMenu(mentex3, sizex, sizey, evtHandler); - menubar4 = new interfToolsMenu(mentex4, sizex,sizey, evtHandler); - -// this->initializeToolsPanel(mentex4, sizex, sizey, evtHandler); - - statictext = getText(mentex, PANEL); - statictext1 = getText(mentex1, PANEL1); - statictext2 = getText(mentex2, PANEL2); - statictext3 = getText(mentex3, PANEL3); - statictext4 = getText(mentex4, PANEL4); - - - - flexsizer->Add(b, wxFIXED_MINSIZE); - flexsizer->Add(setMenuTextSizer(mentex, menubar,statictext), wxFIXED_MINSIZE); - - flexsizer->Add(b1, wxFIXED_MINSIZE); - flexsizer->Add(setMenuTextSizer(mentex1, menubar1,statictext1), wxFIXED_MINSIZE); - - flexsizer->Add(b2, wxFIXED_MINSIZE); - flexsizer->Add(setMenuTextSizer(mentex2, menubar2,statictext2), wxFIXED_MINSIZE); - - flexsizer->Add(b3, wxFIXED_MINSIZE); - flexsizer->Add(setMenuTextSizer(mentex3, menubar3,statictext3), wxFIXED_MINSIZE); - - flexsizer->Add(b4, wxFIXED_MINSIZE); - flexsizer->Add(setMenuTextSizer(mentex4, menubar4,statictext4), wxFIXED_MINSIZE); - - toolpanel->Layout(); - - infoPanel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER, wxString("")); - wxFlexGridSizer* infosizer = new wxFlexGridSizer(5,2,2,2); - infoPanel->SetSizer(infosizer, true); - infoPanel->SetAutoLayout( true ); - - - - wxFlexGridSizer* mainsizer = new wxFlexGridSizer(1); - this->SetSizer(mainsizer, true); - this->SetAutoLayout( true ); - - - mainsizer->Add(toolpanel,wxEXPAND); - mainsizer->Add(new wxSplitterWindow(this,-1, wxDefaultPosition, wxDefaultSize, wxSP_3DBORDER, wxString("")), wxEXPAND); - mainsizer->Add(infoPanel, wxEXPAND); - - - Connect(b->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); - Connect(b1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); - Connect(b2->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); - Connect(b3->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); - Connect(b4->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); - - this->Layout();*/ - } interfMainPanel::~interfMainPanel(void) @@ -214,11 +126,11 @@ interfMainPanel::~interfMainPanel(void) interfMainPanel* interfMainPanel::getInstance(wxWindow* parent, std::string datadir, wxEvtHandler * evtHandler){ - wxFrame* newframe = new wxFrame(parent, -1, wxT("New Interface"), wxPoint(1,1), wxSize(380,750),wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT); + wxFrame* newframe = new wxFrame(parent, -1, wxT(" Contour Tools "), wxPoint(25,50), wxSize(350,850),wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT); if(interfmainpanel == NULL){ - interfmainpanel = new interfMainPanel(newframe, 380, 750, evtHandler, datadir); + interfmainpanel = new interfMainPanel(newframe, 350, 850, evtHandler, datadir); } newframe->Show(TRUE); @@ -227,21 +139,27 @@ interfMainPanel* interfMainPanel::getInstance(wxWindow* parent, std::string data interfMainPanel* interfMainPanel::getInstance(wxWindow* parent, wxEvtHandler * evtHandler){ - wxFrame* newframe = new wxFrame(parent, -1, wxT("New Interface"), wxPoint(1,1), wxSize(380,750),wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT ); + wxFrame* newframe = new wxFrame(parent, -1, wxT(" Contour Tools "), wxPoint(25,50), wxSize(350,850),wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT ); if(interfmainpanel == NULL){ - interfmainpanel = new interfMainPanel(newframe, 380, 750, evtHandler); + interfmainpanel = new interfMainPanel(newframe, 350, 850, evtHandler); } newframe->Show(TRUE); return interfmainpanel; } -interfMainPanel* interfMainPanel::getInstance(){ +interfMainPanel* interfMainPanel::getInstance() +{ return interfmainpanel; } +void interfMainPanel :: resetInstance() +{ + delete interfmainpanel; + interfmainpanel = NULL; +} wxPanel* interfMainPanel::initializeToolsPanel(wxWindow* parent, int sizex, int sizey, wxEvtHandler * evtHandler){ @@ -357,7 +275,8 @@ wxPanel* interfMainPanel::setMenuTextSizer(wxWindow* parent, wxPanel* panel, wxS /** ** Shows the panel in the **/ -void interfMainPanel::showPanel(wxWindow* panel){ +void interfMainPanel::showPanel(wxWindow* panel) +{ wxContourMainFrame::getInstance()->showAxis(false); wxSizer* sizer = infoPanel->GetSizer(); @@ -469,6 +388,12 @@ vtkImageData* interfMainPanel::getImageData(){ return wxContourMainFrame::getInstance()->getImageData(); } +void interfMainPanel::getImageRange(double range[2] ) +{ + vtkImageData * img = getImageData(); + img->GetScalarRange(range); +} + void interfMainPanel::onSegmentationOneSlice(int isovalue,int sampling,int method) { wxContourMainFrame::getInstance()->onSegmentationOneSlice(isovalue, sampling, method); @@ -495,6 +420,11 @@ void interfMainPanel::onMirror() wxContourMainFrame::getInstance()->onMirror(); } +void interfMainPanel::onMirrorChangeWidth(int width) +{ + wxContourMainFrame::getInstance()->refLineChangeWidth(width); +} + void interfMainPanel::setLabelSegmentationPanelVTK(wxString tmpString){ ((interfSegmentationPanelVTK*)segmentationPanel)->setLabel(tmpString); } @@ -715,7 +645,8 @@ void interfMainPanel::onSnakePressed(){ } void interfMainPanel::onMirrorPressed(){ - if(mirrorPanel==NULL){ + if(mirrorPanel==NULL) + { mirrorPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T(""))); wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1); @@ -756,3 +687,51 @@ void interfMainPanel::onMirrorPressed(){ } } + + +void interfMainPanel::onThreshold(int minVal, int maxVal) +{ + wxContourMainFrame::getInstance()->onThreshold(minVal, maxVal); +} + +void interfMainPanel::onThresholdPressed() +{ + if(thresholdPanel==NULL) + { + + thresholdPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T(""))); + wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1); + thresholdPanel->SetSizer(flexsizer, true); + thresholdPanel->SetAutoLayout( true ); + panelThreshold = new interfThresholdPanel(thresholdPanel); + + wxStaticText* stattext = new wxStaticText(thresholdPanel, -1, wxString(_T(" Threshold Tool ")), wxDefaultPosition, + wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T(""))); + + flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE); + flexsizer->Add(panelThreshold, wxEXPAND); + thresholdPanel->Layout(); + showPanel(thresholdPanel); + } + + + else + { + if(thresholdShown) + { + wxContourMainFrame::getInstance()->refLineHide(); + thresholdShown=false; + panelThreshold->onThresholdStop(); + + hidePanel(); + } + + else if (!thresholdShown) + { + wxContourMainFrame::getInstance()->refLineShow(); + thresholdShown=true; + + showPanel(thresholdPanel); + } + } +}