SettingsDlgBase::~SettingsDlgBase() { m_colourPickerFG->Disconnect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SettingsDlgBase::OnFGColour), NULL, this); m_colourPickerBG->Disconnect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SettingsDlgBase::OnBGColour), NULL, this); m_fontPicker->Disconnect(wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler(SettingsDlgBase::OnFontSelected), NULL, this); }
bool wxFontPickerCtrl::Create( wxWindow *parent, wxWindowID id, const wxFont &initial, const wxPoint &pos, const wxSize &size, long style, const wxValidator& validator, const wxString &name ) { if (!wxPickerBase::CreateBase(parent, id, Font2String(initial.IsOk() ? initial : *wxNORMAL_FONT), pos, size, style, validator, name)) return false; // the picker of a wxFontPickerCtrl is a wxFontPickerWidget m_picker = new wxFontPickerWidget(this, wxID_ANY, initial, wxDefaultPosition, wxDefaultSize, GetPickerStyle(style)); // complete sizer creation wxPickerBase::PostCreation(); m_picker->Connect(wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler(wxFontPickerCtrl::OnFontChange), NULL, this); return true; }
PlotConfigurationDialogBase::~PlotConfigurationDialogBase() { // Disconnect Events m_button5->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PlotConfigurationDialogBase::OnPDS ), NULL, this ); m_tVMGCourse->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PlotConfigurationDialogBase::OnPlotChange ), NULL, this ); m_fpPlotFont->Disconnect( wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler( PlotConfigurationDialogBase::OnPlotChange ), NULL, this ); m_sPlotMinHeight->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( PlotConfigurationDialogBase::OnPlotChange ), NULL, this ); m_cColors->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PlotConfigurationDialogBase::OnPlotChange ), NULL, this ); m_sPlotTransparency->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( PlotConfigurationDialogBase::OnPlotChange ), NULL, this ); m_bAbout->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PlotConfigurationDialogBase::OnAbout ), NULL, this ); }
SettingsDlgBase::SettingsDlgBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxC9ED9InitBitmapResources(); bBitmapLoaded = true; } wxBoxSizer* boxSizer27 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer27); wxFlexGridSizer* flexGridSizer29 = new wxFlexGridSizer(0, 2, 0, 0); flexGridSizer29->SetFlexibleDirection( wxBOTH ); flexGridSizer29->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer29->AddGrowableCol(1); boxSizer27->Add(flexGridSizer29, 1, wxALL|wxEXPAND, 5); m_staticText31 = new wxStaticText(this, wxID_ANY, _("Text Colour:"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer29->Add(m_staticText31, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); m_colourPickerFG = new wxColourPickerCtrl(this, wxID_ANY, wxColour(wxT("rgb(255,255,255)")), wxDefaultPosition, wxSize(-1,-1), wxCLRP_DEFAULT_STYLE); flexGridSizer29->Add(m_colourPickerFG, 0, wxALL|wxEXPAND, 5); m_staticText35 = new wxStaticText(this, wxID_ANY, _("Background Colour:"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer29->Add(m_staticText35, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); m_colourPickerBG = new wxColourPickerCtrl(this, wxID_ANY, wxColour(wxT("rgb(32,32,32)")), wxDefaultPosition, wxSize(-1,-1), wxCLRP_DEFAULT_STYLE); flexGridSizer29->Add(m_colourPickerBG, 0, wxALL|wxEXPAND, 5); m_staticText39 = new wxStaticText(this, wxID_ANY, _("Font:"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer29->Add(m_staticText39, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); #ifdef __WXMSW__ // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE wxFont m_fontPickerFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_fontPickerFont.SetFamily(wxFONTFAMILY_TELETYPE); #else wxFont m_fontPickerFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); m_fontPickerFont.SetFamily(wxFONTFAMILY_TELETYPE); #endif m_fontPicker = new wxFontPickerCtrl(this, wxID_ANY, m_fontPickerFont, wxDefaultPosition, wxSize(-1,-1), wxFNTP_DEFAULT_STYLE); flexGridSizer29->Add(m_fontPicker, 0, wxALL|wxEXPAND, 5); wxBoxSizer* boxSizer43 = new wxBoxSizer(wxHORIZONTAL); boxSizer27->Add(boxSizer43, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5); m_button45 = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize(-1,-1), 0); boxSizer43->Add(m_button45, 0, wxALL, 5); m_button47 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxSize(-1,-1), 0); m_button47->SetFocus(); boxSizer43->Add(m_button47, 0, wxALL, 5); SetName(wxT("SettingsDlgBase")); SetSizeHints(-1,-1); if ( GetSizer() ) { GetSizer()->Fit(this); } CentreOnParent(wxBOTH); #if wxVERSION_NUMBER >= 2900 if(!wxPersistenceManager::Get().Find(this)) { wxPersistenceManager::Get().RegisterAndRestore(this); } else { wxPersistenceManager::Get().Restore(this); } #endif // Connect events m_colourPickerFG->Connect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SettingsDlgBase::OnFGColour), NULL, this); m_colourPickerBG->Connect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SettingsDlgBase::OnBGColour), NULL, this); m_fontPicker->Connect(wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler(SettingsDlgBase::OnFontSelected), NULL, this); }
PlotConfigurationDialogBase::PlotConfigurationDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) { this->SetSizeHints( wxDefaultSize, wxDefaultSize ); wxFlexGridSizer* fgSizer111; fgSizer111 = new wxFlexGridSizer( 0, 1, 0, 0 ); fgSizer111->SetFlexibleDirection( wxBOTH ); fgSizer111->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); wxFlexGridSizer* fgSizer13; fgSizer13 = new wxFlexGridSizer( 0, 2, 0, 0 ); fgSizer13->AddGrowableCol( 0 ); fgSizer13->AddGrowableRow( 0 ); fgSizer13->SetFlexibleDirection( wxBOTH ); fgSizer13->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_listbook1 = new wxListbook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLB_DEFAULT ); m_panel1 = new wxPanel( m_listbook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxFlexGridSizer* fgSizer14; fgSizer14 = new wxFlexGridSizer( 0, 1, 0, 0 ); fgSizer14->SetFlexibleDirection( wxBOTH ); fgSizer14->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); wxFlexGridSizer* fgSizer191; fgSizer191 = new wxFlexGridSizer( 0, 2, 0, 0 ); fgSizer191->SetFlexibleDirection( wxBOTH ); fgSizer191->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_cbSOG = new wxCheckBox( m_panel1, wxID_ANY, _("GPS Speed (SOG)"), wxDefaultPosition, wxDefaultSize, 0 ); m_cbSOG->SetValue(true); fgSizer191->Add( m_cbSOG, 0, wxALL, 5 ); m_cbPDS10 = new wxCheckBox( m_panel1, wxID_ANY, _("PDS 10"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer191->Add( m_cbPDS10, 0, wxALL, 5 ); m_cbPDS60 = new wxCheckBox( m_panel1, wxID_ANY, _("PDS 60"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer191->Add( m_cbPDS60, 0, wxALL, 5 ); m_button5 = new wxButton( m_panel1, wxID_ANY, _("?"), wxDefaultPosition, wxSize( 20,-1 ), 0 ); fgSizer191->Add( m_button5, 0, wxALL, 5 ); fgSizer14->Add( fgSizer191, 1, wxEXPAND, 5 ); wxStaticBoxSizer* sbSizer3; sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_panel1, wxID_ANY, _("VMG") ), wxVERTICAL ); wxFlexGridSizer* fgSizer171; fgSizer171 = new wxFlexGridSizer( 0, 2, 0, 0 ); fgSizer171->SetFlexibleDirection( wxBOTH ); fgSizer171->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_cbVMG = new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY, _("Course"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer171->Add( m_cbVMG, 0, wxALL, 5 ); m_tVMGCourse = new wxTextCtrl( sbSizer3->GetStaticBox(), wxID_ANY, _("0"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer171->Add( m_tVMGCourse, 0, wxALL, 5 ); sbSizer3->Add( fgSizer171, 1, wxEXPAND, 5 ); fgSizer14->Add( sbSizer3, 1, wxEXPAND, 5 ); m_panel1->SetSizer( fgSizer14 ); m_panel1->Layout(); fgSizer14->Fit( m_panel1 ); m_listbook1->AddPage( m_panel1, _("Speed"), false ); m_panel2 = new wxPanel( m_listbook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxFlexGridSizer* fgSizer17; fgSizer17 = new wxFlexGridSizer( 0, 2, 0, 0 ); fgSizer17->SetFlexibleDirection( wxBOTH ); fgSizer17->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_cbCOG = new wxCheckBox( m_panel2, wxID_ANY, _("GPS Course (COG)"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer17->Add( m_cbCOG, 0, wxALL, 5 ); m_cbPDC10 = new wxCheckBox( m_panel2, wxID_ANY, _("PDC 10"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer17->Add( m_cbPDC10, 0, wxALL, 5 ); m_cbPDC60 = new wxCheckBox( m_panel2, wxID_ANY, _("PDC 60"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer17->Add( m_cbPDC60, 0, wxALL, 5 ); m_cbHDG = new wxCheckBox( m_panel2, wxID_ANY, _("Heading"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer17->Add( m_cbHDG, 0, wxALL, 5 ); m_cbCourseFFTWPlot = new wxCheckBox( m_panel2, wxID_ANY, _("FFTW Plot"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer17->Add( m_cbCourseFFTWPlot, 0, wxALL, 5 ); m_cbHDM = new wxCheckBox( m_panel2, wxID_ANY, _("Magnetic Heading"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer17->Add( m_cbHDM, 0, wxALL, 5 ); m_panel2->SetSizer( fgSizer17 ); m_panel2->Layout(); fgSizer17->Fit( m_panel2 ); m_listbook1->AddPage( m_panel2, _("Course"), true ); m_panel3 = new wxPanel( m_listbook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxFlexGridSizer* fgSizer19; fgSizer19 = new wxFlexGridSizer( 0, 1, 0, 0 ); fgSizer19->SetFlexibleDirection( wxBOTH ); fgSizer19->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_cbAWS = new wxCheckBox( m_panel3, wxID_ANY, _("Apparent Wind Speed (NMEA MWV)"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer19->Add( m_cbAWS, 0, wxALL, 5 ); m_cbTWS = new wxCheckBox( m_panel3, wxID_ANY, _("True Wind Speed (via gpps speed)"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer19->Add( m_cbTWS, 0, wxALL, 5 ); m_panel3->SetSizer( fgSizer19 ); m_panel3->Layout(); fgSizer19->Fit( m_panel3 ); m_listbook1->AddPage( m_panel3, _("Wind Speed"), false ); m_panel4 = new wxPanel( m_listbook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxFlexGridSizer* fgSizer20; fgSizer20 = new wxFlexGridSizer( 0, 1, 0, 0 ); fgSizer20->SetFlexibleDirection( wxBOTH ); fgSizer20->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_cbAWA = new wxCheckBox( m_panel4, wxID_ANY, _("Apparent Wind Direction (NMEA MWV)"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer20->Add( m_cbAWA, 0, wxALL, 5 ); m_cbTWA = new wxCheckBox( m_panel4, wxID_ANY, _("True Wind Angle (via GPS speed)"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer20->Add( m_cbTWA, 0, wxALL, 5 ); m_cbTWD = new wxCheckBox( m_panel4, wxID_ANY, _("True Wind Direction (via GPS speed)"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer20->Add( m_cbTWD, 0, wxALL, 5 ); m_panel4->SetSizer( fgSizer20 ); m_panel4->Layout(); fgSizer20->Fit( m_panel4 ); m_listbook1->AddPage( m_panel4, _("Wind Direction"), false ); m_panel5 = new wxPanel( m_listbook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxFlexGridSizer* fgSizer201; fgSizer201 = new wxFlexGridSizer( 0, 2, 0, 0 ); fgSizer201->SetFlexibleDirection( wxBOTH ); fgSizer201->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_cbBAR = new wxCheckBox( m_panel5, wxID_ANY, _("Barometer Pressure( (NMEA MDA)"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer201->Add( m_cbBAR, 0, wxALL, 5 ); m_panel5->SetSizer( fgSizer201 ); m_panel5->Layout(); fgSizer201->Fit( m_panel5 ); m_listbook1->AddPage( m_panel5, _("Barometer"), false ); #ifdef __WXGTK__ // Small icon style not supported in GTK wxListView* m_listbook1ListView = m_listbook1->GetListView(); long m_listbook1Flags = m_listbook1ListView->GetWindowStyleFlag(); if( m_listbook1Flags & wxLC_SMALL_ICON ) { m_listbook1Flags = ( m_listbook1Flags & ~wxLC_SMALL_ICON ) | wxLC_ICON; } m_listbook1ListView->SetWindowStyleFlag( m_listbook1Flags ); #endif fgSizer13->Add( m_listbook1, 1, wxEXPAND | wxALL, 5 ); fgSizer111->Add( fgSizer13, 1, wxEXPAND, 5 ); wxFlexGridSizer* fgSizer101; fgSizer101 = new wxFlexGridSizer( 0, 4, 0, 0 ); fgSizer101->SetFlexibleDirection( wxBOTH ); fgSizer101->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_staticText13 = new wxStaticText( this, wxID_ANY, _("Font"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText13->Wrap( -1 ); fgSizer101->Add( m_staticText13, 0, wxALL, 5 ); m_fpPlotFont = new wxFontPickerCtrl( this, wxID_ANY, wxNullFont, wxDefaultPosition, wxDefaultSize, wxFNTP_DEFAULT_STYLE ); m_fpPlotFont->SetMaxPointSize( 100 ); fgSizer101->Add( m_fpPlotFont, 0, wxALL, 5 ); m_staticText12 = new wxStaticText( this, wxID_ANY, _("Minimum Height"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText12->Wrap( -1 ); fgSizer101->Add( m_staticText12, 0, wxALL, 5 ); m_sPlotMinHeight = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 10, 1000, 80 ); fgSizer101->Add( m_sPlotMinHeight, 0, wxALL, 5 ); m_staticText121 = new wxStaticText( this, wxID_ANY, _("Colors"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText121->Wrap( -1 ); fgSizer101->Add( m_staticText121, 0, wxALL, 5 ); wxString m_cColorsChoices[] = { _("Standard"), _("Light"), _("Retro"), _("Sky") }; int m_cColorsNChoices = sizeof( m_cColorsChoices ) / sizeof( wxString ); m_cColors = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cColorsNChoices, m_cColorsChoices, 0 ); m_cColors->SetSelection( 0 ); fgSizer101->Add( m_cColors, 0, wxALL, 5 ); m_staticText11 = new wxStaticText( this, wxID_ANY, _("Transparency"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText11->Wrap( -1 ); fgSizer101->Add( m_staticText11, 0, wxALL, 5 ); m_sPlotTransparency = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 90, 20 ); fgSizer101->Add( m_sPlotTransparency, 0, wxALL, 5 ); m_staticText122 = new wxStaticText( this, wxID_ANY, _("Style"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText122->Wrap( -1 ); fgSizer101->Add( m_staticText122, 0, wxALL, 5 ); wxString m_cPlotStyleChoices[] = { _("Continuous"), _("Sweep") }; int m_cPlotStyleNChoices = sizeof( m_cPlotStyleChoices ) / sizeof( wxString ); m_cPlotStyle = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cPlotStyleNChoices, m_cPlotStyleChoices, 0 ); m_cPlotStyle->SetSelection( 0 ); fgSizer101->Add( m_cPlotStyle, 0, wxALL, 5 ); fgSizer111->Add( fgSizer101, 1, wxEXPAND, 5 ); wxFlexGridSizer* fgSizer16; fgSizer16 = new wxFlexGridSizer( 0, 2, 0, 0 ); fgSizer16->SetFlexibleDirection( wxBOTH ); fgSizer16->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_cbShowTitleBar = new wxCheckBox( this, wxID_ANY, _("Show Title Bar (restart required)\nWindow Manager may not support this"), wxDefaultPosition, wxDefaultSize, 0 ); m_cbShowTitleBar->SetValue(true); fgSizer16->Add( m_cbShowTitleBar, 0, wxALL, 5 ); fgSizer111->Add( fgSizer16, 1, wxEXPAND, 5 ); wxFlexGridSizer* fgSizer11; fgSizer11 = new wxFlexGridSizer( 0, 3, 0, 0 ); fgSizer11->SetFlexibleDirection( wxBOTH ); fgSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_bAbout = new wxButton( this, wxID_ANY, _("About"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer11->Add( m_bAbout, 0, wxALL, 5 ); m_sdbSizer1 = new wxStdDialogButtonSizer(); m_sdbSizer1OK = new wxButton( this, wxID_OK ); m_sdbSizer1->AddButton( m_sdbSizer1OK ); m_sdbSizer1->Realize(); fgSizer11->Add( m_sdbSizer1, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 ); fgSizer111->Add( fgSizer11, 1, wxEXPAND, 5 ); this->SetSizer( fgSizer111 ); this->Layout(); fgSizer111->Fit( this ); this->Centre( wxBOTH ); // Connect Events m_button5->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PlotConfigurationDialogBase::OnPDS ), NULL, this ); m_tVMGCourse->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PlotConfigurationDialogBase::OnPlotChange ), NULL, this ); m_fpPlotFont->Connect( wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler( PlotConfigurationDialogBase::OnPlotChange ), NULL, this ); m_sPlotMinHeight->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( PlotConfigurationDialogBase::OnPlotChange ), NULL, this ); m_cColors->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PlotConfigurationDialogBase::OnPlotChange ), NULL, this ); m_sPlotTransparency->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( PlotConfigurationDialogBase::OnPlotChange ), NULL, this ); m_bAbout->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PlotConfigurationDialogBase::OnAbout ), NULL, this ); }