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