/* Copyright (C) 2019-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: WxdkdrawDlgSplineValue.wxc */ /** @file WxdkdrawDlgSplineValue.cpp The WxdkdrawDlgSplineValue module. */ #line 157 "WxdkdrawDlgSplineValue.wxc" #ifndef WXDKDRAWDLGSPLINEVALUE_H_INCLUDED #include "WxdkdrawDlgSplineValue.h" #endif #line 163 "WxdkdrawDlgSplineValue.wxc" /** Assign methods to event IDs. */ #if wxCHECK_VERSION(3,0,0) wxBEGIN_EVENT_TABLE(WxdkdrawDlgSplineValue,wxDialog) #else BEGIN_EVENT_TABLE(WxdkdrawDlgSplineValue,wxDialog) #endif EVT_BUTTON(\ wxID_OK,\ WxdkdrawDlgSplineValue::OnOK\ ) EVT_BUTTON(\ wxID_CANCEL,\ WxdkdrawDlgSplineValue::OnCancel\ ) EVT_SLIDER(\ WxdkdrawDlgSplineValue::WXD_ID_SVALUE,\ WxdkdrawDlgSplineValue::OnSlider\ ) #if wxCHECK_VERSION(3,0,0) wxEND_EVENT_TABLE() #else END_EVENT_TABLE() #endif #line 192 "WxdkdrawDlgSplineValue.wxc" WxdkdrawDlgSplineValue::WxdkdrawDlgSplineValue( WxdkdrawFrame *pParent, wxControl *pControl, Wxd_drawing_t *pDrw, wxChar const * const *pLocTexts, double *pDest ) : wxDialog( pParent, wxID_ANY, pLocTexts[422], wxDefaultPosition, wxDefaultSize, ( (wxDEFAULT_DIALOG_STYLE) & (~(wxRESIZE_BORDER)) & (~(wxCLOSE_BOX)) & (~(wxSYSTEM_MENU)) ) ) { int iSliderPosition; wxString s; m_pParent = pParent; m_pControl = pControl; m_pDrw = pDrw; m_pDest = pDest; m_dOriginal = *pDest; dkctGUILayoutOK = false; sizerHorizontal = NULL; sizerVertical = NULL; lName = NULL; lValue = NULL; sValue = NULL; sizerButtons = NULL; buttonOK = NULL; buttonCancel = NULL; sizerHorizontal = new wxBoxSizer( wxHORIZONTAL ); if(!(sizerHorizontal)) { goto dkctGUILayoutFinished; } sizerHorizontal->Add(10, 10, 0); sizerVertical = new wxBoxSizer( wxVERTICAL ); if(!(sizerVertical)) { goto dkctGUILayoutFinished; } sizerVertical->Add(10, 10, 0); lName = new wxStaticText( this, wxID_ANY, pLocTexts[429] ); if(!(lName)) { goto dkctGUILayoutFinished; } sizerVertical->Add( lName, 0, wxALIGN_CENTER_HORIZONTAL ); lValue = new wxStaticText( this, wxID_ANY, pLocTexts[430] ); if(!(lValue)) { goto dkctGUILayoutFinished; } sizerVertical->Add( lValue, 0, wxALIGN_CENTER_HORIZONTAL ); sValue = new wxSlider( this, WXD_ID_SVALUE, 0, -20, 20 ); if(!(sValue)) { goto dkctGUILayoutFinished; } sValue->SetToolTip(pLocTexts[428]); sizerVertical->Add( sValue, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW ); sizerVertical->Add(10, 10, 0); sizerButtons = new wxStdDialogButtonSizer( ); if(!(sizerButtons)) { goto dkctGUILayoutFinished; } buttonOK = new wxButton( this, wxID_OK, pLocTexts[241] ); if(!(buttonOK)) { goto dkctGUILayoutFinished; } buttonOK->SetToolTip(pLocTexts[242]); sizerButtons->AddButton( buttonOK ); buttonCancel = new wxButton( this, wxID_CANCEL, pLocTexts[243] ); if(!(buttonCancel)) { goto dkctGUILayoutFinished; } buttonCancel->SetToolTip(pLocTexts[244]); sizerButtons->AddButton( buttonCancel ); sizerButtons->Realize(); sizerVertical->Add( sizerButtons, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW ); sizerVertical->Add(10, 10, 0); sizerHorizontal->Add( sizerVertical, 1, wxGROW ); sizerHorizontal->Add(10, 10, 0); SetSizer(sizerHorizontal); dkctGUILayoutOK = true; dkctGUILayoutFinished: if(dkctGUILayoutOK) { sizerHorizontal->Fit(this); sizerHorizontal->SetSizeHints(this); } #line 218 "WxdkdrawDlgSplineValue.wxc" if (dkctGUILayoutOK) { iSliderPosition = (int)(dk4ma_rint(20.0 * m_dOriginal)); if (-20 > iSliderPosition) { iSliderPosition = -20; } if ( 20 < iSliderPosition) { iSliderPosition = 20; } sValue->SetValue(iSliderPosition); s.Printf(wxT("%g"), (((double)iSliderPosition) / 20.0)); lValue->SetLabel(s); } } #line 229 "WxdkdrawDlgSplineValue.wxc" void WxdkdrawDlgSplineValue::OnOK(wxCommandEvent & WXUNUSED(event)) { #line 234 "WxdkdrawDlgSplineValue.wxc" if(IsModal()) { EndModal(wxID_OK); } else { SetReturnCode(wxID_OK); Show(false); } #line 242 "WxdkdrawDlgSplineValue.wxc" } void WxdkdrawDlgSplineValue::OnCancel(wxCommandEvent & WXUNUSED(event)) { #line 250 "WxdkdrawDlgSplineValue.wxc" *m_pDest = m_dOriginal; if(IsModal()) { EndModal(wxID_CANCEL); } else { SetReturnCode(wxID_CANCEL); Show(false); } #line 259 "WxdkdrawDlgSplineValue.wxc" } void WxdkdrawDlgSplineValue::OnSlider(wxCommandEvent & WXUNUSED(event)) { wxString s; double d; int i; #line 270 "WxdkdrawDlgSplineValue.wxc" i = sValue->GetValue(); d = (double)i / 20.0; *m_pDest = d; s.Printf(wxT("%g"), d); lValue->SetLabel(s); lValue->Refresh(); Update(); wxdobj_drw_require_redraw(m_pDrw, WXD_REFRESH_DRAWING); m_pControl->Refresh(); m_pParent->Update(); #line 281 "WxdkdrawDlgSplineValue.wxc" } /* vim: set ai sw=4 ts=4 : */