YATISH
Yet Another TIme SHeet
/home/nicolas/sources/yatish/yatishFrame.h
Go to the documentation of this file.
1 /***************************************************************
2  * Name: yatishFrame.h
3  * Purpose: Defines Application Frame
4  * Author: Nicolas PĂ©renne (nicolas.perenne@eif-services.eu)
5  * Created: 2020-02-11
6  * Copyright: EIF-services (https://www.eif-services.eu)
7  * License: GPLv3
8  **************************************************************/
9 
10 #ifndef YATISHMAIN_H
11 #define YATISHMAIN_H
12 
13 //(*Headers(yatishFrame)
14 #include <wx/button.h>
15 #include <wx/choice.h>
16 #include <wx/datectrl.h>
17 #include <wx/dateevt.h>
18 #include <wx/frame.h>
19 #include <wx/listctrl.h>
20 #include <wx/menu.h>
21 #include <wx/notebook.h>
22 #include <wx/panel.h>
23 #include <wx/sizer.h>
24 #include <wx/stattext.h>
25 #include <wx/statusbr.h>
26 #include <wx/textctrl.h>
27 #include <wx/timer.h>
28 //*)
29 
30 #include <wx/aboutdlg.h>
31 #include <wx/help.h>
32 #include <wx/html/helpctrl.h>
33 //#include "yatishApp.h"
34 #include "yatishDBmysql.h"
35 #include "yatishDBsqlite.h"
36 #include "yatishDlgActivity.h"
37 #include "yatishDlgFilter.h"
38 #include "yatishDlgName.h"
39 #include "yatishDlgProject.h"
40 #include "yatishDlgTimeslot.h"
41 #include "yatishSettings.h"
42 
47 };
48 
49 class yatishFrame: public wxFrame {
50  public:
51  yatishFrame (wxWindow *, wxWindowID = -1);
52  ~yatishFrame ();
53  private:
55  wxLog * defaultLog;
56  wxHtmlHelpController yatishHelp;
57  wxDateTime clockStart;
60  void UpdateClock ();
62  void ResetChoices ();
63  void UpdateColumns ();
64  void UpdateRows (tableID);
65  void ResetPickers ();
66  void ToggleConnect ();
67  void ToggleLog ();
68  void Recording ();
69  //(*Handlers(yatishFrame)
70  void OnQuit(wxCommandEvent& event);
71  void OnAbout(wxCommandEvent& event);
72  void OnTimerTrigger(wxTimerEvent& event);
73  void OnButtonStartClick(wxCommandEvent& event);
74  void OnButtonStopClick(wxCommandEvent& event);
75  void OnClose(wxCloseEvent& event);
76  void OnChoiceTableSelect(wxCommandEvent& event);
77  void OnNotebookPageChanged(wxNotebookEvent& event);
78  void OnDatePicker1Changed(wxDateEvent& event);
79  void OnDatePicker2Changed(wxDateEvent& event);
80  void OnListColumnClick(wxListEvent& event);
81  void OnListKeyDown(wxListEvent& event);
82  void OnMenuitemEditTableSelected(wxCommandEvent& event);
83  void OnMenuitemFileConnectSelected(wxCommandEvent& event);
84  void OnMenuitemFileUpdateSelected(wxCommandEvent& event);
85  void OnMenuitemEditNewSelected(wxCommandEvent& event);
86  void OnMenuitemEditResetSelected(wxCommandEvent& event);
87  void OnMenuitemFileUploadSelected(wxCommandEvent& event);
88  void OnMenuitemFileDownloadSelected(wxCommandEvent& event);
89  void OnMenuitemEditSettingsSelected(wxCommandEvent& event);
90  void OnHelp(wxCommandEvent& event);
91  void OnMenuitemEditTodaySelected(wxCommandEvent& event);
92  void OnMenuitemEditThisweekSelected(wxCommandEvent& event);
93  void OnMenuitemEditThismonthSelected(wxCommandEvent& event);
94  void OnMenuitemEditYestedaySelected(wxCommandEvent& event);
95  void OnMenuitemEditLastweekSelected(wxCommandEvent& event);
96  void OnMenuitemEditLastmonthSelected(wxCommandEvent& event);
97  void OnMenuitemEditActivitySelected(wxCommandEvent& event);
98  void OnMenuitemEditChartSelected(wxCommandEvent& event);
99  //*)
100  void OnMenuitemEditActivityUpdate (wxUpdateUIEvent&);
101  void OnMenuitemEditTableUpdate (wxUpdateUIEvent&);
102  void OnMenuitemEditChartUpdate (wxUpdateUIEvent&);
103  void OnMenuitemEditNewUpdate (wxUpdateUIEvent&);
104  void OnMenuitemEditResetUpdate (wxUpdateUIEvent&);
105  void OnMenuitemEditTodayUpdate (wxUpdateUIEvent&);
106  void OnContextMenu1 (wxContextMenuEvent&);
107  void OnContextMenu2 (wxContextMenuEvent&);
108  void OnContextMenu3 (wxContextMenuEvent&);
109  //(*Identifiers(yatishFrame)
110  static const long idChoiceProject;
111  static const long idChoiceTask;
112  static const long idChoiceTool;
113  static const long idButtonStart;
114  static const long idButtonStop;
115  static const long idPanelCurrent;
116  static const long idChoiceTable;
117  static const long idDatePicker1;
118  static const long idDatePicker2;
119  static const long idButtonPDF;
120  static const long idListCtrl;
121  static const long idPanelList;
122  static const long idPanelChart;
123  static const long idNotebook;
124  static const long idTextCtrl;
125  static const long idFileConnect;
126  static const long idFileUpdate;
127  static const long idFileUpload;
128  static const long idFileDownload;
129  static const long idFileQuit;
130  static const long idEditActivity;
131  static const long idEditTable;
132  static const long idEditChart;
133  static const long idEditNew;
134  static const long idEditReset;
135  static const long idEditToday;
136  static const long idEditThisweek;
137  static const long idEditThismonth;
138  static const long idEditYesterday;
139  static const long idEditLastweek;
140  static const long idEditLastmonth;
141  static const long idEditSettings;
142  static const long idHelpUser;
143  static const long idHelpAbout;
144  static const long idStatusBar;
145  static const long idTimer;
146  //*)
147  //(*Declarations(yatishFrame)
148  wxBoxSizer* BoxSizer1;
149  wxButton* buttonPDF;
150  wxButton* buttonStart;
151  wxButton* buttonStop;
152  wxChoice* choiceProject;
153  wxChoice* choiceTable;
154  wxChoice* choiceTask;
155  wxChoice* choiceTool;
156  wxDatePickerCtrl* datePicker1;
157  wxDatePickerCtrl* datePicker2;
158  wxListCtrl* listCtrl;
159  wxMenuItem* menuitemFileConnect;
160  wxMenuItem* menuitemFileDownload;
161  wxMenuItem* menuitemFileUpdate;
162  wxMenuItem* menuitemFileUpload;
163  wxNotebook* notebook;
164  wxStatusBar* statusBar;
165  wxTextCtrl* textCtrl;
166  wxTimer timer;
167  //*)
168  DECLARE_EVENT_TABLE()
169 };
170 
171 #endif // YATISHMAIN_H
void OnMenuitemEditLastweekSelected(wxCommandEvent &event)
wxNotebook * notebook
Definition: yatishFrame.h:163
mysqlStatus
Definition: yatishFrame.h:43
void OnMenuitemEditTableUpdate(wxUpdateUIEvent &)
wxDatePickerCtrl * datePicker1
Definition: yatishFrame.h:156
void OnMenuitemFileDownloadSelected(wxCommandEvent &event)
Interacts with yatish tables in a MySQL/MariaDB database.
Definition: yatishDBmysql.h:19
static const long idHelpUser
Definition: yatishFrame.h:142
static const long idEditSettings
Definition: yatishFrame.h:141
static const long idHelpAbout
Definition: yatishFrame.h:143
void OnQuit(wxCommandEvent &event)
static const long idNotebook
Definition: yatishFrame.h:123
static const long idEditToday
Definition: yatishFrame.h:135
void Recording()
static const long idPanelCurrent
Definition: yatishFrame.h:115
static const long idFileDownload
Definition: yatishFrame.h:128
static const long idEditLastmonth
Definition: yatishFrame.h:140
static const long idEditChart
Definition: yatishFrame.h:132
static const long idTimer
Definition: yatishFrame.h:145
static const long idEditReset
Definition: yatishFrame.h:134
static const long idEditLastweek
Definition: yatishFrame.h:139
void OnMenuitemFileConnectSelected(wxCommandEvent &event)
void OnMenuitemFileUploadSelected(wxCommandEvent &event)
void OnHelp(wxCommandEvent &event)
wxStatusBar * statusBar
Definition: yatishFrame.h:164
void OnContextMenu3(wxContextMenuEvent &)
void OnMenuitemEditThisweekSelected(wxCommandEvent &event)
static const long idButtonStop
Definition: yatishFrame.h:114
wxHtmlHelpController yatishHelp
Definition: yatishFrame.h:56
void ResetPickers()
void OnMenuitemEditActivityUpdate(wxUpdateUIEvent &)
wxChoice * choiceTool
Definition: yatishFrame.h:155
yatishDBmysql * slaveDB
Definition: yatishFrame.h:59
static const long idChoiceTable
Definition: yatishFrame.h:116
wxMenuItem * menuitemFileUpdate
Definition: yatishFrame.h:161
void OnMenuitemEditYestedaySelected(wxCommandEvent &event)
void OnMenuitemEditTodayUpdate(wxUpdateUIEvent &)
void OnListColumnClick(wxListEvent &event)
static const long idPanelChart
Definition: yatishFrame.h:122
void OnDatePicker2Changed(wxDateEvent &event)
void OnChoiceTableSelect(wxCommandEvent &event)
static const long idButtonStart
Definition: yatishFrame.h:113
static const long idFileConnect
Definition: yatishFrame.h:125
void OnMenuitemEditTableSelected(wxCommandEvent &event)
wxChoice * choiceTask
Definition: yatishFrame.h:154
void OnMenuitemEditNewSelected(wxCommandEvent &event)
static const long idButtonPDF
Definition: yatishFrame.h:119
Settings settings
Definition: yatishFrame.h:54
static const long idEditThisweek
Definition: yatishFrame.h:136
void OnDatePicker1Changed(wxDateEvent &event)
void OnAbout(wxCommandEvent &event)
wxButton * buttonStart
Definition: yatishFrame.h:150
void UpdateClock()
wxTextCtrl * textCtrl
Definition: yatishFrame.h:165
static const long idFileUpload
Definition: yatishFrame.h:127
void OnMenuitemEditSettingsSelected(wxCommandEvent &event)
void OnMenuitemEditActivitySelected(wxCommandEvent &event)
yatishDBsqlite masterDB
Definition: yatishFrame.h:58
static const long idChoiceTask
Definition: yatishFrame.h:111
void OnMenuitemEditThismonthSelected(wxCommandEvent &event)
void OnButtonStartClick(wxCommandEvent &event)
void OnContextMenu2(wxContextMenuEvent &)
tableID
Definition: yatishDB.h:20
void UpdateStatus(mysqlStatus)
static const long idStatusBar
Definition: yatishFrame.h:144
wxDatePickerCtrl * datePicker2
Definition: yatishFrame.h:157
wxDateTime clockStart
Definition: yatishFrame.h:57
static const long idDatePicker2
Definition: yatishFrame.h:118
Interacts with yatish tables in a SQLite database.
static const long idEditActivity
Definition: yatishFrame.h:130
wxChoice * choiceProject
Definition: yatishFrame.h:152
void OnMenuitemFileUpdateSelected(wxCommandEvent &event)
wxChoice * choiceTable
Definition: yatishFrame.h:153
static const long idEditTable
Definition: yatishFrame.h:131
wxTimer timer
Definition: yatishFrame.h:166
void OnClose(wxCloseEvent &event)
static const long idChoiceTool
Definition: yatishFrame.h:112
static const long idFileUpdate
Definition: yatishFrame.h:126
void OnNotebookPageChanged(wxNotebookEvent &event)
static const long idEditThismonth
Definition: yatishFrame.h:137
void OnListKeyDown(wxListEvent &event)
void ToggleLog()
void ToggleConnect()
void UpdateRows(tableID)
void OnMenuitemEditChartUpdate(wxUpdateUIEvent &)
wxMenuItem * menuitemFileDownload
Definition: yatishFrame.h:160
wxListCtrl * listCtrl
Definition: yatishFrame.h:158
static const long idPanelList
Definition: yatishFrame.h:121
wxBoxSizer * BoxSizer1
Definition: yatishFrame.h:148
static const long idEditYesterday
Definition: yatishFrame.h:138
void OnMenuitemEditLastmonthSelected(wxCommandEvent &event)
void OnMenuitemEditResetSelected(wxCommandEvent &event)
static const long idFileQuit
Definition: yatishFrame.h:129
wxMenuItem * menuitemFileUpload
Definition: yatishFrame.h:162
wxButton * buttonStop
Definition: yatishFrame.h:151
wxLog * defaultLog
Definition: yatishFrame.h:55
void OnMenuitemEditTodaySelected(wxCommandEvent &event)
static const long idDatePicker1
Definition: yatishFrame.h:117
void OnContextMenu1(wxContextMenuEvent &)
void UpdateColumns()
static const long idEditNew
Definition: yatishFrame.h:133
static const long idChoiceProject
Definition: yatishFrame.h:110
void OnTimerTrigger(wxTimerEvent &event)
static const long idListCtrl
Definition: yatishFrame.h:120
yatishFrame(wxWindow *, wxWindowID=-1)
Definition: yatishFrame.cpp:73
void OnMenuitemEditResetUpdate(wxUpdateUIEvent &)
void OnButtonStopClick(wxCommandEvent &event)
void OnMenuitemEditNewUpdate(wxUpdateUIEvent &)
void OnMenuitemEditChartSelected(wxCommandEvent &event)
wxButton * buttonPDF
Definition: yatishFrame.h:149
void ResetChoices()
wxMenuItem * menuitemFileConnect
Definition: yatishFrame.h:159
static const long idTextCtrl
Definition: yatishFrame.h:124