1 #include "interfToolsSpreadPanel.h"
3 interfToolsSpreadPanel::interfToolsSpreadPanel(wxWindow * parent, int sizex, int sizey,wxEvtHandler* evtHandler)
4 : wxPanel(parent, -1, wxDefaultPosition, wxSize(sizex, sizey), wxBORDER_THEME){
5 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(3,1,2,2);
6 this->SetSizer(flexsizer, true);
7 this->SetAutoLayout( true );
9 resetbuttxt = initializeButton("data/Icons/reset.png", "Reset");
11 wxFlexGridSizer* flexsizer1 = new wxFlexGridSizer(1,2,2,2);
12 radiobox = initializeRadioBox();
13 addremovecont = initializeAddRemoveContour();
14 flexsizer1->Add(radiobox,wxFIXED_MINSIZE);
15 flexsizer1->Add(addremovecont,wxEXPAND | wxALIGN_CENTRE_VERTICAL);
17 gobuttxt = initializeButton("data/Icons/Go.png", "Go");
19 flexsizer->Add(resetbuttxt, wxFIXED_MINSIZE);
20 flexsizer->Add(flexsizer1, wxFIXED );
21 flexsizer->Add(gobuttxt, wxFIXED_MINSIZE);
29 interfToolsSpreadPanel::~interfToolsSpreadPanel()
33 wxPanel* interfToolsSpreadPanel::initializeRadioBox(){
34 wxPanel* panel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, _T(""));
35 wxString lstOptions[3];
36 lstOptions[0]=_T("A");
37 lstOptions[1]=_T("B");
38 lstOptions[2]=_T("C");
39 wxRadioBox* _spreadMethodRadiobox = new wxRadioBox(panel, -1, _T("Method"), wxDefaultPosition, wxSize(45,80), 3 , lstOptions, 3, wxRA_SPECIFY_ROWS);
40 _spreadMethodRadiobox->SetSelection(2);
44 wxPanel* interfToolsSpreadPanel::initializeButton(std::string path, std::string nom){
47 wxPanel* panel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, _T(""));
49 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1,2,2,2);
50 panel->SetSizer(flexsizer, true);
51 panel->SetAutoLayout( true );
53 wxBitmap* bitmap = new wxBitmap(path, wxBITMAP_TYPE_PNG);
55 wxBitmapButton* bitmapbutton = new wxBitmapButton(panel, -1, *bitmap, wxDefaultPosition, wxDefaultSize,
56 wxBU_AUTODRAW, wxDefaultValidator, _T(""));
59 wxStaticText* statictext = new wxStaticText(panel, -1, wxString(nom), wxDefaultPosition,
60 wxDefaultSize, wxALIGN_CENTRE, wxString(nom));
63 flexsizer->Add(bitmapbutton, wxFIXED_MINSIZE);
64 flexsizer->Add(statictext, wxALIGN_CENTRE_VERTICAL | wxALIGN_CENTER_HORIZONTAL |wxEXPAND);
71 wxPanel* interfToolsSpreadPanel::initializeAddRemoveContour(){
73 wxPanel* panel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE |wxVSCROLL , _T(""));
75 scrollwin = new wxScrolledWindow(panel, -1, wxDefaultPosition, wxSize(80,50), wxVSCROLL, _T(""));
77 checkboxsizer = new wxFlexGridSizer(0,1,2,2);
80 scrollwin->SetSizer(checkboxsizer, true);
81 scrollwin->SetAutoLayout( false );
82 //scrollwin->SetInitialSize(wxSize(200,200));
88 void interfToolsSpreadPanel::addContourCheckBox(std::string id){
91 wxCheckBox* check = new wxCheckBox(scrollwin, -1, wxString(id), wxDefaultPosition, wxDefaultSize, 0,
92 wxDefaultValidator, wxString(id));
94 checkvect.push_back(id);
96 checkboxsizer->Add(check, wxFIXED_MINSIZE | wxALIGN_LEFT );
98 checkboxsizer->Layout();
102 void interfToolsSpreadPanel::removeContourCheckBox(std::string id){
105 for(int i = 0; i < checkvect.size(); i++){
106 std::string temp = checkvect[i];
112 if(checkboxsizer->Remove(index)){
113 checkboxsizer->Layout();
115 throw "The checkbox could not be removed";