Improve UI

This commit is contained in:
Loic Guegan 2022-12-30 10:02:56 +01:00
parent d23718225a
commit 2fd237a78f
8 changed files with 883 additions and 755 deletions

View file

@ -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){

View file

@ -40,6 +40,13 @@ GameTabRightPanel::GameTabRightPanel(wxFrame *parent, std::shared_ptr<Game> 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();
}
@ -205,3 +212,12 @@ void GameTabRightPanel::OnNextMove(wxCommandEvent &event) {
Notify();
NotifyBoard();
}
std::string GameTabRightPanel::GetNagFromStr(std::string str){
// TODO: Bind more NAG!
if(str=="!")
return "$1";
if(str=="?")
return "$2";
return "";
}

View file

@ -40,4 +40,5 @@ public:
void OnLiveAnalysis(wxCommandEvent &event);
void ApplyPreferences();
void OnLiveEngineClose(wxCloseEvent &e);
std::string GetNagFromStr(std::string str);
};

View file

@ -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));
}
}
}

View file

@ -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);

View file

@ -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 );

View file

@ -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;

View file

@ -4376,9 +4376,60 @@
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="flag">wxEXPAND | wxALL</property>
<property name="proportion">1</property>
<object class="wxGridSizer" expanded="1">
<object class="wxPanel" 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="best_size"></property>
<property name="bg"></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="default_pane">0</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="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</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">nag_panel</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="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style">wxTAB_TRAVERSAL</property>
<object class="wxGridSizer" expanded="0">
<property name="cols">8</property>
<property name="hgap">0</property>
<property name="minimum_size"></property>
@ -4386,11 +4437,11 @@
<property name="permission">none</property>
<property name="rows">2</property>
<property name="vgap">0</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -4423,7 +4474,7 @@
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="id">wxID__ANY</property>
<property name="label">!</property>
<property name="margins"></property>
<property name="markup">0</property>
@ -4459,11 +4510,11 @@
<property name="window_style"></property>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -4532,11 +4583,11 @@
<property name="window_style"></property>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -4605,11 +4656,11 @@
<property name="window_style"></property>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -4678,11 +4729,11 @@
<property name="window_style"></property>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -4751,11 +4802,11 @@
<property name="window_style"></property>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -4824,11 +4875,11 @@
<property name="window_style"></property>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -4897,11 +4948,11 @@
<property name="window_style"></property>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -4970,11 +5021,11 @@
<property name="window_style"></property>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -5043,11 +5094,11 @@
<property name="window_style"></property>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -5121,6 +5172,7 @@
</object>
</object>
</object>
</object>
<object class="notebookpage" expanded="0">
<property name="bitmap"></property>
<property name="label">Tags</property>