diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2022-12-26 12:51:48 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2022-12-26 12:51:48 +0100 |
| commit | 1d78e106adf4cc5894f299d597c02a9b7e508173 (patch) | |
| tree | 04e722a73340082f6c2b06d9901bb705f762eead | |
| parent | 2bd85f53bcaeb12090b9ac2d4cf7c781b280e678 (diff) | |
Debug database tab
| -rw-r--r-- | src/MainWindow.cpp | 4 | ||||
| -rw-r--r-- | src/base_tab/BaseGameTab.cpp | 129 | ||||
| -rw-r--r-- | src/base_tab/BaseGameTab.hpp | 13 | ||||
| -rw-r--r-- | src/base_tab/BaseManageTab.cpp | 20 | ||||
| -rw-r--r-- | src/base_tab/BaseManageTab.hpp | 11 | ||||
| -rw-r--r-- | src/base_tab/BaseTab.cpp | 52 | ||||
| -rw-r--r-- | src/base_tab/BaseTab.hpp | 16 | ||||
| -rw-r--r-- | src/base_tab/GameListManager.cpp | 1 | ||||
| -rw-r--r-- | src/base_tab/GameListManager.hpp | 5 | ||||
| -rw-r--r-- | src/base_tab/gamebase/GameBase.hpp | 2 | ||||
| -rw-r--r-- | src/base_tab/gamebase/PGNGameBase.hpp | 2 | ||||
| -rw-r--r-- | src/gui.cpp | 46 | ||||
| -rw-r--r-- | src/gui.h | 22 | ||||
| -rw-r--r-- | src/ochess.hpp | 2 | ||||
| -rw-r--r-- | tools/wxFrameBuilder.fbp | 514 |
15 files changed, 313 insertions, 526 deletions
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 5ac3d0a..dfc100c 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -59,8 +59,8 @@ MainWindow::MainWindow() NewGame(std::shared_ptr<Game>(new Game())); // Temporary TO REMOVE JUST FOR TESTS: - BaseTab *bt = new BaseTab((wxFrame *)notebook, "/home/loic/pgn/twic1467.pgn"); - this->AddPage(bt,bt); + //BaseTab *bt = new BaseTab((wxFrame *)notebook, "/home/loic/pgn/twic1467.pgn"); + //this->AddPage(bt,bt); } void MainWindow::AddPage(wxWindow* window, TabInfos* infos){ diff --git a/src/base_tab/BaseGameTab.cpp b/src/base_tab/BaseGameTab.cpp index 29729c4..4d16562 100644 --- a/src/base_tab/BaseGameTab.cpp +++ b/src/base_tab/BaseGameTab.cpp @@ -5,23 +5,19 @@ wxDEFINE_EVENT(OPEN_GAME_EVENT, wxCommandEvent); -BaseGameTab::BaseGameTab(wxFrame *parent, std::string base_file, TabInfos *main_tab) - : TabBase_TabGames(parent), base_file(base_file), - base(NULL),main_tab(main_tab) { +BaseGameTab::BaseGameTab(wxFrame *parent, std::shared_ptr<GameBase> base, TabInfos *main_tab) + : TabBase_TabGames(parent), main_tab(main_tab),base(base) { + + glm=std::make_shared<GameListManager>(game_list); + Reset(base); - glm=new GameListManager(game_list); this->Bind(wxEVT_BUTTON, &BaseGameTab::OnDelete, this, ID_DELETE_BUTTON); - this->Bind(wxEVT_BUTTON, &BaseGameTab::OnSave, this, ID_SAVE_BUTTON); - this->Bind(wxEVT_BUTTON, &BaseGameTab::OnExport, this, ID_EXPORT_BUTTON); this->Bind(wxEVT_LIST_ITEM_ACTIVATED, &BaseGameTab::OnOpenGame, this, wxID_ANY); - this->Bind(wxEVT_BUTTON, &BaseGameTab::OnImport, this, ID_IMPORT_BUTTON); this->Bind(wxEVT_BUTTON, &BaseGameTab::OnApplyFilter, this, ID_APPLY_FILTER_BUTTON); this->Bind(wxEVT_TEXT_ENTER, &BaseGameTab::OnApplyFilter, this, ID_SEARCH_TERMS); - current_base->SetLabel(base_file); search_terms->SetHint("e.g: Paul Morphy"); - LoadFile(); } void BaseGameTab::OnApplyFilter(wxCommandEvent &event){ @@ -34,12 +30,12 @@ void BaseGameTab::OnApplyFilter(wxCommandEvent &event){ } void BaseGameTab::OnImport(wxCommandEvent &event) { - AppendGameDialog *dia = new AppendGameDialog(this, base); - dia->ShowModal(); - glm->Clear(); - deleted.clear(); - edited.clear(); - LoadFile(); + // AppendGameDialog *dia = new AppendGameDialog(this, base); + // dia->ShowModal(); + // glm->Clear(); + // deleted.clear(); + // edited.clear(); + // LoadFile(); } void BaseGameTab::OnDelete(wxCommandEvent &event) { @@ -50,35 +46,37 @@ void BaseGameTab::OnDelete(wxCommandEvent &event) { } void BaseGameTab::OnSave(wxCommandEvent &event) { - std::vector<std::shared_ptr<GameBase>> new_games_bases; - - // Build edited games vector - std::vector<std::shared_ptr<Game>> edited_games; - for (auto itr = edited.begin(); itr != edited.end(); itr++) { - edited_games.push_back(itr->second); - } - - // Combine new_games and edited games - std::vector<std::shared_ptr<Game>> new_games; - new_games.insert( - new_games.end(), edited_games.begin(), - edited_games.end()); // Add edited game (since they are also deleted) - base->Save(deleted, new_games_bases, new_games); + // std::vector<std::shared_ptr<GameBase>> new_games_bases; + + // // Build edited games vector + // std::vector<std::shared_ptr<Game>> edited_games; + // for (auto itr = edited.begin(); itr != edited.end(); itr++) { + // edited_games.push_back(itr->second); + // } + + // // Combine new_games and edited games + // std::vector<std::shared_ptr<Game>> new_games; + // new_games.insert( + // new_games.end(), edited_games.begin(), + // edited_games.end()); // Add edited game (since they are also deleted) + // base->Save(deleted, new_games_bases, new_games); - // Close all opened games in this database - wxCommandEvent closeLinkedTabEvent(CLOSE_LINKED_TAB, GetId()); - closeLinkedTabEvent.SetClientData(main_tab); - ProcessEvent(closeLinkedTabEvent); - - glm->Clear(); - edited.clear(); - deleted.clear(); - LoadFile(); + // // Close all opened games in this database + // wxCommandEvent closeLinkedTabEvent(CLOSE_LINKED_TAB, GetId()); + // closeLinkedTabEvent.SetClientData(main_tab); + // ProcessEvent(closeLinkedTabEvent); + + // glm->Clear(); + // edited.clear(); + // deleted.clear(); + // LoadFile(); } void BaseGameTab::OnOpenGame(wxListEvent &event) { long id = std::stoi(event.GetItem().GetText().ToStdString()); std::shared_ptr<Game> *g = new std::shared_ptr<Game>(base->GetGame(id)); + wxLogDebug("kjkj"); + if (g != NULL) { if(edited.find(id) != edited.end()){ // TODO: Focus on the game tab and if close reopen it @@ -97,33 +95,21 @@ void BaseGameTab::OnOpenGame(wxListEvent &event) { } } -void BaseGameTab::ApplyPreferences() {} - -void BaseGameTab::OnExport(wxCommandEvent &event) { - wxFileDialog openFileDialog(this, _("Export database"), "", "", - "Database files (*.pgn)|*.pgn", - wxFD_SAVE | wxFD_OVERWRITE_PROMPT); - if (openFileDialog.ShowModal() != wxID_CANCEL) { - std::string path = openFileDialog.GetPath().ToStdString(); - wxFileName file(base_file); - wxString ext = file.GetExt().Lower(); - GameBase *base; - if (ext == "pgn") { - base = new PGNGameBase(path); - base->Export(this->base); - delete base; - } +std::vector<std::shared_ptr<Game>> BaseGameTab::GetEditedGames(){ + std::vector<std::shared_ptr<Game>> games; + for(auto it = edited.begin(); it != edited.end(); it++){ + games.push_back(it->second); } + return(games); } -void BaseGameTab::LoadFile() { - wxFileName file(base_file); - wxString ext = file.GetExt().Lower(); - if (ext == "pgn") { - base = std::shared_ptr<GameBase>(new PGNGameBase(base_file)); - SetLabel(file.GetName() + "(PGN)"); - } +void BaseGameTab::Reset(std::shared_ptr<GameBase> base){ + glm->Clear(); + edited.clear(); + deleted.clear(); + // Load all games (for now :) + this->base=base; if (base != NULL) { while (base->NextGame()) { glm->AddGame( @@ -135,8 +121,23 @@ void BaseGameTab::LoadFile() { base->GetTag("ECO")); } } +} - wxCommandEvent event(REFRESH_TAB_TITLE, GetId()); - event.SetEventObject(this); - ProcessEvent(event); +void BaseGameTab::OnExport(wxCommandEvent &event) { + // wxFileDialog openFileDialog(this, _("Export database"), "", "", + // "Database files (*.pgn)|*.pgn", + // wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + // if (openFileDialog.ShowModal() != wxID_CANCEL) { + // std::string path = openFileDialog.GetPath().ToStdString(); + // wxFileName file(base_file); + // wxString ext = file.GetExt().Lower(); + // GameBase *base; + // if (ext == "pgn") { + // base = new PGNGameBase(path); + // base->Export(this->base); + // delete base; + // } + // } } + + diff --git a/src/base_tab/BaseGameTab.hpp b/src/base_tab/BaseGameTab.hpp index c9be350..b634148 100644 --- a/src/base_tab/BaseGameTab.hpp +++ b/src/base_tab/BaseGameTab.hpp @@ -5,29 +5,28 @@ // Foreign events wxDECLARE_EVENT(OPEN_GAME_EVENT, wxCommandEvent); -wxDECLARE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent); wxDECLARE_EVENT(CLOSE_LINKED_TAB, wxCommandEvent); class BaseGameTab : public TabBase_TabGames { std::shared_ptr<GameBase> base; std::vector<std::uint32_t> deleted; std::unordered_map<long, std::shared_ptr<Game>> edited; - std::string base_file; TabInfos *main_tab; - GameListManager *glm; public: - BaseGameTab(wxFrame *parent, std::string base_file, TabInfos *main_tab); - ~BaseGameTab() {delete(glm);}; + std::shared_ptr<GameListManager> glm; - void ApplyPreferences(); - void LoadFile(); + BaseGameTab(wxFrame *parent, std::shared_ptr<GameBase> base, TabInfos *main_tab); + + void Reset(std::shared_ptr<GameBase> base); void OnDelete(wxCommandEvent &event); void OnSave(wxCommandEvent &event); void OnExport(wxCommandEvent &event); void OnOpenGame(wxListEvent &event); void OnImport(wxCommandEvent &event); void OnApplyFilter(wxCommandEvent &event); + std::vector<std::shared_ptr<Game>> GetEditedGames(); + std::vector<std::uint32_t> GetDeletedGameIds() {return(deleted);}; std::shared_ptr<Game> GetGame() { return (std::shared_ptr<Game>(NULL)); } std::shared_ptr<GameBase> GetBase() { return (std::shared_ptr<GameBase>(base)); }; };
\ No newline at end of file diff --git a/src/base_tab/BaseManageTab.cpp b/src/base_tab/BaseManageTab.cpp index db42b8b..f4e6649 100644 --- a/src/base_tab/BaseManageTab.cpp +++ b/src/base_tab/BaseManageTab.cpp @@ -1,9 +1,25 @@ #include "BaseManageTab.hpp" +#define ADD_INFO(text) {informations->WriteText(text);informations->WriteText("\n");} -BaseManageTab::BaseManageTab(wxFrame *parent): -TabBase_TabManage(parent) + +BaseManageTab::BaseManageTab(wxFrame *parent, std::shared_ptr<GameBase> db, std::shared_ptr<GameListManager> glm): +TabBase_TabManage(parent), glm(glm), base(db) { + RefreshInformations(); +} +void BaseManageTab::RefreshInformations(){ + informations->Clear(); + wxFileName base_path(base->GetFilePath()); + ADD_INFO("Database Path: "+base_path.GetFullPath()); + ADD_INFO("File Size: "+base_path.GetHumanReadableSize()); + ADD_INFO("Last Modified: "+base_path.GetModificationTime().Format()); + ADD_INFO("Database Format: "+base->GetFormat()); + ADD_INFO("Total Number of Games: "+std::to_string(glm->rows.size())); } +void BaseManageTab::Reset(std::shared_ptr<GameBase> db) { + this->base=db; + RefreshInformations(); +} diff --git a/src/base_tab/BaseManageTab.hpp b/src/base_tab/BaseManageTab.hpp index 870cd74..39ef4bb 100644 --- a/src/base_tab/BaseManageTab.hpp +++ b/src/base_tab/BaseManageTab.hpp @@ -1,10 +1,15 @@ #include "ochess.hpp" - - +#include "GameListManager.hpp" +#include "gamebase/GameBase.hpp" class BaseManageTab : public TabBase_TabManage { + /// @brief Never free the following pointer in that class + std::shared_ptr<GameListManager> glm; + std::shared_ptr<GameBase> base; public: - BaseManageTab(wxFrame *parent); + BaseManageTab(wxFrame *parent, std::shared_ptr<GameBase> db, std::shared_ptr<GameListManager> glm); + void RefreshInformations(); + void Reset(std::shared_ptr<GameBase> db); };
\ No newline at end of file diff --git a/src/base_tab/BaseTab.cpp b/src/base_tab/BaseTab.cpp index 78b546e..05ff907 100644 --- a/src/base_tab/BaseTab.cpp +++ b/src/base_tab/BaseTab.cpp @@ -3,34 +3,68 @@ #include <wx/filename.h> BaseTab::BaseTab(wxFrame *parent, std::string base_file) - : TabBase(parent), TabInfos(TabInfos::BASE){ + : TabBase(parent), TabInfos(TabInfos::BASE), base_file(base_file){ + + // First open the database + OpenDatabase(base_file); // Games tab - games_tab=new BaseGameTab((wxFrame *)notebook,base_file,this); + games_tab=new BaseGameTab((wxFrame *)notebook,base,this); notebook->AddPage(games_tab, "Games list",true); // true for selecting the tab // Import tab import_tab=new BaseImportTab((wxFrame *)notebook,this); notebook->AddPage(import_tab, "Import games"); // Manage tab - manage_tab=new BaseManageTab((wxFrame *)notebook); + manage_tab=new BaseManageTab((wxFrame *)notebook, base, games_tab->glm); notebook->AddPage(manage_tab, "Manage database"); - RefreshLabel(); - this->Bind(OPEN_GAME_EVENT, &BaseTab::OnNewGame, this, wxID_ANY); + // Refresh dynamic elements of the database (tab title, available db for import etc.) + Refresh(); + + // Bindings + this->Bind(OPEN_GAME_EVENT, &BaseTab::OnOpenGame, this, wxID_ANY); + this->Bind(wxEVT_BUTTON, &BaseTab::OnSave, this, ID_SAVE_BUTTON); + } -void BaseTab::OnNewGame(wxCommandEvent &event){ +void BaseTab::OnOpenGame(wxCommandEvent &event){ std::shared_ptr<Game> *g = (std::shared_ptr<Game>*)event.GetClientData(); this->game=*g; + + // Ask MainFrame to open a new game + // TODO: Simplify that is, use wxWidget main app to do it wxCommandEvent newGameEvent(NEW_GAME_EVENT, GetId()); newGameEvent.SetEventObject(this); newGameEvent.SetClientData((TabInfos*)this); ProcessEvent(newGameEvent); } -void BaseTab::ApplyPreferences() {} +void BaseTab::Refresh(){ + import_tab->RefreshImportLists(); + SetLabel(wxFileName(base->GetFilePath()).GetName()+" [DB]"); // Propagated to MainWindow tab title automatically by wxWidget +} + +void BaseTab::OpenDatabase(std::string dbpath) { + wxFileName file(dbpath); + wxString ext = file.GetExt().Lower(); + if (ext == "pgn") { + base.reset(); + base = std::shared_ptr<GameBase>(new PGNGameBase(dbpath)); + } +} + +void BaseTab::OnSave(wxCommandEvent &event) { + std::vector<std::shared_ptr<GameBase>> dummy_empty_base; + base->Save(games_tab->GetDeletedGameIds(), dummy_empty_base, games_tab->GetEditedGames()); + + // Close all opened games in this database + wxCommandEvent closeLinkedTabEvent(CLOSE_LINKED_TAB, GetId()); + closeLinkedTabEvent.SetClientData((TabInfos*)this); + ProcessEvent(closeLinkedTabEvent); -void BaseTab::RefreshLabel(){ - SetLabel("Database XX"); + // Reopen the saved database + OpenDatabase(base_file); + games_tab->Reset(base); + manage_tab->Reset(base); }
\ No newline at end of file diff --git a/src/base_tab/BaseTab.hpp b/src/base_tab/BaseTab.hpp index da70af4..c8efd11 100644 --- a/src/base_tab/BaseTab.hpp +++ b/src/base_tab/BaseTab.hpp @@ -7,21 +7,27 @@ wxDECLARE_EVENT(NEW_GAME_EVENT, wxCommandEvent); - class BaseTab : public TabBase, public TabInfos { + /// @brief The opened database std::shared_ptr<GameBase> base; + /// @brief The last opened game std::shared_ptr<Game> game; + + /// All sub tabs BaseGameTab *games_tab; BaseImportTab *import_tab; BaseManageTab *manage_tab; - void OnNewGame(wxCommandEvent &event); + std::string base_file; + + void OnOpenGame(wxCommandEvent &event); + void OnSave(wxCommandEvent &event); + void OpenDatabase(std::string dbpath); + public: BaseTab(wxFrame *parent, std::string base_file); - void ApplyPreferences(); - void RefreshLabel(); + void Refresh(); std::shared_ptr<Game> GetGame() { return (std::shared_ptr<Game>(game)); } std::shared_ptr<GameBase> GetBase() { return (std::shared_ptr<GameBase>(base)); }; - void Refresh() {import_tab->RefreshImportLists();}; };
\ No newline at end of file diff --git a/src/base_tab/GameListManager.cpp b/src/base_tab/GameListManager.cpp index 07c9feb..4ff2f85 100644 --- a/src/base_tab/GameListManager.cpp +++ b/src/base_tab/GameListManager.cpp @@ -41,6 +41,7 @@ void GameListManager::Clear(){ deleted_games.clear(); opened_games.clear(); rows.clear(); + game_counter=0; } void GameListManager::ClearDisplayedRow(){ diff --git a/src/base_tab/GameListManager.hpp b/src/base_tab/GameListManager.hpp index e97ff8a..3145297 100644 --- a/src/base_tab/GameListManager.hpp +++ b/src/base_tab/GameListManager.hpp @@ -22,14 +22,15 @@ typedef struct Item { } RType; class GameListManager { - wxListCtrl *game_list; long game_counter; - std::vector<RType> rows; + wxListCtrl *game_list; std::vector<long> deleted_games, opened_games; void DisplayRow(long id); void ClearDisplayedRow(); public: + std::vector<RType> rows; + GameListManager(wxListCtrl *game_list); void AddGame(CType White,CType Black,CType Event,CType Round, CType Result, CType Eco); void Clear(); diff --git a/src/base_tab/gamebase/GameBase.hpp b/src/base_tab/gamebase/GameBase.hpp index efd531f..c39d714 100644 --- a/src/base_tab/gamebase/GameBase.hpp +++ b/src/base_tab/gamebase/GameBase.hpp @@ -14,6 +14,8 @@ public: virtual bool NextGame() = 0; virtual std::string GetTag(std::string tag) = 0; virtual void Reset() = 0; + virtual std::string GetFormat() = 0; + virtual std::string GetFilePath() = 0; /** * @brief Save the given base into current base format (export) * diff --git a/src/base_tab/gamebase/PGNGameBase.hpp b/src/base_tab/gamebase/PGNGameBase.hpp index ee1c99b..72b7302 100644 --- a/src/base_tab/gamebase/PGNGameBase.hpp +++ b/src/base_tab/gamebase/PGNGameBase.hpp @@ -18,6 +18,8 @@ public: std::vector<std::shared_ptr<Game>> new_games); void Reset(); void Export(std::shared_ptr<GameBase> base); + std::string GetFormat() {return("PGN");}; + std::string GetFilePath() {return(file);}; static std::string GetMovesPGN(HalfMove *m, bool needDots); static std::string GetPGN(std::shared_ptr<Game> g); };
\ No newline at end of file diff --git a/src/gui.cpp b/src/gui.cpp index c4c3a29..507eca0 100644 --- a/src/gui.cpp +++ b/src/gui.cpp @@ -526,37 +526,18 @@ TabBase_TabGames::TabBase_TabGames( wxWindow* parent, wxWindowID id, const wxPoi wxBoxSizer* top_sizer; top_sizer = new wxBoxSizer( wxHORIZONTAL ); - 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, ID_SAVE_BUTTON, wxT("Save"), wxDefaultPosition, wxDefaultSize, 0 ); - top_sizer->Add( save_button, 0, wxALL, 5 ); - - export_button = new wxButton( this, ID_EXPORT_BUTTON, wxT("Export"), wxDefaultPosition, wxDefaultSize, 0 ); - top_sizer->Add( export_button, 0, wxALL, 5 ); - - - main_sizer->Add( top_sizer, 0, wxEXPAND, 5 ); - - separator_1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - main_sizer->Add( separator_1, 0, wxEXPAND | wxALL, 5 ); - - wxBoxSizer* bSizer34; - bSizer34 = new wxBoxSizer( wxHORIZONTAL ); - m_staticText28 = new wxStaticText( this, wxID_ANY, wxT("Filter:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText28->Wrap( -1 ); - bSizer34->Add( m_staticText28, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + top_sizer->Add( m_staticText28, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); search_terms = new wxTextCtrl( this, ID_SEARCH_TERMS, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); - bSizer34->Add( search_terms, 1, wxALL|wxEXPAND, 5 ); + top_sizer->Add( search_terms, 1, wxALL|wxEXPAND, 5 ); apply_filter_button = new wxButton( this, ID_APPLY_FILTER_BUTTON, wxT("Apply"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer34->Add( apply_filter_button, 0, wxALL, 5 ); + top_sizer->Add( apply_filter_button, 0, wxALL, 5 ); - main_sizer->Add( bSizer34, 0, wxEXPAND, 5 ); + 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 ); @@ -564,9 +545,6 @@ TabBase_TabGames::TabBase_TabGames( wxWindow* parent, wxWindowID id, const wxPoi wxBoxSizer* bottom_sizer; bottom_sizer = new wxBoxSizer( wxHORIZONTAL ); - import_button = new wxButton( this, ID_IMPORT_BUTTON, wxT("Import games"), wxDefaultPosition, wxDefaultSize, 0 ); - bottom_sizer->Add( import_button, 1, wxALL|wxEXPAND, 5 ); - delete_button = new wxButton( this, ID_DELETE_BUTTON, wxT("Mark as deleted"), wxDefaultPosition, wxDefaultSize, 0 ); bottom_sizer->Add( delete_button, 1, wxALL|wxEXPAND, 5 ); @@ -654,9 +632,19 @@ TabBase_TabManage::TabBase_TabManage( wxWindow* parent, wxWindowID id, const wxP wxBoxSizer* main_sizer; main_sizer = new wxBoxSizer( wxVERTICAL ); - m_staticText27 = new wxStaticText( this, wxID_ANY, wxT("TODO"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText27->Wrap( -1 ); - main_sizer->Add( m_staticText27, 0, wxALL, 5 ); + informations = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY ); + informations->SetBackgroundColour( wxColour( 235, 235, 235 ) ); + + main_sizer->Add( informations, 100, wxALL|wxEXPAND, 5 ); + + wxBoxSizer* bottom_sizer; + bottom_sizer = new wxBoxSizer( wxVERTICAL ); + + save_button = new wxButton( this, ID_SAVE_BUTTON, wxT("Save All Changes"), wxDefaultPosition, wxDefaultSize, 0 ); + bottom_sizer->Add( save_button, 0, wxALL|wxEXPAND, 5 ); + + + main_sizer->Add( bottom_sizer, 1, wxEXPAND, 5 ); this->SetSizer( main_sizer ); @@ -55,13 +55,11 @@ #define UPDATE_BTN 1010 #define DELETE_BTN 1011 #define LIVE_ANALYSIS_GAME_BUTTON 1012 -#define ID_SAVE_BUTTON 1013 -#define ID_EXPORT_BUTTON 1014 -#define ID_SEARCH_TERMS 1015 -#define ID_APPLY_FILTER_BUTTON 1016 -#define ID_IMPORT_BUTTON 1017 -#define ID_DELETE_BUTTON 1018 -#define ID_LOAD_BUTTON 1019 +#define ID_SEARCH_TERMS 1013 +#define ID_APPLY_FILTER_BUTTON 1014 +#define ID_DELETE_BUTTON 1015 +#define ID_LOAD_BUTTON 1016 +#define ID_SAVE_BUTTON 1017 /////////////////////////////////////////////////////////////////////////////// /// Class MainFrame @@ -311,20 +309,15 @@ class TabBase_TabGames : public wxPanel private: protected: - wxStaticText* current_base; - wxButton* save_button; - wxButton* export_button; - wxStaticLine* separator_1; wxStaticText* m_staticText28; wxTextCtrl* search_terms; wxButton* apply_filter_button; wxListCtrl* game_list; - wxButton* import_button; wxButton* delete_button; public: - TabBase_TabGames( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString ); + TabBase_TabGames( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 559,522 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString ); ~TabBase_TabGames(); @@ -365,7 +358,8 @@ class TabBase_TabManage : public wxPanel private: protected: - wxStaticText* m_staticText27; + wxTextCtrl* informations; + wxButton* save_button; public: diff --git a/src/ochess.hpp b/src/ochess.hpp index da9107b..7f94fe1 100644 --- a/src/ochess.hpp +++ b/src/ochess.hpp @@ -53,7 +53,7 @@ public: TabInfos(Type type_) : type(type_), id(tab_count), is_linked(false) { tab_count++; wxLogDebug("Tabid=%d",(int)id); } void Link(TabInfos *tab); virtual void Refresh(){}; - virtual void ApplyPreferences() = 0; + virtual void ApplyPreferences() {}; virtual std::shared_ptr<Game> GetGame() = 0; virtual std::shared_ptr<GameBase> GetBase() = 0; }; diff --git a/tools/wxFrameBuilder.fbp b/tools/wxFrameBuilder.fbp index b25560c..c442080 100644 --- a/tools/wxFrameBuilder.fbp +++ b/tools/wxFrameBuilder.fbp @@ -3622,7 +3622,7 @@ </object> </object> </object> - <object class="Panel" expanded="1"> + <object class="Panel" expanded="0"> <property name="aui_managed">0</property> <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property> <property name="bg"></property> @@ -3645,16 +3645,16 @@ <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style">wxTAB_TRAVERSAL</property> - <object class="wxBoxSizer" expanded="1"> + <object class="wxBoxSizer" expanded="0"> <property name="minimum_size"></property> <property name="name">main_sizer</property> <property name="orient">wxVERTICAL</property> <property name="permission">none</property> - <object class="sizeritem" expanded="1"> + <object class="sizeritem" expanded="0"> <property name="border">5</property> <property name="flag">wxEXPAND | wxALL</property> <property name="proportion">1</property> - <object class="wxNotebook" expanded="1"> + <object class="wxNotebook" expanded="0"> <property name="BottomDockable">1</property> <property name="LeftDockable">1</property> <property name="RightDockable">1</property> @@ -5135,7 +5135,7 @@ </object> </object> </object> - <object class="Panel" expanded="1"> + <object class="Panel" expanded="0"> <property name="aui_managed">0</property> <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property> <property name="bg"></property> @@ -5151,14 +5151,14 @@ <property name="minimum_size"></property> <property name="name">TabBase_TabGames</property> <property name="pos"></property> - <property name="size">500,300</property> + <property name="size">559,522</property> <property name="subclass">; ; forward_declare</property> <property name="tooltip"></property> <property name="two_step_creation">0</property> <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style">wxTAB_TRAVERSAL</property> - <object class="wxBoxSizer" expanded="1"> + <object class="wxBoxSizer" expanded="0"> <property name="minimum_size"></property> <property name="name">main_sizer</property> <property name="orient">wxVERTICAL</property> @@ -5175,284 +5175,8 @@ <object class="sizeritem" expanded="0"> <property name="border">5</property> <property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property> - <property name="proportion">1</property> - <object class="wxStaticText" expanded="0"> - <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="label">unknown</property> - <property name="markup">0</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">current_base</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="style"></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"></property> - <property name="wrap">-1</property> - </object> - </object> - <object class="sizeritem" expanded="0"> - <property name="border">5</property> - <property name="flag">wxALL</property> <property name="proportion">0</property> - <object class="wxButton" expanded="0"> - <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="auth_needed">0</property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="bitmap"></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="current"></property> - <property name="default">0</property> - <property name="default_pane">0</property> - <property name="disabled"></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="focus"></property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">ID_SAVE_BUTTON</property> - <property name="label">Save</property> - <property name="margins"></property> - <property name="markup">0</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">save_button</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="position"></property> - <property name="pressed"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="sizeritem" expanded="0"> - <property name="border">5</property> - <property name="flag">wxALL</property> - <property name="proportion">0</property> - <object class="wxButton" expanded="0"> - <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="auth_needed">0</property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="bitmap"></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="current"></property> - <property name="default">0</property> - <property name="default_pane">0</property> - <property name="disabled"></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="focus"></property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">ID_EXPORT_BUTTON</property> - <property name="label">Export</property> - <property name="margins"></property> - <property name="markup">0</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">export_button</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="position"></property> - <property name="pressed"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - </object> - </object> - <object class="sizeritem" expanded="0"> - <property name="border">5</property> - <property name="flag">wxEXPAND | wxALL</property> - <property name="proportion">0</property> - <object class="wxStaticLine" expanded="0"> - <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">separator_1</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="style">wxLI_HORIZONTAL</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"></property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">0</property> - <object class="wxBoxSizer" expanded="1"> - <property name="minimum_size"></property> - <property name="name">bSizer34</property> - <property name="orient">wxHORIZONTAL</property> - <property name="permission">none</property> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property> - <property name="proportion">0</property> - <object class="wxStaticText" expanded="1"> + <object class="wxStaticText" expanded="0"> <property name="BottomDockable">1</property> <property name="LeftDockable">1</property> <property name="RightDockable">1</property> @@ -5509,11 +5233,11 @@ <property name="wrap">-1</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">1</property> - <object class="wxTextCtrl" expanded="1"> + <object class="wxTextCtrl" expanded="0"> <property name="BottomDockable">1</property> <property name="LeftDockable">1</property> <property name="RightDockable">1</property> @@ -5573,11 +5297,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</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> @@ -5710,11 +5434,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">wxEXPAND</property> <property name="proportion">0</property> - <object class="wxBoxSizer" expanded="1"> + <object class="wxBoxSizer" expanded="0"> <property name="minimum_size"></property> <property name="name">bottom_sizer</property> <property name="orient">wxHORIZONTAL</property> @@ -5756,79 +5480,6 @@ <property name="font"></property> <property name="gripper">0</property> <property name="hidden">0</property> - <property name="id">ID_IMPORT_BUTTON</property> - <property name="label">Import games</property> - <property name="margins"></property> - <property name="markup">0</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">import_button</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="position"></property> - <property name="pressed"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="sizeritem" expanded="0"> - <property name="border">5</property> - <property name="flag">wxALL|wxEXPAND</property> - <property name="proportion">1</property> - <object class="wxButton" expanded="0"> - <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="auth_needed">0</property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="bitmap"></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="current"></property> - <property name="default">0</property> - <property name="default_pane">0</property> - <property name="disabled"></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="focus"></property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> <property name="id">ID_DELETE_BUTTON</property> <property name="label">Mark as deleted</property> <property name="margins"></property> @@ -5869,7 +5520,7 @@ </object> </object> </object> - <object class="Panel" expanded="1"> + <object class="Panel" expanded="0"> <property name="aui_managed">0</property> <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property> <property name="bg"></property> @@ -5892,7 +5543,7 @@ <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style">wxTAB_TRAVERSAL</property> - <object class="wxBoxSizer" expanded="1"> + <object class="wxBoxSizer" expanded="0"> <property name="minimum_size"></property> <property name="name">main_sizer</property> <property name="orient">wxVERTICAL</property> @@ -5958,11 +5609,11 @@ <property name="wrap">-1</property> </object> </object> - <object class="sizeritem" expanded="1"> + <object class="sizeritem" expanded="0"> <property name="border">5</property> <property name="flag">wxALIGN_TOP|wxEXPAND</property> <property name="proportion">1</property> - <object class="wxBoxSizer" expanded="1"> + <object class="wxBoxSizer" expanded="0"> <property name="minimum_size"></property> <property name="name">top_sizer</property> <property name="orient">wxHORIZONTAL</property> @@ -6226,29 +5877,29 @@ <property name="wrap">-1</property> </object> </object> - <object class="sizeritem" expanded="1"> + <object class="sizeritem" expanded="0"> <property name="border">5</property> <property name="flag">wxEXPAND</property> <property name="proportion">100</property> - <object class="wxBoxSizer" expanded="1"> + <object class="wxBoxSizer" expanded="0"> <property name="minimum_size"></property> <property name="name">bottom_sizer</property> <property name="orient">wxVERTICAL</property> <property name="permission">none</property> - <object class="sizeritem" expanded="1"> + <object class="sizeritem" expanded="0"> <property name="border">5</property> <property name="flag">wxEXPAND</property> <property name="proportion">1</property> - <object class="wxBoxSizer" expanded="1"> + <object class="wxBoxSizer" expanded="0"> <property name="minimum_size"></property> <property name="name">bSizer33</property> <property name="orient">wxHORIZONTAL</property> <property name="permission">none</property> - <object class="sizeritem" expanded="1"> + <object class="sizeritem" expanded="0"> <property name="border">5</property> <property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property> <property name="proportion">0</property> - <object class="wxStaticText" expanded="1"> + <object class="wxStaticText" expanded="0"> <property name="BottomDockable">1</property> <property name="LeftDockable">1</property> <property name="RightDockable">1</property> @@ -6305,11 +5956,11 @@ <property name="wrap">-1</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">100</property> - <object class="wxComboBox" expanded="1"> + <object class="wxComboBox" expanded="0"> <property name="BottomDockable">1</property> <property name="LeftDockable">1</property> <property name="RightDockable">1</property> @@ -6370,11 +6021,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</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> @@ -6507,11 +6158,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> @@ -6614,9 +6265,9 @@ <property name="permission">none</property> <object class="sizeritem" expanded="1"> <property name="border">5</property> - <property name="flag">wxALL</property> - <property name="proportion">0</property> - <object class="wxStaticText" expanded="1"> + <property name="flag">wxALL|wxEXPAND</property> + <property name="proportion">100</property> + <object class="wxTextCtrl" expanded="1"> <property name="BottomDockable">1</property> <property name="LeftDockable">1</property> <property name="RightDockable">1</property> @@ -6626,7 +6277,7 @@ <property name="aui_position"></property> <property name="aui_row"></property> <property name="best_size"></property> - <property name="bg"></property> + <property name="bg">235,235,235</property> <property name="caption"></property> <property name="caption_visible">1</property> <property name="center_pane">0</property> @@ -6644,16 +6295,15 @@ <property name="gripper">0</property> <property name="hidden">0</property> <property name="id">wxID_ANY</property> - <property name="label">TODO</property> - <property name="markup">0</property> <property name="max_size"></property> <property name="maximize_button">0</property> <property name="maximum_size"></property> + <property name="maxlength"></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">m_staticText27</property> + <property name="name">informations</property> <property name="pane_border">1</property> <property name="pane_position"></property> <property name="pane_size"></property> @@ -6663,14 +6313,102 @@ <property name="resize">Resizable</property> <property name="show">1</property> <property name="size"></property> - <property name="style"></property> + <property name="style">wxTE_MULTILINE|wxTE_READONLY</property> <property name="subclass">; ; forward_declare</property> <property name="toolbar_pane">0</property> <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="value"></property> <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style"></property> - <property name="wrap">-1</property> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">bottom_sizer</property> + <property name="orient">wxVERTICAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL|wxEXPAND</property> + <property name="proportion">0</property> + <object class="wxButton" 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="auth_needed">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="bitmap"></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="current"></property> + <property name="default">0</property> + <property name="default_pane">0</property> + <property name="disabled"></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="focus"></property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">ID_SAVE_BUTTON</property> + <property name="label">Save All Changes</property> + <property name="margins"></property> + <property name="markup">0</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">save_button</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="position"></property> + <property name="pressed"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> </object> </object> </object> |
