/*
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