From f99a7b699a6169003fc8b56f652de44c2e834ca5 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Thu, 24 Feb 2022 15:22:56 +0100 Subject: Improve BaseTab pgn loading --- src/base_tab/BaseTab.cpp | 48 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 16 deletions(-) (limited to 'src/base_tab/BaseTab.cpp') diff --git a/src/base_tab/BaseTab.cpp b/src/base_tab/BaseTab.cpp index 9be9274..f1fd107 100644 --- a/src/base_tab/BaseTab.cpp +++ b/src/base_tab/BaseTab.cpp @@ -4,19 +4,29 @@ BaseTab::BaseTab(wxFrame *parent) : BasePanelBF(parent), TabInfos(TabInfos::BASE), base(NULL) { - wxListItem col0; - col0.SetId(0); - col0.SetText(_("White")); - col0.SetWidth(200); - game_list->InsertColumn(0, col0); - - wxListItem col1; - col1.SetId(1); - col1.SetText(_("Black")); - col1.SetWidth(200); - game_list->InsertColumn(1, col1); - - //LoadFile("/home/loic/test.pgn"); + game_list->InsertColumn(0, L"id", wxLIST_FORMAT_LEFT, 50); + game_list->InsertColumn(1, L"White", wxLIST_FORMAT_LEFT, 200); + game_list->InsertColumn(2, L"Black", wxLIST_FORMAT_LEFT, 200); + game_list->InsertColumn(3, L"Event", wxLIST_FORMAT_LEFT, 200); + game_list->InsertColumn(4, L"Round", wxLIST_FORMAT_LEFT, 100); + game_list->InsertColumn(5, L"Result", wxLIST_FORMAT_LEFT, 200); + game_list->InsertColumn(6, L"Result", wxLIST_FORMAT_LEFT, 200); + + this->Bind(wxEVT_BUTTON, &BaseTab::OnBim, this, wxID_ANY); + this->Bind(wxEVT_LIST_ITEM_ACTIVATED, &BaseTab::OnOpenGame, this, wxID_ANY); +} + +void BaseTab::OnBim(wxCommandEvent &event) { + //LoadFile("/home/loic/hartwig.pgn"); +} + +void BaseTab::OnOpenGame(wxListEvent &event) { + wxLogDebug("Open!"); + long id=std::stoi(event.GetItem().GetText().ToStdString()); + Game *g = base->GetGame(id); + if (g != NULL) { + wxLogDebug("Open game: %s", g->GetTag("White")); + } } void BaseTab::ApplyPreferences() {} @@ -29,9 +39,15 @@ void BaseTab::LoadFile(std::string path) { } if (base != NULL) { - while (base->HasNextGame()) { - Game *g = base->GetNextGame(); - long itemIndex = game_list->InsertItem(0, g->GetTag("White")); // want this for col. 1 + long id = 0; + while (base->NextGame()) { + long index = game_list->InsertItem(0, std::to_string(id)); // want this for col. 1 + game_list->SetItem(index, 1, base->GetTag("White")); + game_list->SetItem(index, 2, base->GetTag("Black")); + game_list->SetItem(index, 3, base->GetTag("Event")); + game_list->SetItem(index, 4, base->GetTag("Round")); + game_list->SetItem(index, 5, base->GetTag("Result")); + id++; } } } \ No newline at end of file -- cgit v1.2.3