#ifndef WMAIN_WXG_H
#define WMAIN_WXG_H
#include <wx/wx.h>
#include <wx/image.h>
#include "wx/intl.h"
#ifndef APP_CATALOG
#define APP_CATALOG "app"  
#endif
#include <wx/splitter.h>
#include <wx/tglbtn.h>
#include "../WSortView.h"
#include "../wxClickText.h"
class WMain_wxg: public wxFrame {
public:
    
    enum {
        ID_RUN_BUTTON = wxID_HIGHEST + 1000,
        ID_RESET_BUTTON = wxID_HIGHEST + 1001,
        ID_STEP_BUTTON = wxID_HIGHEST + 1002,
        ID_SOUND_BUTTON = wxID_HIGHEST + 1003,
        ID_RANDOM_BUTTON = wxID_HIGHEST + 1004,
        ID_RECORD_BUTTON = wxID_HIGHEST + 1005,
        ID_SPEED_SLIDER = wxID_HIGHEST + 1006,
        ID_SOUND_SUSTAIN_SLIDER = wxID_HIGHEST + 1007,
        ID_INVERSION_LABEL = wxID_HIGHEST + 1008,
        ID_ARRAY_SIZE_SLIDER = wxID_HIGHEST + 1009,
        ID_ALGO_LIST = wxID_HIGHEST + 1010
    };
    
    WMain_wxg(wxWindow* parent, int id, const wxString& title, const wxPoint& pos=wxDefaultPosition, const wxSize& size=wxDefaultSize, long style=wxDEFAULT_FRAME_STYLE);
private:
    
    void set_properties();
    void do_layout();
    
protected:
    
    wxStaticBox* sizerInputAlgorithm_staticbox;
    wxStaticBox* sizer_3_staticbox;
    WSortView* sortview;
    wxPanel* splitter_0_pane_1;
    wxToggleButton* runButton;
    wxButton* resetButton;
    wxButton* stepButton;
    wxToggleButton* soundButton;
    wxButton* aboutButton;
    wxButton* randomButton;
    wxToggleButton* recordButton;
    wxSlider* speedSlider;
    wxStaticText* labelDelayValue;
    wxSlider* soundSustainSlider;
    wxStaticText* labelSoundSustainValue;
    wxClickText* labelComparisonsValue;
    wxClickText* labelAccessCount;
    wxClickText* labelInversionCount;
    wxClickText* labelRunsCount;
    wxChoice* inputTypeChoice;
    wxSlider* arraySizeSlider;
    wxStaticText* labelArraySizeValue;
    wxListBox* algoList;
    wxStaticText* pivotRuleLabel;
    wxChoice* pivotRuleChoice;
    wxPanel* panelQuickSortPivot;
    wxTextCtrl* infoTextctrl;
    wxPanel* splitter_0_pane_2;
    wxSplitterWindow* splitter_0;
    
}; 
#endif