#pragma once #include #include "wxContourEventHandler.h" #include "interfNewContourMenu.h" #include "interfIOMenu.h" #include "interfEditMenu.h" #include "interfDeleteMenu.h" #include "interfToolsMenu.h" #include "interfToolsSpreadPanel.h" #include "interfMenuBar.h" #include #include #include #include #include #include class interfMainPanel : public wxPanel { public: interfMainPanel(wxWindow * parent, int sizex, int sizey, wxEvtHandler * evtHandler, std::string datadir = "data/Icons"); ~interfMainPanel(void); /** This method should be called the first time by the parent class ** in creates all the panels the first time **/ static interfMainPanel* getInstance(wxWindow* parent, wxEvtHandler * evtHandler, std::string datadir); /** This method should be called the first time by the parent class ** in creates all the panels the first time **/ static interfMainPanel* getInstance(wxWindow* parent, wxEvtHandler * evtHandler); /** ** Gets the instance of the class **/ static interfMainPanel* getInstance(); /** ** Adds a new checkbox to the scrolledwindow using the checkboxsizer ** @Params id of contour ** **/ void addContourCheckBox(std::string id); /** ** Removes a checkbox from the list of checkboxes in the flexsizer (checkboxsizer) ** @Params id of contour ** **/ void removeContourCheckBox(std::string id); /** ** Responds to the events of the buttons, when the same panel is responsible for it. It gets the name ** of the button corresponding to the method that has to be executed, ** it uses attribute eventHandler to call the methods define by the application. ** see setEventHandler(wxEventHandler*) **/ void onActionButtonPressed1( wxCommandEvent& event ); /** ** Shows the panel in the **/ void showPanel(wxWindow* panel); /** ** Gets the Information panel **/ wxPanel* getInfoPanel(); private: static interfMainPanel* interfmainpanel; wxPanel* menubar; wxPanel* menubar1; wxPanel* menubar2; wxPanel* menubar3; wxPanel* menubar4; wxPanel* menubar5; wxWindow* currentWindow; wxSplitterWindow* splitterwindow; wxPanel* infoPanel; wxStaticText* statictext; wxStaticText* statictext1; wxStaticText* statictext2; wxStaticText* statictext3; wxStaticText* statictext4; wxStaticText* statictext5; std::string PANEL; std::string PANEL1; std::string PANEL2; std::string PANEL3; std::string PANEL4; std::string PANEL5; //This attribute contains the panel in charge of adding and removing the corresponding checkboxes in //list of contours interfToolsSpreadPanel* toolspread; /** ** This method initializes the tools panel, with the bar and the panel where the contours can be added ** and removed. ** @params size of the buttons panel ** @params sizey of the buttons panel ** @params evtHandler this is the class in charge of responding to the events of the buttons **/ wxPanel* initializeToolsPanel(wxWindow* parent, int sizex, int sizey, wxEvtHandler * evtHandler); /** ** initialize a statictext component of the interface **/ wxStaticText* getText(wxWindow* parent, std::string nom); /** ** initializes a button with data **/ wxButton* getButton(wxWindow* parent); /** ** Puts the panel button and the text int the sizer **/ wxPanel* setMenuTextSizer(wxWindow* parent, wxPanel* panel, wxStaticText* text); };