GnuCashew ~ Web Application compatible with GnuCash sql data files.
GCW
Loading...
Searching...
No Matches
BillPay/ToolBar.cpp
Go to the documentation of this file.
1#line 2 "src/Gui/BillPay/ToolBar.cpp"
2
3#include <Wt/WHBoxLayout.h>
4#include <Wt/WTable.h>
5#include <Wt/WContainerWidget.h>
6#include <Wt/WPushButton.h>
7
8#include "BillPay.h"
9
11ToolBar()
12{
13 addStyleClass( "ToolBar" );
14
15 /*
16 ** Always use a layout
17 */
18 auto lw = setLayout( std::make_unique< Wt::WHBoxLayout >() );
19 auto table = lw-> addWidget( std::make_unique< Wt::WTable >() );
20 table-> setAttributeValue( "style", "border-spacing:10px;border-collapse:separate;" );
21 lw-> addWidget( std::make_unique< Wt::WContainerWidget >(), 1 );
22
23 /*
24 ** click to add
25 */
26 auto pbAdd = table-> elementAt( 0, 0 )-> addWidget( std::make_unique< Wt::WPushButton >( TR("gcw.billPay.lbl.add") ) );
27 pbAdd-> setStyleClass( "btn-xs" );
28 pbAdd-> clicked().connect( [=](){ m_addClicked.emit(); } );
29
30 /*
31 ** click to edit
32 */
33 auto pbEdit = table-> elementAt( 0, 1 )-> addWidget( std::make_unique< Wt::WPushButton >( TR("gcw.billPay.lbl.edit") ) );
34 pbEdit-> setStyleClass( "btn-xs" );
35 pbEdit-> clicked().connect( [=](){ m_editClicked.emit(); } );
36
37 /*
38 ** hide and show disabled items
39 */
40 m_inactive = table-> elementAt( 0, 2 )-> addWidget( std::make_unique< Wt::WCheckBox >( TR("gcw.billPay.lbl.inactive") ) );
41 m_inactive-> setValueText( configItem()-> getVarString( "showInactive" ) );
43 clicked().connect( [&]( Wt::WMouseEvent _event )
44 {
45 auto item = configItem();
46 Wt::Dbo::Transaction t( GCW::app()-> gnucashew_session() );
47 item.modify()-> setVar( "showInactive", m_inactive-> valueText() );
48 item.flush();
49
50 });
51
52 /*
53 ** hide and show the summary view
54 */
55 m_summary = table-> elementAt( 0, 3 )-> addWidget( std::make_unique< Wt::WCheckBox >( TR("gcw.billPay.lbl.summary") ) );
56 m_summary-> setValueText( configItem()-> getVarString( "showSummary" ) );
57 m_summary->
58 clicked().connect( [&]( Wt::WMouseEvent _event )
59 {
60 auto item = configItem();
61 Wt::Dbo::Transaction t( GCW::app()-> gnucashew_session() );
62 item.modify()-> setVar( "showSummary", m_summary-> valueText() );
63 item.flush();
64
65 });
66
67#ifdef NEVER
68 /*
69 ** import export buttons
70 */
71 {
72 auto pbImport = table-> elementAt( 0, 4 )-> addWidget( std::make_unique< Wt::WPushButton >( "import" ) );
73 auto pbExport = table-> elementAt( 0, 5 )-> addWidget( std::make_unique< Wt::WPushButton >( "export" ) );
74
75 pbImport-> setStyleClass( "btn-xs" );
76 pbExport-> setStyleClass( "btn-xs" );
77
78 pbImport-> clicked().connect( [=]{ m_importClicked.emit(); } );
79 pbExport-> clicked().connect( [=]{ m_exportClicked.emit(); } );
80
81 }
82#endif
83
84} // endToolBar()
85
86bool
88showInactive() const
89{
90 return inactiveButton()-> checkState() == Wt::CheckState::Checked? true:false;
91}
92
93bool
95showSummary() const
96{
97 return summaryButton()-> checkState() == Wt::CheckState::Checked? true:false;
98}
99
auto showSummary() const -> bool
auto showInactive() const -> bool
void emit(A... args) const
Widget * addNew(Args &&...args)
void setLayout(std::unique_ptr< WLayout > layout)
virtual void addWidget(std::unique_ptr< WWidget > widget)
EventSignal< WMouseEvent > & clicked()
virtual void setAttributeValue(const std::string &name, const WString &value) override
virtual void setStyleClass(const WString &styleClass) override
virtual void addStyleClass(const WString &styleClass, bool force=false) override
#define TR(X)
Definition define.h:17
auto configItem() -> GCW::Dbo::Vars::Item::Ptr
Config Item.
Definition BillPay.cpp:7
App * app()
Definition App.cpp:75