summaryrefslogtreecommitdiff
path: root/support/dktools/DkClockOptionsDialog.wxc
diff options
context:
space:
mode:
Diffstat (limited to 'support/dktools/DkClockOptionsDialog.wxc')
-rw-r--r--support/dktools/DkClockOptionsDialog.wxc236
1 files changed, 236 insertions, 0 deletions
diff --git a/support/dktools/DkClockOptionsDialog.wxc b/support/dktools/DkClockOptionsDialog.wxc
new file mode 100644
index 0000000000..c27b44feab
--- /dev/null
+++ b/support/dktools/DkClockOptionsDialog.wxc
@@ -0,0 +1,236 @@
+%% options
+
+copyright owner = Dirk Krause
+copyright year = 2013-xxxx
+license = bsd
+
+
+%% wx-gui
+
+type = dialog
+contents = sDialog
+
+[wxBoxSizer sDialog]
+direction = horizontal
+contents = $stretch(10)
+contents = vSizer
+contents = $stretch(10)
+
+[wxBoxSizer vSizer]
+direction = vertical
+contents = $stretch(10)
+contents = cSizer centered
+contents = $stretch(10)
+contents = bSizer centered
+contents = $stretch(10)
+
+[wxGridBagSizer cSizer]
+grid = 5 5
+contents = cbAlert 0 0 1 2
+contents = tHour +1 0 1 1 right
+contents = scHour . +1 1 1 left
+contents = tMinute +1 0 1 1 right
+contents = scMinute . +1 1 1 left
+
+[wxCheckBox cbAlert]
+text = sTexts[8]
+tip = sTexts[23]
+id = DkClockOptions_Enable
+
+[wxStaticText tHour]
+text = sTexts[22]
+
+[wxSpinCtrl scHour]
+range = 0 23
+value = 0
+tip = sTexts[24]
+
+[wxStaticText tMinute]
+text = sTexts[21]
+
+[wxSpinCtrl scMinute]
+range = 0 59
+value = 0
+tip = sTexts[25]
+
+[wxStdDialogButtonSizer bSizer]
+contents = bOK
+contents = bCancel
+
+[wxButton bOK]
+id = wxID_OK
+text = sTexts[17]
+tip = sTexts[18]
+
+[wxButton bCancel]
+id = wxID_CANCEL
+text = sTexts[19]
+tip = sTexts[20]
+
+
+
+%% header start
+
+%% class start
+class DkClockOptionsDialog : public wxDialog
+{
+ private:
+
+ /** Event table.
+ */
+ DECLARE_EVENT_TABLE()
+
+ protected:
+
+ /** Localized texts.
+ */
+ wxChar const * const *sTexts;
+
+ /** Data set to configure.
+ */
+ DkClockData *cld;
+
+%% class end
+
+ public:
+
+ DkClockOptionsDialog(
+ DkWxFrame *parent,
+ wxChar const *title,
+ wxChar const * const *messageTexts,
+ DkClockData *clockData
+ );
+
+ /** Handler for OK button.
+ @param event Event to process.
+ */
+ void
+ OnOk(wxCommandEvent & WXUNUSED(event));
+
+ /** Handler for Cancel button.
+ @param event Event to process.
+ */
+ void
+ OnCancel(wxCommandEvent & WXUNUSED(event));
+
+ void
+ OnCheckbox(wxCommandEvent & event);
+
+};
+
+%% header end
+
+%% module start
+
+#include "wxdkclock.h"
+
+
+$!trace-include
+
+
+BEGIN_EVENT_TABLE(DkClockOptionsDialog, wxDialog)
+ EVT_BUTTON(wxID_OK, DkClockOptionsDialog::OnOk)
+ EVT_BUTTON(wxID_CANCEL, DkClockOptionsDialog::OnCancel)
+ EVT_CHECKBOX(DkClockOptions_Enable, DkClockOptionsDialog::OnCheckbox)
+END_EVENT_TABLE()
+
+
+
+%% constructor start
+DkClockOptionsDialog::DkClockOptionsDialog(
+ DkWxFrame *parent,
+ wxChar const *title,
+ wxChar const * const *messageTexts,
+ DkClockData *clockData
+) : wxDialog(
+ parent,
+ wxID_ANY,
+ title,
+ wxDefaultPosition,
+ wxDefaultSize,
+ wxDEFAULT_DIALOG_STYLE
+)
+{
+ int en = 0;
+ int h = 0;
+ int m = 0;
+ $? "+ DkClockOptionsDialog::DkClockOptionsDialog"
+ sTexts = messageTexts;
+ cld = clockData;
+%% constructor end
+ if(dkctGUILayoutOK) { $? ". GUI layout ok"
+ cld->getAlertData(&en, &h, &m);
+ $? ". en=%d h=%d m=%d", en, h, m
+ scHour->SetValue(h);
+ scMinute->SetValue(m);
+ if(en) { $? ". alert enabled"
+ cbAlert->SetValue(true);
+ scHour->Enable(true);
+ scMinute->Enable(true);
+ } else { $? ". alert not enabled"
+ cbAlert->SetValue(false);
+ scHour->Enable(false);
+ scMinute->Enable(false);
+ }
+ } $? "- DkClockOptionsDialog::DkClockOptionsDialog"
+}
+
+
+%% module end
+
+
+void
+DkClockOptionsDialog::OnOk(wxCommandEvent & event)
+{
+ bool en = false;
+ int h = 0;
+ int m = 0;
+ $? "+ DkClockOptionsDialog::OnOk"
+ if(cbAlert->GetValue()) {
+ en = true;
+ h = scHour->GetValue();
+ m = scMinute->GetValue();
+ }
+ cld->setAlert(en, h, m);
+ cld->endAlert();
+ if(IsModal()) {
+ EndModal(wxID_OK);
+ } else {
+ SetReturnCode(wxID_OK);
+ Show(false);
+ } $? "- DkClockOptionsDialog::OnOk"
+}
+
+
+
+void
+DkClockOptionsDialog::OnCancel(wxCommandEvent & event)
+{
+ $? "+ DkClockOptionsDialog::OnCancel"
+ if(IsModal()) {
+ EndModal(wxID_CANCEL);
+ } else {
+ SetReturnCode(wxID_CANCEL);
+ Show(false);
+ } $? "- DkClockOptionsDialog::OnCancel"
+}
+
+
+
+void
+DkClockOptionsDialog::OnCheckbox(wxCommandEvent & event)
+{
+ $? "+ DkClockOptionsDialog::OnCheckbox"
+ if(cbAlert->GetValue()) { $? ". checkbox enabled"
+ scHour->Enable(true);
+ scMinute->Enable(true);
+ } else { $? ". checkbox disabled"
+ scHour->Enable(false);
+ scMinute->Enable(false);
+ }
+ Refresh();
+ Update();
+ $? "- DkClockOptionsDialog::OnCheckbox"
+}
+
+