GnuCashew ~ Web Application compatible with GnuCash sql data files.
GCW
Loading...
Searching...
No Matches
MainMenu.cpp
Go to the documentation of this file.
1#line 2 "src/Gui/MainMenu.cpp"
2
3#include <Wt/WMenu.h>
4#include <Wt/WPopupMenu.h>
5
6#include "../define.h"
7#include "MainWidget.h"
8#include "MainMenu.h"
9
11MainMenu( MainWidget * _mainWidget )
12{
13 /*
14 ** FILE
15 */
16 {
17 auto m_uFile = addItem( TR("gcw.MainWidget.mu.file") );
18 auto popFile = std::make_unique< Wt::WPopupMenu >();
19 popFile-> addItem( TR( "gcw.MainWidget.mu.file.new" ) )-> setDisabled( true );
20 popFile-> addItem( TR( "gcw.MainWidget.mu.file.open" ) )-> setDisabled( true );
21 popFile-> addItem( TR( "gcw.MainWidget.mu.file.import" ) )-> setDisabled( true );
22 popFile-> addSeparator();
23 popFile-> addItem( TR( "gcw.MainWidget.mu.file.save" ) )-> setDisabled( true );
24 popFile-> addItem( TR( "gcw.MainWidget.mu.file.saveas" ) )-> setDisabled( true );
25 popFile-> addItem( TR( "gcw.MainWidget.mu.file.revert" ) )-> setDisabled( true );
26 popFile-> addSeparator();
27 popFile-> addItem( TR( "gcw.MainWidget.mu.file.print" ) )-> setDisabled( true );
28 popFile-> addItem( TR( "gcw.MainWidget.mu.file.pagesetup" ) )-> setDisabled( true );
29 popFile-> addItem( TR( "gcw.MainWidget.mu.file.export" ) )-> setDisabled( true );
30 popFile-> addSeparator();
31 popFile-> addItem( TR( "gcw.MainWidget.mu.file.properties" ), _mainWidget, &MainWidget:: open_properties );
32 popFile-> addSeparator();
33 popFile-> addItem( TR( "gcw.MainWidget.mu.file.close" ) )-> setDisabled( true );
34 popFile-> addItem( TR( "gcw.MainWidget.mu.file.quit" ) )-> setDisabled( true );
35 m_uFile-> setMenu( std::move( popFile ) );
36
37 } // endFILE
38
39 /*
40 ** EDIT
41 */
42 {
43 auto m_uEdit = addItem( TR( "gcw.MainWidget.mu.edit" ) );
44 auto popEdit = std::make_unique< Wt::WPopupMenu >();
45 popEdit-> addItem( TR( "gcw.MainWidget.mu.edit.cut" ) )-> setDisabled( true );
46 popEdit-> addItem( TR( "gcw.MainWidget.mu.edit.copy" ) )-> setDisabled( true );
47 popEdit-> addItem( TR( "gcw.MainWidget.mu.edit.paste" ) )-> setDisabled( true );
48 popEdit-> addSeparator();
49 popEdit-> addItem( TR( "gcw.MainWidget.mu.edit.edit" ), _mainWidget, &MainWidget:: openSelectedAccount );
50 popEdit-> addItem( TR( "gcw.MainWidget.mu.edit.delete" ) )-> setDisabled( true );
51 popEdit-> addItem( TR( "gcw.MainWidget.mu.edit.find" ) )-> setDisabled( true );
52 popEdit-> addItem( TR( "gcw.MainWidget.mu.edit.cascade" ) )-> setDisabled( true );
53 popEdit-> addItem( TR( "gcw.MainWidget.mu.edit.renumber" ) )-> setDisabled( true );
54 popEdit-> addSeparator();
55 popEdit-> addItem( TR( "gcw.MainWidget.mu.edit.openaccount" ) )-> setDisabled( true );
56 popEdit-> addItem( TR( "gcw.MainWidget.mu.edit.opensubaccounts" ) )-> setDisabled( true );
57 m_uEdit-> setMenu( std::move( popEdit ) );
58
59 } // endEDIT
60
61 /*
62 ** VIEW
63 */
64 {
65 auto m_uView = addItem( TR( "gcw.MainWidget.mu.view" ) );
66 auto popView = std::make_unique< Wt::WPopupMenu >();
67 popView-> addItem( TR( "gcw.MainWidget.mu.view.toolbar" ) )-> setDisabled( true );
68 popView-> addItem( TR( "gcw.MainWidget.mu.view.summarybar" ) )-> setDisabled( true );
69 popView-> addItem( TR( "gcw.MainWidget.mu.view.statusbar" ) )-> setDisabled( true );
70 popView-> addItem( TR( "gcw.MainWidget.mu.view.tabposition" ) )-> setDisabled( true );
71 popView-> addSeparator();
72 popView-> addItem( TR( "gcw.MainWidget.mu.view.basic" ), _mainWidget, &MainWidget:: setBasicLedger )-> setCheckable( true );
73 popView-> addItem( TR( "gcw.MainWidget.mu.view.autosplit" ), _mainWidget, &MainWidget:: setAutosplit )-> setCheckable( true );
74 popView-> addItem( TR( "gcw.MainWidget.mu.view.transaction" ), _mainWidget, &MainWidget:: setTransaction )-> setCheckable( true );
75 popView-> addSeparator();
76 popView-> addItem( TR( "gcw.MainWidget.mu.view.doubleline" ), _mainWidget, &MainWidget:: setDoubleLine )-> setCheckable( true );
77 popView-> addSeparator();
78 popView-> addItem( TR( "gcw.MainWidget.mu.view.filterby" ) )-> setDisabled( true );
79 popView-> addSeparator();
80 popView-> addItem( TR( "gcw.MainWidget.mu.view.refresh" ) )-> setDisabled( true );
81 popView-> addItem( TR( "gcw.MainWidget.mu.view.newaccounts" ) )-> setDisabled( true );
82 m_uView-> setMenu( std::move( popView ) );
83
84 } // endVIEW
85
86 /*
87 ** ACTIONS
88 */
89 {
90 auto m_uActions = addItem( TR( "gcw.MainWidget.mu.actions" ) );
91 auto popActions = std::make_unique< Wt::WPopupMenu >();
92 popActions-> addItem( TR( "gcw.MainWidget.mu.actions.online" ) )-> setDisabled( true );
93 popActions-> addItem( TR( "gcw.MainWidget.mu.actions.scheduled" ) )-> setDisabled( true );
94 popActions-> addItem( TR( "gcw.MainWidget.mu.actions.budget" ) )-> setDisabled( true );
95
96#ifdef ENABLE_BILLPAY
97 if( GCW::app()-> gnucashew_session().hasGnuCashewExtensions() )
98 popActions-> addItem( TR( "gcw.MainWidget.mu.actions.billpay" ), _mainWidget-> centralWidget(), &CentralWidget::open_BillPayWidget );
99#endif
100
101 popActions-> addSeparator();
102 popActions-> addItem( TR( "gcw.MainWidget.mu.actions.resetwarnings" ) )-> setDisabled( true );
103 popActions-> addItem( TR( "gcw.MainWidget.mu.actions.renamepage" ) )-> setDisabled( true );
104 m_uActions-> setMenu( std::move( popActions ) );
105
106 } // endACTIONS
107
108 /*
109 ** BUSINESS
110 */
111 {
112 auto m_uBusiness = addItem( TR( "gcw.MainWidget.mu.business" ) );
113 auto popBusiness = std::make_unique< Wt::WPopupMenu >();
114
115 /*
116 ** CUSTOMER->
117 */
118 {
119 auto m_uCustomer = popBusiness-> addItem( TR( "gcw.MainWidget.mu.business.customer" ) );
120 auto popCustomer = std::make_unique< Wt::WPopupMenu >();
121 popCustomer-> addItem( TR( "gcw.MainWidget.mu.business.customer.overview" ), _mainWidget-> centralWidget(), &CentralWidget::open_CustomersWidget );
122 popCustomer-> addItem( TR( "gcw.MainWidget.mu.business.customer.newCustomer" ) )-> setDisabled( true );
123 popCustomer-> addItem( TR( "gcw.MainWidget.mu.business.customer.findCustomer" ) )-> setDisabled( true );
124 popCustomer-> addItem( TR( "gcw.MainWidget.mu.business.customer.newInvoice" ) )-> setDisabled( true );
125 popCustomer-> addItem( TR( "gcw.MainWidget.mu.business.customer.findInvoice" ) )-> setDisabled( true );
126 popCustomer-> addItem( TR( "gcw.MainWidget.mu.business.customer.newJob" ) )-> setDisabled( true );
127 popCustomer-> addItem( TR( "gcw.MainWidget.mu.business.customer.findJob" ) )-> setDisabled( true );
128 popCustomer-> addItem( TR( "gcw.MainWidget.mu.business.customer.processPayment" ) )-> setDisabled( true );
129 popCustomer-> addItem( TR( "gcw.MainWidget.mu.business.customer.invoicesDue" ) )-> setDisabled( true );
130 m_uCustomer-> setMenu( std::move( popCustomer ) );
131 }
132
133 /*
134 ** VENDOR->
135 */
136 {
137 auto m_uVendor = popBusiness-> addItem( TR( "gcw.MainWidget.mu.business.vendor" ) );
138 m_uVendor-> setDisabled( true );
139 auto popVendor = std::make_unique< Wt::WPopupMenu >();
140 popVendor-> addItem( TR( "gcw.MainWidget.mu.business.vendor.overview" ) )-> setDisabled( true );
141 popVendor-> addItem( TR( "gcw.MainWidget.mu.business.vendor.newVendor" ) )-> setDisabled( true );
142 popVendor-> addItem( TR( "gcw.MainWidget.mu.business.vendor.findVendor" ) )-> setDisabled( true );
143 popVendor-> addItem( TR( "gcw.MainWidget.mu.business.vendor.newBill" ) )-> setDisabled( true );
144 popVendor-> addItem( TR( "gcw.MainWidget.mu.business.vendor.findBill" ) )-> setDisabled( true );
145 popVendor-> addItem( TR( "gcw.MainWidget.mu.business.vendor.newJob" ) )-> setDisabled( true );
146 popVendor-> addItem( TR( "gcw.MainWidget.mu.business.vendor.findJob" ) )-> setDisabled( true );
147 popVendor-> addItem( TR( "gcw.MainWidget.mu.business.vendor.processPayment" ) )-> setDisabled( true );
148 popVendor-> addItem( TR( "gcw.MainWidget.mu.business.vendor.invoicesDue" ) )-> setDisabled( true );
149 m_uVendor-> setMenu( std::move( popVendor ) );
150 }
151
152 /*
153 ** EMPLOYEE->
154 */
155 {
156 auto m_uEmployee = popBusiness-> addItem( TR( "gcw.MainWidget.mu.business.employee" ) );
157 auto popEmployee = std::make_unique< Wt::WPopupMenu >();
158 popEmployee-> addItem( TR( "gcw.MainWidget.mu.business.employee.overview" ), _mainWidget-> centralWidget(), &CentralWidget::open_EmployeesWidget );
159 popEmployee-> addItem( TR( "gcw.MainWidget.mu.business.employee.new" ) )-> setDisabled( true );
160 popEmployee-> addItem( TR( "gcw.MainWidget.mu.business.employee.find" ) )-> setDisabled( true );
161 popEmployee-> addItem( TR( "gcw.MainWidget.mu.business.employee.newExpense" ) )-> setDisabled( true );
162 popEmployee-> addItem( TR( "gcw.MainWidget.mu.business.employee.findExpense" ) )-> setDisabled( true );
163 popEmployee-> addItem( TR( "gcw.MainWidget.mu.business.employee.processPayment" ) )-> setDisabled( true );
164 m_uEmployee-> setMenu( std::move( popEmployee ) );
165 }
166
167 popBusiness-> addSeparator();
168 popBusiness-> addItem( TR( "gcw.MainWidget.mu.business.linked" ) )-> setDisabled( true );
169 popBusiness-> addItem( TR( "gcw.MainWidget.mu.business.salestax" ) )-> setDisabled( true );
170 popBusiness-> addItem( TR( "gcw.MainWidget.mu.business.billingterms" ) )-> setDisabled( true );
171 m_uBusiness-> setMenu( std::move( popBusiness ) );
172
173 } // endBUSINESS
174
175 /*
176 ** REPORTS
177 */
178 {
179 auto m_uReports = addItem( TR( "gcw.MainWidget.mu.reports" ) );
180 auto popReports = std::make_unique< Wt::WPopupMenu >();
181
182 /*
183 ** ASSETS & LIABILITIES->
184 */
185 {
186 auto m_uAssets = popReports-> addItem( TR( "gcw.MainWidget.mu.reports.assets" ) );
187 auto popAssets = std::make_unique< Wt::WPopupMenu >();
188 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.advancedportfolio" ) )-> setDisabled( true );
189 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.assetchart" ) )-> setDisabled( true );
190 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.assetpiechart" ) )-> setDisabled( true );
191 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.balanceforecast" ) )-> setDisabled( true );
192 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.balancesheet" ) )-> setDisabled( true );
193 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.balancesheetmulti" ) )-> setDisabled( true );
194 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.balancesheeteguile" ) )-> setDisabled( true );
195 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.generaljournal" ) )-> setDisabled( true );
196 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.generalledger" ) )-> setDisabled( true );
197 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.investmentlots" ) )-> setDisabled( true );
198 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.investmentportfolio" ) )-> setDisabled( true );
199 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.liabilitychart" ) )-> setDisabled( true );
200 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.liabilitypiechart" ) )-> setDisabled( true );
201 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.networthbarchart" ) )-> setDisabled( true );
202 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.networthlinechart" ) )-> setDisabled( true );
203 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.pricescatterplot" ) )-> setDisabled( true );
204 popAssets-> addItem( TR( "gcw.MainWidget.mu.reports.assets.securitypiechart" ) )-> setDisabled( true );
205 m_uAssets-> setMenu( std::move( popAssets ) );
206 }
207
208 /*
209 ** BUDGET->
210 */
211 {
212 auto m_uBudget = popReports-> addItem( TR( "gcw.MainWidget.mu.reports.budget" ) );
213 auto popBudget = std::make_unique< Wt::WPopupMenu >();
214 popBudget-> addItem( TR( "gcw.MainWidget.mu.reports.budget.balancesheet" ) )-> setDisabled( true );
215 popBudget-> addItem( TR( "gcw.MainWidget.mu.reports.budget.chart" ) )-> setDisabled( true );
216 popBudget-> addItem( TR( "gcw.MainWidget.mu.reports.budget.flow" ) )-> setDisabled( true );
217 popBudget-> addItem( TR( "gcw.MainWidget.mu.reports.budget.incomestatement" ) )-> setDisabled( true );
218 popBudget-> addItem( TR( "gcw.MainWidget.mu.reports.budget.profitnloss" ) )-> setDisabled( true );
219 popBudget-> addItem( TR( "gcw.MainWidget.mu.reports.budget.report" ) )-> setDisabled( true );
220 m_uBudget-> setMenu( std::move( popBudget ) );
221 }
222
223 /*
224 ** BUSINESS->
225 */
226 {
227 auto m_uBusiness = popReports-> addItem( TR( "gcw.MainWidget.mu.reports.business" ) );
228 auto popBusiness = std::make_unique< Wt::WPopupMenu >();
229 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.australiantaxinv" ) )-> setDisabled( true );
230 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.customerreport" ) )-> setDisabled( true );
231 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.customersummary" ) )-> setDisabled( true );
232 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.easyinvoice" ) )-> setDisabled( true );
233 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.employeereport" ) )-> setDisabled( true );
234 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.fancyinvoice" ) )-> setDisabled( true );
235 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.jobreport" ) )-> setDisabled( true );
236 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.payableaging" ) )-> setDisabled( true );
237 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.printableinvoice" ) )-> setDisabled( true );
238 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.receipt" ) )-> setDisabled( true );
239 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.receivableaging" ) )-> setDisabled( true );
240 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.taxinvoice" ) )-> setDisabled( true );
241 popBusiness-> addItem( TR( "gcw.MainWidget.mu.reports.business.vendorreport" ) )-> setDisabled( true );
242 m_uBusiness-> setMenu( std::move( popBusiness ) );
243 }
244
245 /*
246 ** EXAMPLES->
247 */
248 {
249 auto m_uExamples = popReports-> addItem( TR( "gcw.MainWidget.mu.reports.examples" ) );
250 auto popExamples = std::make_unique< Wt::WPopupMenu >();
251 popExamples-> addItem( TR( "gcw.MainWidget.mu.reports.examples.averagebalance" ) )-> setDisabled( true );
252 popExamples-> addItem( TR( "gcw.MainWidget.mu.reports.examples.expdow" ) )-> setDisabled( true );
253 popExamples-> addItem( TR( "gcw.MainWidget.mu.reports.examples.incdow" ) )-> setDisabled( true );
254 popExamples-> addItem( TR( "gcw.MainWidget.mu.reports.examples.samplegraphs" ) )-> setDisabled( true );
255 popExamples-> addItem( TR( "gcw.MainWidget.mu.reports.examples.samplereport" ) )-> setDisabled( true );
256 m_uExamples-> setMenu( std::move( popExamples ) );
257 }
258
259 /*
260 ** EXPERIMENTAL->
261 */
262 {
263 auto m_uExperimental = popReports-> addItem( TR( "gcw.MainWidget.mu.reports.experimental" ) );
264 auto popExperimental = std::make_unique< Wt::WPopupMenu >();
265 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.experimental.ifrsweighted" ) )-> setDisabled( true );
266 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.experimental.transbreakd" ) )-> setDisabled( true );
267 m_uExperimental-> setMenu( std::move( popExperimental ) );
268 }
269
270 /*
271 ** INCOME & EXPENSE->
272 */
273 {
274 auto m_uExperimental = popReports-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp" ) );
275 auto popExperimental = std::make_unique< Wt::WPopupMenu >();
276 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.cashflow" ) )-> setDisabled( true );
277 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.cashflowbar" ) )-> setDisabled( true );
278 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.equitystmt" ) )-> setDisabled( true );
279 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.expensechart" ) )-> setDisabled( true );
280 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.expensepie" ) )-> setDisabled( true );
281 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.incngststmt" ) )-> setDisabled( true );
282 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.incchart" ) )-> setDisabled( true );
283 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.incnexpbar" ) )-> setDisabled( true );
284 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.incnexpline" ) )-> setDisabled( true );
285 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.incpie" ) )-> setDisabled( true );
286 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.incstmt" ) )-> setDisabled( true );
287 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.incstmtmulti" ) )-> setDisabled( true );
288 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.profitloss" ) )-> setDisabled( true );
289 popExperimental-> addItem( TR( "gcw.MainWidget.mu.reports.incnexp.trialbal" ) )-> setDisabled( true );
290 m_uExperimental-> setMenu( std::move( popExperimental ) );
291 }
292
293 /*
294 ** MULTICOLUMN->
295 */
296 {
297 auto m_uMulcol = popReports-> addItem( TR( "gcw.MainWidget.mu.reports.mulcol" ) );
298 auto popMulcol = std::make_unique< Wt::WPopupMenu >();
299 popMulcol-> addItem( TR( "gcw.MainWidget.mu.reports.mulcol.custom" ) )-> setDisabled( true );
300 popMulcol-> addItem( TR( "gcw.MainWidget.mu.reports.mulcol.dashb" ) )-> setDisabled( true );
301 m_uMulcol-> setMenu( std::move( popMulcol ) );
302 }
303
304 popReports-> addItem( TR( "gcw.MainWidget.mu.reports.accountsumm" ) )-> setDisabled( true );
305 popReports-> addItem( TR( "gcw.MainWidget.mu.reports.futuresched" ) )-> setDisabled( true );
306 popReports-> addItem( TR( "gcw.MainWidget.mu.reports.reconciliation" ) )-> setDisabled( true );
307 popReports-> addItem( TR( "gcw.MainWidget.mu.reports.taxsched" ) )-> setDisabled( true );
308 popReports-> addItem( TR( "gcw.MainWidget.mu.reports.transaction" ) )-> setDisabled( true );
309 popReports-> addItem( TR( "gcw.MainWidget.mu.reports.saved" ) )-> setDisabled( true );
310
311 m_uReports-> setMenu( std::move( popReports ) );
312
313 } // endREPORTS
314
315 /*
316 ** TOOLS
317 */
318 {
319 auto m_uTools = addItem( TR( "gcw.MainWidget.mu.tools" ) );
320 auto popTools = std::make_unique< Wt::WPopupMenu >();
321
322 popTools-> addItem( TR( "gcw.MainWidget.mu.tools.onlinesetup" ) )-> setDisabled( true );
323 popTools-> addItem( TR( "gcw.MainWidget.mu.tools.pricedb" ) )-> setDisabled( true );
324 popTools-> addItem( TR( "gcw.MainWidget.mu.tools.securityedit" ) )-> setDisabled( true );
325 popTools-> addItem( TR( "gcw.MainWidget.mu.tools.loanrepayment" ) )-> setDisabled( true );
326 popTools-> addItem( TR( "gcw.MainWidget.mu.tools.closebook" ) )-> setDisabled( true );
327 popTools-> addItem( TR( "gcw.MainWidget.mu.tools.importmap" ) )-> setDisabled( true );
328 popTools-> addItem( TR( "gcw.MainWidget.mu.tools.translinkdoc" ) )-> setDisabled( true );
329 popTools-> addItem( TR( "gcw.MainWidget.mu.tools.generaljourn" ), _mainWidget-> centralWidget(), &CentralWidget::open_GeneralJournal );
330 popTools-> addItem( TR( "gcw.MainWidget.mu.tools.rawTables" ), _mainWidget-> centralWidget(), &CentralWidget::open_TablesWidget );
331
332 m_uTools-> setMenu( std::move( popTools ) );
333 }
334
335 /*
336 ** HELP
337 */
338 {
339 auto m_uHelp = addItem( TR( "gcw.MainWidget.mu.help" ) );
340 auto popHelp = std::make_unique< Wt::WPopupMenu >();
341 popHelp-> addItem( TR( "gcw.MainWidget.mu.help.tutorial" ) )-> setDisabled( true );
342 popHelp-> addItem( TR( "gcw.MainWidget.mu.help.tip" ) )-> setDisabled( true );
343 popHelp-> addItem( TR( "gcw.MainWidget.mu.help.contents" ) )-> setDisabled( true );
344 popHelp-> addItem( TR( "gcw.MainWidget.mu.help.about" ), _mainWidget, &MainWidget::open_aboutWidget );
345 m_uHelp-> setMenu( std::move( popHelp ) );
346 }
347
348} // endMainMenu();
349
350
351auto
353menuItem( const Wt::WString & _text, Wt::WMenu * _menu )-> Wt::WMenuItem *
354{
355 /*
356 ** need a menu or we're dead.
357 */
358 if( !_menu )
359 return nullptr;
360
361 /*
362 ** loop through the menu looking for a match
363 */
364 for( auto item : _menu-> items() )
365 {
366 /*
367 ** found a match, return it
368 */
369 if( item-> text() == _text )
370 return item;
371
372 /*
373 ** no match, see if there's a sub-menu to search
374 */
375 if( item-> menu() )
376 if( auto sub = menuItem( _text, item-> menu() ) )
377 return sub;
378
379 } // endfor( auto item : _menu-> items() )
380
381 /*
382 ** nothing found
383 */
384 return nullptr;
385
386} // endmenuItem( const Wt::WString & _text, Wt::WMenu * _menu )-> Wt::WMenuItem *
387
388auto
390menuItem( const Wt::WString & _text )-> Wt::WMenuItem *
391{
392 return menuItem( _text, this );
393
394} // endfindItem( const std::string & _text )-> Wt::WMenuItem *
395
396
397
398
auto open_EmployeesWidget() -> void
auto open_GeneralJournal() -> void
auto open_TablesWidget() -> void
auto open_CustomersWidget() -> void
MainMenu(MainWidget *_mainWidget)
Definition MainMenu.cpp:11
auto menuItem(const Wt::WString &_text) -> Wt::WMenuItem *
Find Menu Item.
Definition MainMenu.cpp:390
Site Main Widget.
Definition MainWidget.h:32
auto setTransaction() -> void
auto open_aboutWidget() -> void
auto openSelectedAccount() -> void
auto open_properties() -> void
auto setDoubleLine() -> void
auto setBasicLedger() -> void
auto setAutosplit() -> void
virtual void setDisabled(bool disabled) override
Widget * addNew(Args &&...args)
WMenuItem * addItem(const WString &label, std::unique_ptr< WWidget > contents=nullptr, ContentLoading policy=ContentLoading::Lazy)
WMenuItem * addSeparator()
#define TR(X)
Definition define.h:17
App * app()
Definition App.cpp:75