/* 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 ACCOUNTPANEL_H #define ACCOUNTPANEL_H #include #include #include #include #include #include #include "grid/CalendarEditor.h" #include "grid/wxGridCellBitmapRenderer.h" #include "view.h" #include #include #include "grid/GridAccount.h" #include class AccountPanel: public KissPanel { public: AccountPanel(KissCount* kiss, wxUI *parent); ~AccountPanel(); KissPanel* CreatePanel(); wxBitmapButton* GetButton(int id); wxString GetToolTip(); void OnShow(wxShowEvent& event); void ChangeUser(); void LoadYear(int year, bool showMonth=true); void ShowMonth(int month, int year); void GenerateMonth(int month, int year); void OnOperationModified(wxGridEvent& event); void OnAccountModified(wxGridEvent& event); void OnTreeRightClick(wxTreeEvent& event); void OnTreeChange(wxTreeEvent& event); void OnMenuGenerate(wxCommandEvent& event); void OnMenuDelete(wxCommandEvent& event); void OnCalendarChange(wxCalendarEvent& event); void OnModeChange(wxCommandEvent& event); void OnGroup(wxCommandEvent& event); void OnUnGroup(wxCommandEvent& event); void OnUpdateNextMonths(wxCommandEvent& event); int _curMonth, _curYear; private: wxTreeCtrl _tree; wxCalendarCtrl* _calendar; GridAccount* _grid; wxGrid *_statsGrid, *_accountsGrid; PiePlot* _pie; double *_categoriesValues; wxRadioBox *_radioMode; std::map _categoriesIndexes; std::vector* _curOperations; wxString* _categories, *_accounts; std::map _accountsInitValues; CategorySimpleDataset* _dataset; int _fixCosts; void InitStatsGrid(User* user); void InitAccountsGrid(User* user, int month, int year); void UpdateStats(); void InsertOperation(User* user, Operation* op, int line, bool fix); void GetTreeSelection(int* month, int* year); DECLARE_EVENT_TABLE(); }; #endif