Some structure changes. Added saving of window size

This commit is contained in:
2015-06-22 15:43:38 +03:00
parent d7cd29f24f
commit 4a989d1dbf
6 changed files with 42 additions and 16 deletions

View File

@@ -49,7 +49,7 @@
<event name="OnActivate"></event> <event name="OnActivate"></event>
<event name="OnActivateApp"></event> <event name="OnActivateApp"></event>
<event name="OnChar"></event> <event name="OnChar"></event>
<event name="OnClose">onExitClick</event> <event name="OnClose">onWindowClose</event>
<event name="OnEnterWindow"></event> <event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event> <event name="OnEraseBackground"></event>
<event name="OnHibernate"></event> <event name="OnHibernate"></event>

View File

@@ -88,7 +88,7 @@ VMainFrame::VMainFrame( wxWindow* parent, wxWindowID id, const wxString& title,
this->Layout(); this->Layout();
// Connect Events // Connect Events
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( VMainFrame::onExitClick ) ); this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( VMainFrame::onWindowClose ) );
this->Connect( miOpenGrid->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onOpenGridClick ) ); this->Connect( miOpenGrid->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onOpenGridClick ) );
this->Connect( miGenerate->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onGenerateClick ) ); this->Connect( miGenerate->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onGenerateClick ) );
this->Connect( miExport->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onExportClick ) ); this->Connect( miExport->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onExportClick ) );
@@ -102,7 +102,7 @@ VMainFrame::VMainFrame( wxWindow* parent, wxWindowID id, const wxString& title,
VMainFrame::~VMainFrame() VMainFrame::~VMainFrame()
{ {
// Disconnect Events // Disconnect Events
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( VMainFrame::onExitClick ) ); this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( VMainFrame::onWindowClose ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onOpenGridClick ) ); this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onOpenGridClick ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onGenerateClick ) ); this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onGenerateClick ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onExportClick ) ); this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( VMainFrame::onExportClick ) );

View File

@@ -51,7 +51,7 @@ class VMainFrame : public wxFrame
wxButton* bGenerate; wxButton* bGenerate;
// Virtual event handlers, overide them in your derived class // Virtual event handlers, overide them in your derived class
virtual void onExitClick( wxCloseEvent& event ) { event.Skip(); } virtual void onWindowClose( wxCloseEvent& event ) { event.Skip(); }
virtual void onOpenGridClick( wxCommandEvent& event ) { event.Skip(); } virtual void onOpenGridClick( wxCommandEvent& event ) { event.Skip(); }
virtual void onGenerateClick( wxCommandEvent& event ) { event.Skip(); } virtual void onGenerateClick( wxCommandEvent& event ) { event.Skip(); }
virtual void onExportClick( wxCommandEvent& event ) { event.Skip(); } virtual void onExportClick( wxCommandEvent& event ) { event.Skip(); }

View File

@@ -1,6 +1,20 @@
#include "fmain.hpp" #include "fmain.hpp"
MainFrame::MainFrame( wxWindow* parent): VMainFrame(parent) {
// Hack for better background
#ifdef __WINDOWS__
SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE));
#endif
_isDictLoaded = false;
srand(time(NULL));
auto *config = wxConfigBase::Get();
wxSize sz;
sz.SetHeight(config->Read(SETTINGS_KEY_FMAIN_HEIGHT, SETTINGS_DEFAULT_FMAIN_HEIGHT));
sz.SetWidth(config->Read(SETTINGS_KEY_FMAIN_WIDTH, SETTINGS_DEFAULT_FMAIN_WIDTH));
SetSize(sz);
}
void MainFrame::procDict(wxString path){ void MainFrame::procDict(wxString path){
_dict.clear(); _dict.clear();
_allWords.clear(); _allWords.clear();
@@ -183,3 +197,19 @@ void MainFrame::onSettingsClick( wxCommandEvent& event ){
} }
} }
} }
void MainFrame::onWindowClose( wxCloseEvent& event ){
saveConfig();
event.Skip();
}
void MainFrame::onExitClick( wxCommandEvent& event ){
this->Close();
}
void MainFrame::saveConfig(){
auto *config = wxConfigBase::Get();
auto sz = GetSize();
config->Write(SETTINGS_KEY_FMAIN_HEIGHT, sz.GetHeight());
config->Write(SETTINGS_KEY_FMAIN_WIDTH, sz.GetWidth());
}

View File

@@ -35,23 +35,15 @@ protected:
public: public:
void SetGridImage(GridType &grid, size_t w=400); void SetGridImage(GridType &grid, size_t w=400);
void procDict(wxString path); void procDict(wxString path);
void saveConfig();
MainFrame( wxWindow* parent): VMainFrame(parent) { MainFrame( wxWindow* parent);
// Hack for better background void onWindowClose( wxCloseEvent& event );
#ifdef __WINDOWS__
SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE));
#endif
_isDictLoaded = false;
srand(time(NULL));
}
void onExitClick( wxCloseEvent& event ) { event.Skip(); }
void onOpenGridClick( wxCommandEvent& event ); void onOpenGridClick( wxCommandEvent& event );
void onGenerateClick( wxCommandEvent& event ); void onGenerateClick( wxCommandEvent& event );
void onSettingsClick( wxCommandEvent& event ); void onSettingsClick( wxCommandEvent& event );
void onExportClick( wxCommandEvent& event ); void onExportClick( wxCommandEvent& event );
void onExitClick( wxCommandEvent& event ) { void onExitClick( wxCommandEvent& event );
Close();
}
void onAboutClick( wxCommandEvent& event ) { void onAboutClick( wxCommandEvent& event ) {
wxAboutDialogInfo info; wxAboutDialogInfo info;
info.AddDeveloper(_("Aleksey Lobanov")); info.AddDeveloper(_("Aleksey Lobanov"));

View File

@@ -5,5 +5,9 @@
const wxString SETTINGS_KEY_DICT_PATH = wxT("/Dict/Path"); const wxString SETTINGS_KEY_DICT_PATH = wxT("/Dict/Path");
const wxString SETTINGS_DEFAULT_DICTPATH = wxT("big_cross_ru.txt"); const wxString SETTINGS_DEFAULT_DICTPATH = wxT("big_cross_ru.txt");
const wxString SETTINGS_KEY_FMAIN_HEIGHT = wxT("fMain/Height");
const wxString SETTINGS_KEY_FMAIN_WIDTH = wxT("fMain/Width");
const int SETTINGS_DEFAULT_FMAIN_HEIGHT = 350;
const int SETTINGS_DEFAULT_FMAIN_WIDTH = 600;
#endif #endif