%% options copyright owner = Dirk Krause copyright year = 2012 license = bsd %% wx-gui type = dialog contents = sDialog [wxBoxSizer sDialog] direction = horizontal contents = $stretch(10) contents = verticalSizer contents = $stretch(10) [wxBoxSizer verticalSizer] direction = vertical contents = $stretch(10) contents = cbUseColours contents = $space(10) contents = buttonSizer contents = $stretch(10) [wxCheckBox cbUseColours] text = sTexts[42] tip = sTexts[43] [wxBoxSizer buttonSizer] direction = horizontal contents = $stretch(1) contents = realButtonSizer contents = $stretch(1) [wxStdDialogButtonSizer realButtonSizer] grow = yes proportion = 1 contents = bOK contents = bCancel [wxButton bOK] id = wxID_OK text = sTexts[44] tip = sTexts[46] [wxButton bCancel] id = wxID_CANCEL text = sTexts[45] tip = sTexts[47] %% header start %% class start /** Options dialog for the wximgsz program. */ class DkWxImgszOptionsDialog : public wxDialog { private: /** Event table. */ DECLARE_EVENT_TABLE() protected: /** Localized text messages. */ wxChar const * const *sTexts; /** Checkbox value. */ bool value; %% class end public: /** Constructor. @param parent Parent window. @param title Window title. @param messageTexts Localized message texts. */ DkWxImgszOptionsDialog( DkWxImgszFrame *parent, wxChar const *title, wxChar const * const *messageTexts ); /** Destructor. */ ~DkWxImgszOptionsDialog(); /** Event handler: OK button pressed. @param event Event to process. */ void OnOK(wxCommandEvent & event); /** Event handler: Cancel button pressed. @param event Event to process. */ void OnCancel(wxCommandEvent & event); /** Set new checkbox value. @param b New checkbox value. */ void SetValue(bool b); /** Get checkbox value. @return Checkbox value. */ bool GetValue(); }; %% header end %% module start #include "wximgsz.h" $!trace-include BEGIN_EVENT_TABLE(DkWxImgszOptionsDialog, wxDialog) EVT_BUTTON(wxID_OK, DkWxImgszOptionsDialog::OnOK) EVT_BUTTON(wxID_CANCEL, DkWxImgszOptionsDialog::OnCancel) END_EVENT_TABLE() %% constructor start DkWxImgszOptionsDialog::DkWxImgszOptionsDialog ( DkWxImgszFrame *parent, wxChar const *title, wxChar const * const *messageTexts ) : wxDialog( parent, wxID_ANY, title, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE ) { sTexts = messageTexts; %% constructor end } %% module end void DkWxImgszOptionsDialog::OnOK(wxCommandEvent & event) { if(IsModal()) { value = cbUseColours->GetValue(); EndModal(wxID_OK); } else { SetReturnCode(wxID_OK); Show(false); } } void DkWxImgszOptionsDialog::OnCancel(wxCommandEvent & event) { if(IsModal()) { EndModal(wxID_CANCEL); } else { SetReturnCode(wxID_CANCEL); Show(false); } } void DkWxImgszOptionsDialog::SetValue(bool b) { value = b; cbUseColours->SetValue(b); } bool DkWxImgszOptionsDialog::GetValue() { return value; } DkWxImgszOptionsDialog::~DkWxImgszOptionsDialog() { }