Reverted tree modification
This commit is contained in:
parent
bd3d96f64a
commit
cac8f4b25e
|
@ -18,7 +18,7 @@ EVT_TREE_KEY_DOWN(CALENDAR_TREE_ID, AccountPanel::OnTreeChange)
|
|||
EVT_SHOW(AccountPanel::OnShow)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
AccountPanel::AccountPanel(KissCount* kiss, wxUI *parent) : wxPanel(&(*parent)), _curMonth(-1), _curYear(-1), _kiss(kiss), _wxUI(parent)
|
||||
AccountPanel::AccountPanel(KissCount* kiss, wxUI *parent) : wxPanel(&(*parent)), _curMonth(-1), _curYear(-1), _kiss(kiss), _wxUI(parent), _tree(this, CALENDAR_TREE_ID, wxDefaultPosition, wxDefaultSize, wxTR_HIDE_ROOT)
|
||||
{
|
||||
wxBoxSizer *hbox = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxBoxSizer *vbox = new wxBoxSizer(wxVERTICAL);
|
||||
|
@ -46,8 +46,6 @@ AccountPanel::AccountPanel(KissCount* kiss, wxUI *parent) : wxPanel(&(*parent)),
|
|||
|
||||
ColorScheme* colorScheme = new ColorScheme(categoryColors, WXSIZEOF(categoryColors));
|
||||
|
||||
_tree = new wxTreeCtrl(this, CALENDAR_TREE_ID, wxDefaultPosition, wxDefaultSize, wxTR_HIDE_ROOT);
|
||||
|
||||
_pie = new PiePlot();
|
||||
|
||||
_accounts = new wxString[user->GetAccountsNumber()];
|
||||
|
@ -123,7 +121,7 @@ AccountPanel::AccountPanel(KissCount* kiss, wxUI *parent) : wxPanel(&(*parent)),
|
|||
chart->Layout();
|
||||
chart->SetMinSize(// chart->GetSize()
|
||||
wxSize(200,250));
|
||||
hbox->Add(_tree, 0);
|
||||
hbox->Add(&_tree, 0);
|
||||
vbox2->Add(_accountsGrid, 0);
|
||||
vbox2->Add(-1, 10);
|
||||
vbox2->Add(_grid, 0);
|
||||
|
@ -205,8 +203,8 @@ void AccountPanel::ChangeUser()
|
|||
|
||||
InitStatsGrid(user);
|
||||
|
||||
_tree->DeleteAllItems();
|
||||
rootNode = _tree->AddRoot(_(""));
|
||||
_tree.DeleteAllItems();
|
||||
rootNode = _tree.AddRoot(_(""));
|
||||
|
||||
curDate.SetToCurrent();
|
||||
for(it = user->_operations.begin(); it != user->_operations.end(); it++)
|
||||
|
@ -214,15 +212,15 @@ void AccountPanel::ChangeUser()
|
|||
if ((int)it->first <= curDate.GetYear())
|
||||
{
|
||||
curYear = it->first;
|
||||
curNode = _tree->AppendItem(rootNode, wxString::Format(wxT("%d"), it->first));
|
||||
curNode = _tree.AppendItem(rootNode, wxString::Format(wxT("%d"), it->first));
|
||||
}
|
||||
else
|
||||
_tree->AppendItem(rootNode, wxString::Format(wxT("%d"), it->first));
|
||||
_tree.AppendItem(rootNode, wxString::Format(wxT("%d"), it->first));
|
||||
}
|
||||
|
||||
if (curYear != -1)
|
||||
{
|
||||
_tree->SelectItem(curNode, true);
|
||||
_tree.SelectItem(curNode, true);
|
||||
LoadYear(curYear);
|
||||
}
|
||||
}
|
||||
|
@ -248,24 +246,24 @@ void AccountPanel::LoadYear(int year, bool showMonth)
|
|||
ops = _kiss->GetAllOperations();
|
||||
|
||||
curDate.SetToCurrent();
|
||||
parentNode = _tree->GetSelection();
|
||||
parentNode = _tree.GetSelection();
|
||||
|
||||
for (it = ops[year].begin(); it != ops[year].end(); it++)
|
||||
{
|
||||
if (curMonth == -1 || (year == curDate.GetYear() && *it <= curDate.GetMonth()))
|
||||
{
|
||||
curMonth = *it;
|
||||
curMonthNode = _tree->AppendItem(parentNode, months[*it]);
|
||||
curMonthNode = _tree.AppendItem(parentNode, months[*it]);
|
||||
}
|
||||
else
|
||||
_tree->AppendItem(parentNode, months[*it]);
|
||||
_tree.AppendItem(parentNode, months[*it]);
|
||||
}
|
||||
|
||||
_tree->Expand(parentNode);
|
||||
_tree.Expand(parentNode);
|
||||
|
||||
if (showMonth)
|
||||
{
|
||||
_tree->SelectItem(curMonthNode, true);
|
||||
_tree.SelectItem(curMonthNode, true);
|
||||
ShowMonth(curMonth, year);
|
||||
}
|
||||
|
||||
|
@ -797,7 +795,7 @@ void AccountPanel::OnTreeRightClick(wxTreeEvent& event)
|
|||
|
||||
menu.Append(MENU_GENERATE_ID, _("Generate month"));
|
||||
menu.AppendSeparator();
|
||||
if (_tree->GetCount() > 1)
|
||||
if (_tree.GetCount() > 1)
|
||||
menu.Append(MENU_DELETE_ID, _("Delete"));
|
||||
|
||||
PopupMenu(&menu, event.GetPoint());
|
||||
|
@ -814,7 +812,7 @@ void AccountPanel::OnTreeChange(wxTreeEvent& event)
|
|||
|
||||
inModification = true;
|
||||
|
||||
monthString = _tree->GetItemText(event.GetItem());
|
||||
monthString = _tree.GetItemText(event.GetItem());
|
||||
for (i=0; i<12; i++)
|
||||
if (monthString == months[i])
|
||||
{
|
||||
|
@ -839,13 +837,13 @@ void AccountPanel::OnTreeChange(wxTreeEvent& event)
|
|||
return;
|
||||
}
|
||||
|
||||
// _tree->CollapseAll();
|
||||
// _tree->Expand(event.GetItem());
|
||||
// _tree.CollapseAll();
|
||||
// _tree.Expand(event.GetItem());
|
||||
LoadYear(year, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
year = wxAtoi(_tree->GetItemText(_tree->GetItemParent(event.GetItem())));
|
||||
year = wxAtoi(_tree.GetItemText(_tree.GetItemParent(event.GetItem())));
|
||||
|
||||
// Error
|
||||
if (year == 0)
|
||||
|
@ -870,7 +868,7 @@ void AccountPanel::GetTreeSelection(int* month, int* year)
|
|||
|
||||
*month = -1; *year = -1;
|
||||
|
||||
monthString = _tree->GetItemText(_tree->GetSelection());
|
||||
monthString = _tree.GetItemText(_tree.GetSelection());
|
||||
for (i=0; i<12; i++)
|
||||
if (monthString == months[i])
|
||||
{
|
||||
|
@ -892,7 +890,7 @@ void AccountPanel::GetTreeSelection(int* month, int* year)
|
|||
}
|
||||
else
|
||||
{
|
||||
*year = wxAtoi(_tree->GetItemText(_tree->GetItemParent(_tree->GetSelection())));
|
||||
*year = wxAtoi(_tree.GetItemText(_tree.GetItemParent(_tree.GetSelection())));
|
||||
|
||||
// Error
|
||||
if (year == 0)
|
||||
|
@ -942,25 +940,25 @@ void AccountPanel::OnMenuDelete(wxCommandEvent& event)
|
|||
if (dialog.ShowModal() == wxID_NO)
|
||||
return;
|
||||
|
||||
curNode = _tree->GetSelection();
|
||||
curNode = _tree.GetSelection();
|
||||
|
||||
if (ops[year].size() == 1 && month != -1)
|
||||
curNode = _tree->GetItemParent(curNode);
|
||||
curNode = _tree.GetItemParent(curNode);
|
||||
|
||||
_kiss->DeleteOperations(month, year);
|
||||
|
||||
node = _tree->GetNextSibling(curNode);
|
||||
node = _tree.GetNextSibling(curNode);
|
||||
|
||||
if (!node.IsOk())
|
||||
node = _tree->GetPrevSibling(curNode);
|
||||
node = _tree.GetPrevSibling(curNode);
|
||||
|
||||
_tree->Delete(curNode);
|
||||
_tree.Delete(curNode);
|
||||
|
||||
if (!node.IsOk())
|
||||
ChangeUser();
|
||||
else
|
||||
{
|
||||
_tree->SelectItem(node);
|
||||
_tree.SelectItem(node);
|
||||
GetTreeSelection(&month, &year);
|
||||
if (month == -1)
|
||||
month = ops[year][0];
|
||||
|
@ -977,48 +975,48 @@ void AccountPanel::GenerateMonth(int month, int year)
|
|||
int i;
|
||||
User* user = _kiss->GetUser();
|
||||
|
||||
root = _tree->GetRootItem();
|
||||
root = _tree.GetRootItem();
|
||||
yearString = wxString::Format(wxT("%d"), year);
|
||||
monthString = months[month];
|
||||
|
||||
if (_tree->GetChildrenCount(root, true) < 1)
|
||||
if (_tree.GetChildrenCount(root, true) < 1)
|
||||
{
|
||||
node = _tree->AppendItem(root, yearString);
|
||||
node = _tree->AppendItem(node, monthString);
|
||||
node = _tree.AppendItem(root, yearString);
|
||||
node = _tree.AppendItem(node, monthString);
|
||||
|
||||
_tree->SelectItem(node, true);
|
||||
_tree.SelectItem(node, true);
|
||||
ShowMonth(month, year);
|
||||
return ;
|
||||
}
|
||||
|
||||
years = _tree->GetFirstChild(root, cookie);
|
||||
years = _tree.GetFirstChild(root, cookie);
|
||||
while (years.IsOk())
|
||||
{
|
||||
if (_tree->GetItemText(years) == yearString)
|
||||
if (_tree.GetItemText(years) == yearString)
|
||||
break;
|
||||
if (wxAtoi(_tree->GetItemText(years)) > year)
|
||||
if (wxAtoi(_tree.GetItemText(years)) > year)
|
||||
{
|
||||
years = _tree->GetPrevSibling(years);
|
||||
years = _tree.GetPrevSibling(years);
|
||||
if (!years.IsOk())
|
||||
years = _tree->PrependItem(root, yearString);
|
||||
years = _tree.PrependItem(root, yearString);
|
||||
else
|
||||
years = _tree->InsertItem(root, years, yearString);
|
||||
years = _tree.InsertItem(root, years, yearString);
|
||||
break;
|
||||
}
|
||||
years = _tree->GetNextSibling(years);
|
||||
years = _tree.GetNextSibling(years);
|
||||
}
|
||||
|
||||
if (!years.IsOk())
|
||||
{
|
||||
years = _tree->GetFirstChild(root, cookie);
|
||||
if (wxAtoi(_tree->GetItemText(years)) > year)
|
||||
years = _tree->PrependItem(root, yearString);
|
||||
years = _tree.GetFirstChild(root, cookie);
|
||||
if (wxAtoi(_tree.GetItemText(years)) > year)
|
||||
years = _tree.PrependItem(root, yearString);
|
||||
else
|
||||
years = _tree->AppendItem(root, yearString);
|
||||
years = _tree.AppendItem(root, yearString);
|
||||
}
|
||||
|
||||
if (!_tree->GetChildrenCount(years, true))
|
||||
node = _tree->AppendItem(years, monthString);
|
||||
if (!_tree.GetChildrenCount(years, true))
|
||||
node = _tree.AppendItem(years, monthString);
|
||||
else
|
||||
{
|
||||
for(i=0, it = user->_operations[year]->begin();
|
||||
|
@ -1028,10 +1026,10 @@ void AccountPanel::GenerateMonth(int month, int year)
|
|||
if ((int)it->first > month)
|
||||
break;
|
||||
}
|
||||
years = _tree->InsertItem(years, i, monthString);
|
||||
years = _tree.InsertItem(years, i, monthString);
|
||||
}
|
||||
|
||||
_tree->SelectItem(node, true);
|
||||
_tree.SelectItem(node, true);
|
||||
ShowMonth(month, year);
|
||||
}
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ public:
|
|||
private:
|
||||
KissCount* _kiss;
|
||||
wxUI* _wxUI;
|
||||
wxTreeCtrl* _tree;
|
||||
wxTreeCtrl _tree;
|
||||
GridAccount* _grid;
|
||||
wxGrid *_statsGrid, *_accountsGrid;
|
||||
PiePlot* _pie;
|
||||
|
|
Loading…
Reference in New Issue
Block a user