/* Copyright 2010-2011 Grégory Soutadé This file is part of KissCount. KissCount is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. KissCount is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with KissCount. If not, see . */ #ifndef WXUI_H #define WXUI_H class ImportEngine; #include #include "AccountPanel.h" #include "PreferencesPanel.h" #include "UsersDialog.h" #include "GenerateDialog.h" #include "SearchPanel.h" #include "StatsPanel.h" #include "ImportPanel.h" #include #include "grid/wxMyGrid.h" #include "grid/wxGridCellFastBoolEditor.h" #include "grid/wxGridCellButtonRenderer.h" #include "grid/wxGridCellButtonEditor.h" #ifdef WIN32 #undef _ #define _(s) wxString(wxGetTranslation(s)) #endif class KissCount; class AccountPanel; class PreferencesPanel; extern wxString months[12]; extern wxColour categoryColors[12]; #define MAX_CATEGORY 12 class wxUI: public wxFrame { public: wxUI(KissCount* kiss, const wxString& title, const wxPoint& pos, const wxSize& size); ~wxUI(); bool SetLanguage(long language); void ChangeUser(); void LoadUser(); void ShowAccount(); void ShowSearch(); void ShowPreferences(); void GenerateMonth(int month, int year); void KillMe(); void ShowPanel(KissPanel* panel); void NeedReload(); wxLanguage _language; void OnButtonClicked(wxCommandEvent& event); void OnButtonChangeUser(wxCommandEvent& event); void OnButtonAbout(wxCommandEvent& event); void OnButtonQuit(wxCommandEvent& event); private: KissCount *_kiss; wxBoxSizer *_vbox, *_buttonsBox; KissPanel *_curPanel; std::vector _panels; std::vector _buttons; wxLocale *_locale; bool _needReload; void InitPanels(); void LoadPanels(); DECLARE_EVENT_TABLE(); }; #endif