diff options
| -rw-r--r-- | src/game_tab/left_panel/GameTabLeftPanel.cpp | 26 | ||||
| -rw-r--r-- | src/game_tab/left_panel/GameTabLeftPanel.hpp | 3 | ||||
| -rw-r--r-- | src/gui.cpp | 31 | ||||
| -rw-r--r-- | src/gui.h | 35 | ||||
| -rw-r--r-- | tools/wxFrameBuilder.fbp | 333 |
5 files changed, 404 insertions, 24 deletions
diff --git a/src/game_tab/left_panel/GameTabLeftPanel.cpp b/src/game_tab/left_panel/GameTabLeftPanel.cpp index 79894d0..bc33d33 100644 --- a/src/game_tab/left_panel/GameTabLeftPanel.cpp +++ b/src/game_tab/left_panel/GameTabLeftPanel.cpp @@ -2,24 +2,16 @@ #include <wx/clipbrd.h> GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, Game *game) - : wxPanel(parent), game(game) { + : TabGameLeftPanel(parent), game(game) { - wxBoxSizer *board_panel_sizer = new wxBoxSizer(wxVERTICAL); + // Add board board_canvas = new BoardCanvas((wxFrame *)this); - board_panel_sizer->Add(board_canvas, 1, wxEXPAND); + main_sizer->Insert(0, board_canvas, 1, wxEXPAND); - // Left Panel buttons - wxBoxSizer *board_panel_button_sizer = new wxBoxSizer(wxHORIZONTAL); - board_panel_button_sizer->Add( - new wxBitmapButton(this, SWAP_BTN, LoadPNG("swap")), 0); - board_panel_button_sizer->Add( - new wxBitmapButton(this, ZOOM_IN_BTN, LoadPNG("zoomin")), 0); - board_panel_button_sizer->Add( - new wxBitmapButton(this, ZOOM_OUT_BTN, LoadPNG("zoomout")), 0); - board_panel_button_sizer->Add(new wxButton(this, COPY_FEN_BTN, L"Copy FEN"), - 0, wxEXPAND); - board_panel_sizer->Add(board_panel_button_sizer, 0); - this->SetSizer(board_panel_sizer); + // Configure buttons + swap_button->SetBitmapLabel(LoadPNG("swap")); + zoomin_button->SetBitmapLabel(LoadPNG("zoomin")); + zoomout_button->SetBitmapLabel(LoadPNG("zoomout")); Bind(PLAY_MOVE_EVENT, &GameTabLeftPanel::OnPlay, this, wxID_ANY); Bind(PREVIOUS_MOVE_EVENT, &GameTabLeftPanel::OnPreviousMove, this, wxID_ANY); @@ -91,6 +83,4 @@ void GameTabLeftPanel::NotifyEditor() { ProcessEvent(previousEvent); } -void GameTabLeftPanel::ApplyPreferences() { - board_canvas->ApplyPreferences(); -} +void GameTabLeftPanel::ApplyPreferences() { board_canvas->ApplyPreferences(); } diff --git a/src/game_tab/left_panel/GameTabLeftPanel.hpp b/src/game_tab/left_panel/GameTabLeftPanel.hpp index 85b1e6e..d2ad3f1 100644 --- a/src/game_tab/left_panel/GameTabLeftPanel.hpp +++ b/src/game_tab/left_panel/GameTabLeftPanel.hpp @@ -7,9 +7,8 @@ // Foreign events wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent); -enum { COPY_FEN_BTN = wxID_HIGHEST + 1, ZOOM_IN_BTN, ZOOM_OUT_BTN, SWAP_BTN }; -class GameTabLeftPanel : public wxPanel { +class GameTabLeftPanel : public TabGameLeftPanel { Game *game; BoardCanvas *board_canvas; void NotifyEditor(); diff --git a/src/gui.cpp b/src/gui.cpp index 6d76c61..9091001 100644 --- a/src/gui.cpp +++ b/src/gui.cpp @@ -421,6 +421,37 @@ TabBase::~TabBase() { } +TabGameLeftPanel::TabGameLeftPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name ) +{ + main_sizer = new wxBoxSizer( wxVERTICAL ); + + wxBoxSizer* bar_sizer; + bar_sizer = new wxBoxSizer( wxHORIZONTAL ); + + swap_button = new wxBitmapButton( this, SWAP_BTN, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); + bar_sizer->Add( swap_button, 0, wxALL|wxEXPAND, 5 ); + + zoomin_button = new wxBitmapButton( this, ZOOM_IN_BTN, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); + bar_sizer->Add( zoomin_button, 0, wxALL|wxEXPAND, 5 ); + + zoomout_button = new wxBitmapButton( this, ZOOM_OUT_BTN, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); + bar_sizer->Add( zoomout_button, 0, wxALL|wxEXPAND, 5 ); + + copy_fen_button = new wxButton( this, COPY_FEN_BTN, wxT("Copy FEN"), wxDefaultPosition, wxDefaultSize, 0 ); + bar_sizer->Add( copy_fen_button, 0, wxALL|wxEXPAND, 5 ); + + + main_sizer->Add( bar_sizer, 0, wxEXPAND, 5 ); + + + this->SetSizer( main_sizer ); + this->Layout(); +} + +TabGameLeftPanel::~TabGameLeftPanel() +{ +} + TabGameRightPanel::TabGameRightPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name ) { wxBoxSizer* main_sizer; @@ -36,6 +36,7 @@ #include <wx/clrpicker.h> #include <wx/checkbox.h> #include <wx/splitter.h> +#include <wx/bmpbuttn.h> #include <wx/notebook.h> /////////////////////////////////////////////////////////////////////////// @@ -49,10 +50,14 @@ #define ID_EXPORT_BUTTON 1006 #define ID_IMPORT_BUTTON 1007 #define ID_DELETE_BUTTON 1008 -#define COMMENT_INPUT_BOX 1009 -#define UPDATE_BTN 1010 -#define DELETE_BTN 1011 -#define LIVE_ANALYSIS_GAME_BUTTON 1012 +#define SWAP_BTN 1009 +#define ZOOM_IN_BTN 1010 +#define ZOOM_OUT_BTN 1011 +#define COPY_FEN_BTN 1012 +#define COMMENT_INPUT_BOX 1013 +#define UPDATE_BTN 1014 +#define DELETE_BTN 1015 +#define LIVE_ANALYSIS_GAME_BUTTON 1016 /////////////////////////////////////////////////////////////////////////////// /// Class MainFrame @@ -244,6 +249,28 @@ class TabBase : public wxPanel }; /////////////////////////////////////////////////////////////////////////////// +/// Class TabGameLeftPanel +/////////////////////////////////////////////////////////////////////////////// +class TabGameLeftPanel : public wxPanel +{ + private: + + protected: + wxBoxSizer* main_sizer; + wxBitmapButton* swap_button; + wxBitmapButton* zoomin_button; + wxBitmapButton* zoomout_button; + wxButton* copy_fen_button; + + public: + + TabGameLeftPanel( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString ); + + ~TabGameLeftPanel(); + +}; + +/////////////////////////////////////////////////////////////////////////////// /// Class TabGameRightPanel /////////////////////////////////////////////////////////////////////////////// class TabGameRightPanel : public wxPanel diff --git a/tools/wxFrameBuilder.fbp b/tools/wxFrameBuilder.fbp index c06d02e..b02a8a4 100644 --- a/tools/wxFrameBuilder.fbp +++ b/tools/wxFrameBuilder.fbp @@ -4171,6 +4171,339 @@ <property name="id">wxID_ANY</property> <property name="maximum_size"></property> <property name="minimum_size"></property> + <property name="name">TabGameLeftPanel</property> + <property name="pos"></property> + <property name="size">500,300</property> + <property name="subclass">; ; forward_declare</property> + <property name="tooltip"></property> + <property name="two_step_creation">0</property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style">wxTAB_TRAVERSAL</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">main_sizer</property> + <property name="orient">wxVERTICAL</property> + <property name="permission">protected</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">0</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">bar_sizer</property> + <property name="orient">wxHORIZONTAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL|wxEXPAND</property> + <property name="proportion">0</property> + <object class="wxBitmapButton" expanded="1"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="auth_needed">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="bitmap"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="current"></property> + <property name="default">0</property> + <property name="default_pane">0</property> + <property name="disabled"></property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="focus"></property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">SWAP_BTN</property> + <property name="label">MyButton</property> + <property name="margins"></property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">swap_button</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="position"></property> + <property name="pressed"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL|wxEXPAND</property> + <property name="proportion">0</property> + <object class="wxBitmapButton" expanded="1"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="auth_needed">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="bitmap"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="current"></property> + <property name="default">0</property> + <property name="default_pane">0</property> + <property name="disabled"></property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="focus"></property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">ZOOM_IN_BTN</property> + <property name="label">MyButton</property> + <property name="margins"></property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">zoomin_button</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="position"></property> + <property name="pressed"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL|wxEXPAND</property> + <property name="proportion">0</property> + <object class="wxBitmapButton" expanded="1"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="auth_needed">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="bitmap"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="current"></property> + <property name="default">0</property> + <property name="default_pane">0</property> + <property name="disabled"></property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="focus"></property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">ZOOM_OUT_BTN</property> + <property name="label">MyButton</property> + <property name="margins"></property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">zoomout_button</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="position"></property> + <property name="pressed"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL|wxEXPAND</property> + <property name="proportion">0</property> + <object class="wxButton" expanded="1"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="auth_needed">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="bitmap"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="current"></property> + <property name="default">0</property> + <property name="default_pane">0</property> + <property name="disabled"></property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="focus"></property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">COPY_FEN_BTN</property> + <property name="label">Copy FEN</property> + <property name="margins"></property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">copy_fen_button</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="position"></property> + <property name="pressed"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + </object> + </object> + </object> + </object> + <object class="Panel" expanded="1"> + <property name="aui_managed">0</property> + <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property> + <property name="bg"></property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="enabled">1</property> + <property name="event_handler">impl_virtual</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> <property name="name">TabGameRightPanel</property> <property name="pos"></property> <property name="size">500,300</property> |
