From 2fd237a78ffd78e198bfb68ba2fc9fa296a1fe9f Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Fri, 30 Dec 2022 10:02:56 +0100 Subject: [PATCH] Improve UI --- src/MainWindow.cpp | 4 +- .../right_panel/GameTabRightPanel.cpp | 16 + .../right_panel/GameTabRightPanel.hpp | 1 + .../right_panel/editor/EditorCanvas.cpp | 58 +- .../right_panel/editor/EditorCanvas.hpp | 1 + src/gui.cpp | 26 +- src/gui.h | 26 +- tools/wxFrameBuilder.fbp | 1506 +++++++++-------- 8 files changed, 883 insertions(+), 755 deletions(-) diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 9f69109..22b579f 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -58,8 +58,8 @@ MainWindow::MainWindow() // Temporary TO REMOVE JUST FOR TESTS: - //BaseTab *bt = new BaseTab((wxFrame *)notebook, "/home/loic/pgn/wijk_2003_annotated.pgn"); - //this->AddPage(bt,bt); + /*BaseTab *bt = new BaseTab((wxFrame *)notebook, "/home/loic/pgn/wijk_2003_annotated.pgn"); + this->AddPage(bt,bt);*/ } void MainWindow::AddPage(wxWindow* window, TabInfos* infos){ diff --git a/src/game_tab/right_panel/GameTabRightPanel.cpp b/src/game_tab/right_panel/GameTabRightPanel.cpp index 99ab4fd..013bc13 100644 --- a/src/game_tab/right_panel/GameTabRightPanel.cpp +++ b/src/game_tab/right_panel/GameTabRightPanel.cpp @@ -40,6 +40,13 @@ GameTabRightPanel::GameTabRightPanel(wxFrame *parent, std::shared_ptr game this->Bind(wxEVT_BUTTON, &GameTabRightPanel::OnDelete, this, DELETE_BTN); this->Bind(wxEVT_BUTTON, &GameTabRightPanel::OnLiveAnalysis, this, LIVE_ANALYSIS_GAME_BUTTON); + nag_panel->Bind(wxEVT_BUTTON, [p=this](wxCommandEvent &e){ + HalfMove *m = p->game->GetCurrentMove(); + if (m != NULL) { + m->nag=p->GetNagFromStr(((wxButton*)e.GetEventObject())->GetLabel().ToStdString()); + p->editor_canvas->Refresh(); + } + }); ApplyPreferences(); } @@ -204,4 +211,13 @@ void GameTabRightPanel::OnNextMove(wxCommandEvent &event) { game->Next(); Notify(); NotifyBoard(); +} + +std::string GameTabRightPanel::GetNagFromStr(std::string str){ + // TODO: Bind more NAG! + if(str=="!") + return "$1"; + if(str=="?") + return "$2"; + return ""; } \ No newline at end of file diff --git a/src/game_tab/right_panel/GameTabRightPanel.hpp b/src/game_tab/right_panel/GameTabRightPanel.hpp index 20593ed..0a353b6 100644 --- a/src/game_tab/right_panel/GameTabRightPanel.hpp +++ b/src/game_tab/right_panel/GameTabRightPanel.hpp @@ -40,4 +40,5 @@ public: void OnLiveAnalysis(wxCommandEvent &event); void ApplyPreferences(); void OnLiveEngineClose(wxCloseEvent &e); + std::string GetNagFromStr(std::string str); }; \ No newline at end of file diff --git a/src/game_tab/right_panel/editor/EditorCanvas.cpp b/src/game_tab/right_panel/editor/EditorCanvas.cpp index 07a2f56..acc5741 100644 --- a/src/game_tab/right_panel/editor/EditorCanvas.cpp +++ b/src/game_tab/right_panel/editor/EditorCanvas.cpp @@ -5,6 +5,7 @@ EditorCanvas::EditorCanvas(wxFrame *parent) hide_icon = LoadPNG("hide", wxSize(CGEditor::status.MoveIconWidth, CGEditor::status.MoveIconWidth)); t.ResizePieces(CGEditor::status.MoveIconWidth); + default_font=wxFont(*wxNORMAL_FONT).MakeBold(); } void EditorCanvas::OnPaint(wxPaintEvent &event) { @@ -40,6 +41,7 @@ void EditorCanvas::DrawElement(const cgeditor::Element &e) { // TODO: Optimize brush!!!! Always instanciated at each call dc->SetPen(wxNullPen); dc->SetBrush(*wxRED_BRUSH); + dc->SetFont(default_font); if (e.prop & cgeditor::Property::Rectangle) { if (e.prop & cgeditor::Property::Scrollbarbg) { dc->SetBrush(*wxCYAN_BRUSH); @@ -93,19 +95,69 @@ void EditorCanvas::DrawElement(const cgeditor::Element &e) { dc->DrawRectangle(recToDraw); dc->DrawText(wxString(e.text), wxPoint(e.x, Middle(e).y)); } else { + std::string text=e.text; if (e.prop & cgeditor::Property::Move) { if (e.prop & cgeditor::Property::Current) { wxRect recToDraw(e.x, e.y, e.width, e.height); dc->SetBrush(wxBrush(wxColour(216, 216, 216))); dc->DrawRectangle(recToDraw); } + if(e.prop & cgeditor::Property::Nag){ + if(text=="$0") + text=""; + else if(text=="$1") + text="!"; + else if(text=="$2") + text="?"; + else if(text=="$3") + text="!!"; + else if(text=="$4") + text="??"; + else if(text=="$5") + text="!?"; + else if(text=="$6") + text="?!"; + else if(text=="$10") + text="="; + else if(text=="$13") + text="∞"; + else if(text=="$14") + text="⩲ "; + else if(text=="$15") + text="⩱"; + else if(text=="$16") + text="±"; + else if(text=="$17") + text="∓"; + else if(text=="$18") + text="+-"; + else if(text=="$19") + text="-+"; + else if(text=="$22"||text=="$23") + text="⨀"; + else if(text=="$26"||text=="$27") + text="○"; + else if(text=="$32"||text=="$33") + text="⟳"; + else if(text=="$36"||text=="$37") + text="↑"; + else if(text=="$40"||text=="$41") + text="→"; + else if(text=="$44" || text=="$45") + text="⯹"; + else if(text=="$138" || text=="$139") + text="⨁"; + else + text="NA"; + } + // Draw move text if (CGEditor::status.UseMoveIcons) { - dc->DrawText(wxString(e.text), wxPoint(e.x, Middle(e).y)); + dc->DrawText(wxString(text), wxPoint(e.x, Middle(e).y)); } else { - dc->DrawText(wxString(e.text), Middle(e)); + dc->DrawText(wxString(text), Middle(e)); } } else { - dc->DrawText(wxString(e.text), Middle(e)); + dc->DrawText(wxString(text), Middle(e)); } } } diff --git a/src/game_tab/right_panel/editor/EditorCanvas.hpp b/src/game_tab/right_panel/editor/EditorCanvas.hpp index c2f35c8..0858dbb 100644 --- a/src/game_tab/right_panel/editor/EditorCanvas.hpp +++ b/src/game_tab/right_panel/editor/EditorCanvas.hpp @@ -19,6 +19,7 @@ class EditorCanvas : public wxPanel, public cgeditor::CGEditor { wxPoint Middle(cgeditor::Element e); wxBitmap hide_icon; Theme t; + wxFont default_font; public: EditorCanvas(wxFrame *parent); diff --git a/src/gui.cpp b/src/gui.cpp index abad5b2..de87bcc 100644 --- a/src/gui.cpp +++ b/src/gui.cpp @@ -443,41 +443,45 @@ TabGameRightPanel::TabGameRightPanel( wxWindow* parent, wxWindowID id, const wxP comment_input = new wxTextCtrl( editor_page, COMMENT_INPUT_BOX, wxEmptyString, wxDefaultPosition, wxSize( -1,200 ), wxTE_MULTILINE ); editor_page_sizer->Add( comment_input, 0, wxALL|wxEXPAND, 5 ); + nag_panel = new wxPanel( editor_page, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxGridSizer* nag_sizer; nag_sizer = new wxGridSizer( 2, 8, 0, 0 ); - nag_1 = new wxButton( editor_page, wxID_ANY, wxT("!"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + nag_1 = new wxButton( nag_panel, wxID__ANY, wxT("!"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); nag_sizer->Add( nag_1, 0, wxALL|wxEXPAND, 5 ); - nag_2 = new wxButton( editor_page, wxID_ANY, wxT("?"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + nag_2 = new wxButton( nag_panel, wxID_ANY, wxT("?"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); nag_sizer->Add( nag_2, 0, wxALL|wxEXPAND, 5 ); - nag_3 = new wxButton( editor_page, wxID_ANY, wxT("!!"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + nag_3 = new wxButton( nag_panel, wxID_ANY, wxT("!!"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); nag_sizer->Add( nag_3, 0, wxALL|wxEXPAND, 5 ); - nag_4 = new wxButton( editor_page, wxID_ANY, wxT("??"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + nag_4 = new wxButton( nag_panel, wxID_ANY, wxT("??"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); nag_sizer->Add( nag_4, 0, wxALL|wxEXPAND, 5 ); - nag_5 = new wxButton( editor_page, wxID_ANY, wxT("!?"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + nag_5 = new wxButton( nag_panel, wxID_ANY, wxT("!?"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); nag_sizer->Add( nag_5, 0, wxALL|wxEXPAND, 5 ); - nag_6 = new wxButton( editor_page, wxID_ANY, wxT("?!"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + nag_6 = new wxButton( nag_panel, wxID_ANY, wxT("?!"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); nag_sizer->Add( nag_6, 0, wxALL|wxEXPAND, 5 ); - nag_10 = new wxButton( editor_page, wxID_ANY, wxT("="), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + nag_10 = new wxButton( nag_panel, wxID_ANY, wxT("="), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); nag_sizer->Add( nag_10, 0, wxALL|wxEXPAND, 5 ); - nag_18 = new wxButton( editor_page, wxID_ANY, wxT("+-"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + nag_18 = new wxButton( nag_panel, wxID_ANY, wxT("+-"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); nag_sizer->Add( nag_18, 0, wxALL|wxEXPAND, 5 ); - nag_19 = new wxButton( editor_page, wxID_ANY, wxT("-+"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + nag_19 = new wxButton( nag_panel, wxID_ANY, wxT("-+"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); nag_sizer->Add( nag_19, 0, wxALL|wxEXPAND, 5 ); - nag_del = new wxButton( editor_page, wxID_ANY, wxT("DEL"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + nag_del = new wxButton( nag_panel, wxID_ANY, wxT("DEL"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); nag_sizer->Add( nag_del, 0, wxALL|wxEXPAND, 5 ); - editor_page_sizer->Add( nag_sizer, 1, wxEXPAND, 5 ); + nag_panel->SetSizer( nag_sizer ); + nag_panel->Layout(); + nag_sizer->Fit( nag_panel ); + editor_page_sizer->Add( nag_panel, 1, wxEXPAND | wxALL, 5 ); editor_page->SetSizer( editor_page_sizer ); diff --git a/src/gui.h b/src/gui.h index f426772..705c8a7 100644 --- a/src/gui.h +++ b/src/gui.h @@ -52,18 +52,19 @@ #define ZOOM_OUT_BTN 1007 #define SWAP_BTN 1008 #define COMMENT_INPUT_BOX 1009 -#define UPDATE_BTN 1010 -#define DELETE_BTN 1011 -#define LIVE_ANALYSIS_GAME_BUTTON 1012 -#define ID_SEARCH_TERMS 1013 -#define ID_APPLY_FILTER_BUTTON 1014 -#define ID_TABGAMES_GAME_LIST 1015 -#define ID_DELETE_BUTTON 1016 -#define ID_IMPORT_GAME_BUTTON 1017 -#define ID_LOAD_BUTTON 1018 -#define ID_IMPORT_SELECTION 1019 -#define ID_IMPORT_DB 1020 -#define ID_SAVE_BUTTON 1021 +#define wxID__ANY 1010 +#define UPDATE_BTN 1011 +#define DELETE_BTN 1012 +#define LIVE_ANALYSIS_GAME_BUTTON 1013 +#define ID_SEARCH_TERMS 1014 +#define ID_APPLY_FILTER_BUTTON 1015 +#define ID_TABGAMES_GAME_LIST 1016 +#define ID_DELETE_BUTTON 1017 +#define ID_IMPORT_GAME_BUTTON 1018 +#define ID_LOAD_BUTTON 1019 +#define ID_IMPORT_SELECTION 1020 +#define ID_IMPORT_DB 1021 +#define ID_SAVE_BUTTON 1022 /////////////////////////////////////////////////////////////////////////////// /// Class MainFrame @@ -285,6 +286,7 @@ class TabGameRightPanel : public wxPanel wxStaticLine* m_staticline1; wxStaticText* comment_label; wxTextCtrl* comment_input; + wxPanel* nag_panel; wxButton* nag_1; wxButton* nag_2; wxButton* nag_3; diff --git a/tools/wxFrameBuilder.fbp b/tools/wxFrameBuilder.fbp index ba5f979..40e735f 100644 --- a/tools/wxFrameBuilder.fbp +++ b/tools/wxFrameBuilder.fbp @@ -4376,744 +4376,796 @@ 5 - wxEXPAND + wxEXPAND | wxALL 1 - - 8 - 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 - nag_sizer - none - 2 - 0 - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - ! - - 0 - - 0 - - - 0 - - 1 - nag_1 - 1 - - - protected - 1 - - - - Resizable - 1 - - wxBU_EXACTFIT - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - + 1 + nag_panel + 1 + + + protected + 1 + + Resizable + 1 + + ; ; forward_declare + 0 + + + + wxTAB_TRAVERSAL + + 8 + 0 + + nag_sizer + none + 2 + 0 + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + wxID__ANY + ! + + 0 + + 0 + + + 0 + + 1 + nag_1 + 1 + + + protected + 1 + + + + Resizable + 1 + + wxBU_EXACTFIT + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - ? - - 0 - - 0 - - - 0 - - 1 - nag_2 - 1 - - - protected - 1 - - - - Resizable - 1 - - wxBU_EXACTFIT - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + wxID_ANY + ? + + 0 + + 0 + + + 0 + + 1 + nag_2 + 1 + + + protected + 1 + + + + Resizable + 1 + + wxBU_EXACTFIT + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - !! - - 0 - - 0 - - - 0 - - 1 - nag_3 - 1 - - - protected - 1 - - - - Resizable - 1 - - wxBU_EXACTFIT - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + wxID_ANY + !! + + 0 + + 0 + + + 0 + + 1 + nag_3 + 1 + + + protected + 1 + + + + Resizable + 1 + + wxBU_EXACTFIT + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - ?? - - 0 - - 0 - - - 0 - - 1 - nag_4 - 1 - - - protected - 1 - - - - Resizable - 1 - - wxBU_EXACTFIT - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + wxID_ANY + ?? + + 0 + + 0 + + + 0 + + 1 + nag_4 + 1 + + + protected + 1 + + + + Resizable + 1 + + wxBU_EXACTFIT + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - !? - - 0 - - 0 - - - 0 - - 1 - nag_5 - 1 - - - protected - 1 - - - - Resizable - 1 - - wxBU_EXACTFIT - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + wxID_ANY + !? + + 0 + + 0 + + + 0 + + 1 + nag_5 + 1 + + + protected + 1 + + + + Resizable + 1 + + wxBU_EXACTFIT + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - ?! - - 0 - - 0 - - - 0 - - 1 - nag_6 - 1 - - - protected - 1 - - - - Resizable - 1 - - wxBU_EXACTFIT - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + wxID_ANY + ?! + + 0 + + 0 + + + 0 + + 1 + nag_6 + 1 + + + protected + 1 + + + + Resizable + 1 + + wxBU_EXACTFIT + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - = - - 0 - - 0 - - - 0 - - 1 - nag_10 - 1 - - - protected - 1 - - - - Resizable - 1 - - wxBU_EXACTFIT - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + wxID_ANY + = + + 0 + + 0 + + + 0 + + 1 + nag_10 + 1 + + + protected + 1 + + + + Resizable + 1 + + wxBU_EXACTFIT + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - +- - - 0 - - 0 - - - 0 - - 1 - nag_18 - 1 - - - protected - 1 - - - - Resizable - 1 - - wxBU_EXACTFIT - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + wxID_ANY + +- + + 0 + + 0 + + + 0 + + 1 + nag_18 + 1 + + + protected + 1 + + + + Resizable + 1 + + wxBU_EXACTFIT + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - -+ - - 0 - - 0 - - - 0 - - 1 - nag_19 - 1 - - - protected - 1 - - - - Resizable - 1 - - wxBU_EXACTFIT - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + wxID_ANY + -+ + + 0 + + 0 + + + 0 + + 1 + nag_19 + 1 + + + protected + 1 + + + + Resizable + 1 + + wxBU_EXACTFIT + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + - - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - DEL - - 0 - - 0 - - - 0 - - 1 - nag_del - 1 - - - protected - 1 - - - - Resizable - 1 - - wxBU_EXACTFIT - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + wxID_ANY + DEL + + 0 + + 0 + + + 0 + + 1 + nag_del + 1 + + + protected + 1 + + + + Resizable + 1 + + wxBU_EXACTFIT + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + +