1 #line 2 "src/Eng/AccountsTreeViewModel.cpp"
5 #include <Wt/Json/Array.h>
6 #include <Wt/Json/Parser.h>
7 #include <Wt/Json/Serializer.h>
9 #include <Wt/WTreeTableNode.h>
10 #include <Wt/WVBoxLayout.h>
12 #include "../define.h"
13 #include "../GnuCashew.h"
18 load(
int _columnCount )->
void
20 m_columnCount = _columnCount;
26 if( !
GCW::app()-> gnucashew_session().isOpen() )
45 if( col < m_columnCount )
48 setHeaderData( col++,
TR(
"gcw.AccountsTreeView.column.accountname" ) );
51 if( col < m_columnCount )
54 setHeaderData( col++,
TR(
"gcw.AccountsTreeView.column.accountcode" ) );
57 if( col < m_columnCount )
60 setHeaderData( col++,
TR(
"gcw.AccountsTreeView.column.description" ) );
63 if( col < m_columnCount )
66 setHeaderData( col++,
TR(
"gcw.AccountsTreeView.column.taxinfo" ) );
69 if( col < m_columnCount )
72 setHeaderData( col++,
TR(
"gcw.AccountsTreeView.column.notes" ) );
75 if( col < m_columnCount )
78 setHeaderData( col++,
TR(
"gcw.AccountsTreeView.column.futureminimumusd" ) );
81 if( col < m_columnCount )
84 setHeaderData( col++,
TR(
"gcw.AccountsTreeView.column.total" ) );
97 Wt::Dbo::Transaction t(
GCW::app()-> gnucashew_session() );
107 std::vector< std::unique_ptr< Wt::WStandardItem > > columns;
109 auto accountName = std::make_unique< Wt::WStandardItem >( _accountItem->
name() );
110 auto retVal = accountName.get();
111 accountName-> setToolTip( _accountItem->
guid() );
114 if( _accountItem-> hasColor() )
116 auto accountColor = _accountItem-> color();
117 std::cout << __FILE__ <<
":" << __LINE__ <<
" " << accountColor << std::endl;
126 accountName-> setData( _accountItem->
guid(), Wt::ItemDataRole::User );
130 if( col++ < m_columnCount )
133 columns.push_back( std::move( accountName ) );
136 if( col++ < m_columnCount )
139 columns.push_back( std::make_unique< Wt::WStandardItem >( _accountItem->
code () ) );
142 if( col++ < m_columnCount )
145 columns.push_back( std::make_unique< Wt::WStandardItem >( _accountItem->
description () ) );
148 if( col++ < m_columnCount )
151 columns.push_back( std::make_unique< Wt::WStandardItem >() );
154 if( col++ < m_columnCount )
157 columns.push_back( std::make_unique< Wt::WStandardItem >() );
160 if( col++ < m_columnCount )
163 columns.push_back( std::make_unique< Wt::WStandardItem >() );
166 if( col++ < m_columnCount )
169 columns.push_back( std::make_unique< Wt::WStandardItem >() );
172 _item-> appendRow( std::move( columns ) );
185 .where(
"parent_guid = ?" )
186 .bind( _parentAccount->
guid() )
194 for(
auto account : childAccounts )
200 auto ti = _append( _treeItem, account );
auto load(int _columnCount) -> void
const Wt::WFormModel::Field name
const Wt::WFormModel::Field guid
const Wt::WFormModel::Field description
const Wt::WFormModel::Field code
auto rootAccount() -> Item::Ptr
Load Root Account.
auto load(const std::string &_guid) -> Item::Ptr
Load Account by GUID.