mirror of
https://gitlab.com/manzerbredes/ochess.git
synced 2025-04-07 02:26:29 +02:00
Improve UI
This commit is contained in:
parent
d23718225a
commit
2fd237a78f
8 changed files with 883 additions and 755 deletions
|
@ -58,8 +58,8 @@ MainWindow::MainWindow()
|
||||||
|
|
||||||
|
|
||||||
// Temporary TO REMOVE JUST FOR TESTS:
|
// Temporary TO REMOVE JUST FOR TESTS:
|
||||||
//BaseTab *bt = new BaseTab((wxFrame *)notebook, "/home/loic/pgn/wijk_2003_annotated.pgn");
|
/*BaseTab *bt = new BaseTab((wxFrame *)notebook, "/home/loic/pgn/wijk_2003_annotated.pgn");
|
||||||
//this->AddPage(bt,bt);
|
this->AddPage(bt,bt);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::AddPage(wxWindow* window, TabInfos* infos){
|
void MainWindow::AddPage(wxWindow* window, TabInfos* infos){
|
||||||
|
|
|
@ -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::OnDelete, this, DELETE_BTN);
|
||||||
this->Bind(wxEVT_BUTTON, &GameTabRightPanel::OnLiveAnalysis, this,
|
this->Bind(wxEVT_BUTTON, &GameTabRightPanel::OnLiveAnalysis, this,
|
||||||
LIVE_ANALYSIS_GAME_BUTTON);
|
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();
|
ApplyPreferences();
|
||||||
}
|
}
|
||||||
|
@ -204,4 +211,13 @@ void GameTabRightPanel::OnNextMove(wxCommandEvent &event) {
|
||||||
game->Next();
|
game->Next();
|
||||||
Notify();
|
Notify();
|
||||||
NotifyBoard();
|
NotifyBoard();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string GameTabRightPanel::GetNagFromStr(std::string str){
|
||||||
|
// TODO: Bind more NAG!
|
||||||
|
if(str=="!")
|
||||||
|
return "$1";
|
||||||
|
if(str=="?")
|
||||||
|
return "$2";
|
||||||
|
return "";
|
||||||
}
|
}
|
|
@ -40,4 +40,5 @@ public:
|
||||||
void OnLiveAnalysis(wxCommandEvent &event);
|
void OnLiveAnalysis(wxCommandEvent &event);
|
||||||
void ApplyPreferences();
|
void ApplyPreferences();
|
||||||
void OnLiveEngineClose(wxCloseEvent &e);
|
void OnLiveEngineClose(wxCloseEvent &e);
|
||||||
|
std::string GetNagFromStr(std::string str);
|
||||||
};
|
};
|
|
@ -5,6 +5,7 @@ EditorCanvas::EditorCanvas(wxFrame *parent)
|
||||||
hide_icon = LoadPNG("hide", wxSize(CGEditor::status.MoveIconWidth,
|
hide_icon = LoadPNG("hide", wxSize(CGEditor::status.MoveIconWidth,
|
||||||
CGEditor::status.MoveIconWidth));
|
CGEditor::status.MoveIconWidth));
|
||||||
t.ResizePieces(CGEditor::status.MoveIconWidth);
|
t.ResizePieces(CGEditor::status.MoveIconWidth);
|
||||||
|
default_font=wxFont(*wxNORMAL_FONT).MakeBold();
|
||||||
}
|
}
|
||||||
|
|
||||||
void EditorCanvas::OnPaint(wxPaintEvent &event) {
|
void EditorCanvas::OnPaint(wxPaintEvent &event) {
|
||||||
|
@ -40,6 +41,7 @@ void EditorCanvas::DrawElement(const cgeditor::Element &e) {
|
||||||
// TODO: Optimize brush!!!! Always instanciated at each call
|
// TODO: Optimize brush!!!! Always instanciated at each call
|
||||||
dc->SetPen(wxNullPen);
|
dc->SetPen(wxNullPen);
|
||||||
dc->SetBrush(*wxRED_BRUSH);
|
dc->SetBrush(*wxRED_BRUSH);
|
||||||
|
dc->SetFont(default_font);
|
||||||
if (e.prop & cgeditor::Property::Rectangle) {
|
if (e.prop & cgeditor::Property::Rectangle) {
|
||||||
if (e.prop & cgeditor::Property::Scrollbarbg) {
|
if (e.prop & cgeditor::Property::Scrollbarbg) {
|
||||||
dc->SetBrush(*wxCYAN_BRUSH);
|
dc->SetBrush(*wxCYAN_BRUSH);
|
||||||
|
@ -93,19 +95,69 @@ void EditorCanvas::DrawElement(const cgeditor::Element &e) {
|
||||||
dc->DrawRectangle(recToDraw);
|
dc->DrawRectangle(recToDraw);
|
||||||
dc->DrawText(wxString(e.text), wxPoint(e.x, Middle(e).y));
|
dc->DrawText(wxString(e.text), wxPoint(e.x, Middle(e).y));
|
||||||
} else {
|
} else {
|
||||||
|
std::string text=e.text;
|
||||||
if (e.prop & cgeditor::Property::Move) {
|
if (e.prop & cgeditor::Property::Move) {
|
||||||
if (e.prop & cgeditor::Property::Current) {
|
if (e.prop & cgeditor::Property::Current) {
|
||||||
wxRect recToDraw(e.x, e.y, e.width, e.height);
|
wxRect recToDraw(e.x, e.y, e.width, e.height);
|
||||||
dc->SetBrush(wxBrush(wxColour(216, 216, 216)));
|
dc->SetBrush(wxBrush(wxColour(216, 216, 216)));
|
||||||
dc->DrawRectangle(recToDraw);
|
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) {
|
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 {
|
} else {
|
||||||
dc->DrawText(wxString(e.text), Middle(e));
|
dc->DrawText(wxString(text), Middle(e));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
dc->DrawText(wxString(e.text), Middle(e));
|
dc->DrawText(wxString(text), Middle(e));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ class EditorCanvas : public wxPanel, public cgeditor::CGEditor {
|
||||||
wxPoint Middle(cgeditor::Element e);
|
wxPoint Middle(cgeditor::Element e);
|
||||||
wxBitmap hide_icon;
|
wxBitmap hide_icon;
|
||||||
Theme t;
|
Theme t;
|
||||||
|
wxFont default_font;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
EditorCanvas(wxFrame *parent);
|
EditorCanvas(wxFrame *parent);
|
||||||
|
|
26
src/gui.cpp
26
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 );
|
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 );
|
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;
|
wxGridSizer* nag_sizer;
|
||||||
nag_sizer = new wxGridSizer( 2, 8, 0, 0 );
|
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_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_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_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_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_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_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_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_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_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 );
|
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 );
|
editor_page->SetSizer( editor_page_sizer );
|
||||||
|
|
26
src/gui.h
26
src/gui.h
|
@ -52,18 +52,19 @@
|
||||||
#define ZOOM_OUT_BTN 1007
|
#define ZOOM_OUT_BTN 1007
|
||||||
#define SWAP_BTN 1008
|
#define SWAP_BTN 1008
|
||||||
#define COMMENT_INPUT_BOX 1009
|
#define COMMENT_INPUT_BOX 1009
|
||||||
#define UPDATE_BTN 1010
|
#define wxID__ANY 1010
|
||||||
#define DELETE_BTN 1011
|
#define UPDATE_BTN 1011
|
||||||
#define LIVE_ANALYSIS_GAME_BUTTON 1012
|
#define DELETE_BTN 1012
|
||||||
#define ID_SEARCH_TERMS 1013
|
#define LIVE_ANALYSIS_GAME_BUTTON 1013
|
||||||
#define ID_APPLY_FILTER_BUTTON 1014
|
#define ID_SEARCH_TERMS 1014
|
||||||
#define ID_TABGAMES_GAME_LIST 1015
|
#define ID_APPLY_FILTER_BUTTON 1015
|
||||||
#define ID_DELETE_BUTTON 1016
|
#define ID_TABGAMES_GAME_LIST 1016
|
||||||
#define ID_IMPORT_GAME_BUTTON 1017
|
#define ID_DELETE_BUTTON 1017
|
||||||
#define ID_LOAD_BUTTON 1018
|
#define ID_IMPORT_GAME_BUTTON 1018
|
||||||
#define ID_IMPORT_SELECTION 1019
|
#define ID_LOAD_BUTTON 1019
|
||||||
#define ID_IMPORT_DB 1020
|
#define ID_IMPORT_SELECTION 1020
|
||||||
#define ID_SAVE_BUTTON 1021
|
#define ID_IMPORT_DB 1021
|
||||||
|
#define ID_SAVE_BUTTON 1022
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
/// Class MainFrame
|
/// Class MainFrame
|
||||||
|
@ -285,6 +286,7 @@ class TabGameRightPanel : public wxPanel
|
||||||
wxStaticLine* m_staticline1;
|
wxStaticLine* m_staticline1;
|
||||||
wxStaticText* comment_label;
|
wxStaticText* comment_label;
|
||||||
wxTextCtrl* comment_input;
|
wxTextCtrl* comment_input;
|
||||||
|
wxPanel* nag_panel;
|
||||||
wxButton* nag_1;
|
wxButton* nag_1;
|
||||||
wxButton* nag_2;
|
wxButton* nag_2;
|
||||||
wxButton* nag_3;
|
wxButton* nag_3;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue