mirror of
https://gitlab.com/manzerbredes/ochess.git
synced 2025-07-04 19:27:40 +00:00
Improve game base panel
This commit is contained in:
parent
416ab7635d
commit
4adb5ff056
6 changed files with 401 additions and 198 deletions
|
@ -17,13 +17,8 @@ BasePanelBF::BasePanelBF( wxWindow* parent, wxWindowID id, const wxPoint& pos, c
|
|||
wxBoxSizer* top_sizer;
|
||||
top_sizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
current_base_label = new wxStaticText( this, wxID_ANY, wxT("Current base:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
current_base_label->Wrap( -1 );
|
||||
top_sizer->Add( current_base_label, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
|
||||
|
||||
current_base = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
current_base->Enable( false );
|
||||
|
||||
current_base = new wxStaticText( this, wxID_ANY, wxT("unknown"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
current_base->Wrap( -1 );
|
||||
top_sizer->Add( current_base, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
|
||||
|
||||
save_button = new wxButton( this, wxID_ANY, wxT("Save"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
|
@ -35,18 +30,36 @@ BasePanelBF::BasePanelBF( wxWindow* parent, wxWindowID id, const wxPoint& pos, c
|
|||
|
||||
main_sizer->Add( top_sizer, 0, wxEXPAND, 5 );
|
||||
|
||||
game_list = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxLC_REPORT );
|
||||
main_sizer->Add( game_list, 1, wxALL|wxEXPAND, 5 );
|
||||
separator_1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
main_sizer->Add( separator_1, 0, wxEXPAND | wxALL, 5 );
|
||||
|
||||
wxBoxSizer* bottom_sizer;
|
||||
bottom_sizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
append_choice_label = new wxStaticText( this, wxID_ANY, wxT("Import games from:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
append_choice_label->Wrap( -1 );
|
||||
bottom_sizer->Add( append_choice_label, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
|
||||
|
||||
wxArrayString append_choiceChoices;
|
||||
append_choice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, append_choiceChoices, 0 );
|
||||
append_choice->SetSelection( 0 );
|
||||
bottom_sizer->Add( append_choice, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
|
||||
|
||||
append_button = new wxButton( this, wxID_ANY, wxT("Append"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bottom_sizer->Add( append_button, 0, wxALL, 5 );
|
||||
|
||||
|
||||
bottom_sizer->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
delete_button = new wxButton( this, wxID_ANY, wxT("Delete selection"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bottom_sizer->Add( delete_button, 0, wxALL, 5 );
|
||||
|
||||
|
||||
main_sizer->Add( bottom_sizer, 0, wxEXPAND, 5 );
|
||||
|
||||
game_list = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxLC_REPORT );
|
||||
main_sizer->Add( game_list, 1, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
this->SetSizer( main_sizer );
|
||||
this->Layout();
|
||||
|
|
|
@ -15,12 +15,13 @@
|
|||
#include <wx/font.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/bitmap.h>
|
||||
#include <wx/image.h>
|
||||
#include <wx/icon.h>
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/statline.h>
|
||||
#include <wx/choice.h>
|
||||
#include <wx/listctrl.h>
|
||||
#include <wx/panel.h>
|
||||
|
||||
|
@ -35,12 +36,15 @@ class BasePanelBF : public wxPanel
|
|||
private:
|
||||
|
||||
protected:
|
||||
wxStaticText* current_base_label;
|
||||
wxTextCtrl* current_base;
|
||||
wxStaticText* current_base;
|
||||
wxButton* save_button;
|
||||
wxButton* export_button;
|
||||
wxListCtrl* game_list;
|
||||
wxStaticLine* separator_1;
|
||||
wxStaticText* append_choice_label;
|
||||
wxChoice* append_choice;
|
||||
wxButton* append_button;
|
||||
wxButton* delete_button;
|
||||
wxListCtrl* game_list;
|
||||
|
||||
public:
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "BaseTab.hpp"
|
||||
#include <wx/filename.h>
|
||||
|
||||
BaseTab::BaseTab(wxFrame *parent)
|
||||
BaseTab::BaseTab(wxFrame *parent, std::string base_file)
|
||||
: BasePanelBF(parent), TabInfos(TabInfos::BASE), base(NULL) {
|
||||
|
||||
game_list->InsertColumn(0, L"id", wxLIST_FORMAT_LEFT, 50);
|
||||
|
@ -14,11 +14,11 @@ BaseTab::BaseTab(wxFrame *parent)
|
|||
|
||||
this->Bind(wxEVT_BUTTON, &BaseTab::OnBim, this, wxID_ANY);
|
||||
this->Bind(wxEVT_LIST_ITEM_ACTIVATED, &BaseTab::OnOpenGame, this, wxID_ANY);
|
||||
current_base->SetLabel(base_file);
|
||||
LoadFile(base_file);
|
||||
}
|
||||
|
||||
void BaseTab::OnBim(wxCommandEvent &event) {
|
||||
LoadFile("/home/loic/hartwig.pgn");
|
||||
}
|
||||
void BaseTab::OnBim(wxCommandEvent &event) {}
|
||||
|
||||
void BaseTab::OnOpenGame(wxListEvent &event) {
|
||||
wxLogDebug("Open!");
|
||||
|
@ -39,6 +39,7 @@ void BaseTab::LoadFile(std::string path) {
|
|||
wxString ext = file.GetExt().Lower();
|
||||
if (ext == "pgn") {
|
||||
base = new PGNGameBase(path);
|
||||
SetLabel(file.GetName()+ "(PGN)");
|
||||
}
|
||||
|
||||
if (base != NULL) {
|
||||
|
@ -51,8 +52,12 @@ void BaseTab::LoadFile(std::string path) {
|
|||
game_list->SetItem(index, 3, base->GetTag("Event"));
|
||||
game_list->SetItem(index, 4, base->GetTag("Round"));
|
||||
game_list->SetItem(index, 5, base->GetTag("Result"));
|
||||
game_list->SetItem(index, 5, base->GetTag("ECO"));
|
||||
game_list->SetItem(index, 6, base->GetTag("ECO"));
|
||||
id++;
|
||||
}
|
||||
}
|
||||
|
||||
wxCommandEvent event(REFRESH_TAB_TITLE, GetId());
|
||||
event.SetEventObject(this);
|
||||
ProcessEvent(event);
|
||||
}
|
|
@ -6,12 +6,13 @@
|
|||
|
||||
// Foreign events
|
||||
wxDECLARE_EVENT(NEW_GAME_EVENT, wxCommandEvent);
|
||||
wxDECLARE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent);
|
||||
|
||||
class BaseTab : public BasePanelBF, public TabInfos {
|
||||
GameBase *base;
|
||||
|
||||
public:
|
||||
BaseTab(wxFrame *parent);
|
||||
BaseTab(wxFrame *parent, std::string base_file);
|
||||
void ApplyPreferences();
|
||||
void LoadFile(std::string path);
|
||||
void OnBim(wxCommandEvent &event);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue