#ifndef ACCOUNTPANEL_H #define ACCOUNTPANEL_H #include #include #include #include #include #include #include "CalendarEditor.h" #include "wxGridCellBitmapRenderer.h" #define OWN_CYAN wxColour(0x99, 0xCC, 0xFF) #define OWN_YELLOW wxColour(0xFF, 0xFF, 0x99) #define OWN_GREEN wxColour(0x3D, 0xEB, 0x3D) #define DEFAULT_FONT_NAME _("Liberation Sans") #define DEFAULT_FONT_SIZE 12 #define DEFAULT_FONT(font_name) wxFont font_name(DEFAULT_FONT_SIZE, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, DEFAULT_FONT_NAME); #define DELETE_ICON "ressources/process-stop.png" #include #include "wxUI.h" #include #include "GridAccount.h" #include class wxUI; class KissCount; class AccountPanel: public wxScrolledWindow { public: AccountPanel(KissCount* kiss, wxUI *parent); ~AccountPanel(); 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 OnShow(wxShowEvent& event); void OnCalendarChange(wxCalendarEvent& event); int _curMonth, _curYear; private: KissCount* _kiss; wxUI* _wxUI; wxTreeCtrl _tree; wxCalendarCtrl* _calendar; GridAccount* _grid; wxGrid *_statsGrid, *_accountsGrid; PiePlot* _pie; double *_categoriesValues; 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