/* 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: WxdkdrawDlgArrowSize.wxc */ /** @file WxdkdrawDlgArrowSize.cpp The WxdkdrawDlgArrowSize module. */ #line 208 "WxdkdrawDlgArrowSize.wxc" #ifndef WxdkdrawDlgArrowSize_H_INCLUDED #include "WxdkdrawDlgArrowSize.h" #endif #line 216 "WxdkdrawDlgArrowSize.wxc" /** Assign methods to event IDs. */ #if wxCHECK_VERSION(3,0,0) wxBEGIN_EVENT_TABLE(WxdkdrawDlgArrowSize,wxDialog) #else BEGIN_EVENT_TABLE(WxdkdrawDlgArrowSize,wxDialog) #endif EVT_BUTTON(\ wxID_OK,\ WxdkdrawDlgArrowSize::OnOK\ ) EVT_BUTTON(\ wxID_CANCEL,\ WxdkdrawDlgArrowSize::OnCancel\ ) EVT_SPINCTRL(\ WxdkdrawDlgArrowSize::WXD_ID_AS_LENGTH,\ WxdkdrawDlgArrowSize::OnLength\ ) EVT_SPINCTRL(\ WxdkdrawDlgArrowSize::WXD_ID_AS_WIDTH,\ WxdkdrawDlgArrowSize::OnWidth\ ) #if wxCHECK_VERSION(3,0,0) wxEND_EVENT_TABLE() #else END_EVENT_TABLE() #endif #line 248 "WxdkdrawDlgArrowSize.wxc" WxdkdrawDlgArrowSize::WxdkdrawDlgArrowSize( WxdkdrawFrame *pParent, Wxd_object_t *pObject, wxChar const * const *pTexts, bool bDrwElem, bool bBackward ) : wxDialog( pParent, wxID_ANY, pTexts[254], wxDefaultPosition, wxDefaultSize, ( (wxDEFAULT_DIALOG_STYLE) & (~(wxRESIZE_BORDER)) & (~(wxCLOSE_BOX)) & (~(wxSYSTEM_MENU)) ) ) { m_pParent = pParent; m_pObject = pObject; m_bDrwElem = bDrwElem; m_bBackward = bBackward; if (bBackward) { m_uLengthOriginal = pObject->abl; m_uWidthOriginal = pObject->abw; } else { m_uLengthOriginal = pObject->afl; m_uWidthOriginal = pObject->afw; } if (1U > m_uLengthOriginal) { m_uLengthOriginal = 1U; } if (1U > m_uWidthOriginal) { m_uWidthOriginal = 1U; } m_uLengthCurrent = m_uLengthOriginal; m_uWidthCurrent = m_uWidthOriginal; dkctGUILayoutOK = false; sizerHorizontal = NULL; sizerVertical = NULL; sizerContents = NULL; sizerButtons = NULL; labelLength = NULL; spinLength = NULL; labelWidth = NULL; spinWidth = 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); sizerContents = new wxGridBagSizer( 5, 5 ); if(!(sizerContents)) { goto dkctGUILayoutFinished; } labelLength = new wxStaticText( this, wxID_ANY, pTexts[255] ); if(!(labelLength)) { goto dkctGUILayoutFinished; } sizerContents->Add( labelLength, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL ); spinLength = new wxSpinCtrl( this, WXD_ID_AS_LENGTH, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, 1, 255, 1 ); if(!(spinLength)) { goto dkctGUILayoutFinished; } spinLength->SetToolTip(pTexts[257]); sizerContents->Add( spinLength, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL ); labelWidth = new wxStaticText( this, wxID_ANY, pTexts[256] ); if(!(labelWidth)) { goto dkctGUILayoutFinished; } sizerContents->Add( labelWidth, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL ); spinWidth = new wxSpinCtrl( this, WXD_ID_AS_WIDTH, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, 1, 255, 1 ); if(!(spinWidth)) { goto dkctGUILayoutFinished; } spinWidth->SetToolTip(pTexts[258]); sizerContents->Add( spinWidth, wxGBPosition(1, 1), wxGBSpan(1, 1), wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL ); sizerVertical->Add( sizerContents, 0, wxALIGN_CENTER_HORIZONTAL ); sizerVertical->Add(10, 10, 0); sizerButtons = new wxStdDialogButtonSizer( ); if(!(sizerButtons)) { goto dkctGUILayoutFinished; } buttonOK = new wxButton( this, wxID_OK, pTexts[259] ); if(!(buttonOK)) { goto dkctGUILayoutFinished; } buttonOK->SetToolTip(pTexts[261]); sizerButtons->AddButton( buttonOK ); buttonCancel = new wxButton( this, wxID_CANCEL, pTexts[260] ); if(!(buttonCancel)) { goto dkctGUILayoutFinished; } buttonCancel->SetToolTip(pTexts[262]); sizerButtons->AddButton( buttonCancel ); sizerButtons->Realize(); sizerVertical->Add( sizerButtons, 0, wxALIGN_CENTER_HORIZONTAL ); sizerVertical->Add(10, 10, 0); sizerHorizontal->Add( sizerVertical ); sizerHorizontal->Add(10, 10, 0); SetSizer(sizerHorizontal); dkctGUILayoutOK = true; dkctGUILayoutFinished: if(dkctGUILayoutOK) { sizerHorizontal->Fit(this); sizerHorizontal->SetSizeHints(this); } #line 282 "WxdkdrawDlgArrowSize.wxc" if (dkctGUILayoutOK) { spinLength->SetValue(m_uLengthOriginal); spinWidth->SetValue(m_uWidthOriginal); if (bBackward) { switch ( (int)(pObject->abt) ) { case 27: case 28: { spinWidth->Enable(false); } break; case 29: { spinLength->Enable(false); } break; } } else { switch ( (int)(pObject->aft) ) { case 27: case 28: { spinWidth->Enable(false); } break; case 29: { spinLength->Enable(false); } break; } } wxSize minsize = GetMinSize(); SetMaxSize(minsize); } } #line 311 "WxdkdrawDlgArrowSize.wxc" void WxdkdrawDlgArrowSize::TransferLength(void) { bool bDoRefresh = false; m_uLengthCurrent = spinLength->GetValue(); if (m_bBackward) { if (m_uLengthCurrent != m_pObject->abl) { if (m_bDrwElem) { bDoRefresh = true; } m_pObject->abl = m_uLengthCurrent; } } else { if (m_uLengthCurrent != m_pObject->afl) { if (m_bDrwElem) { bDoRefresh = true; } m_pObject->afl = m_uLengthCurrent; } } if (bDoRefresh) { m_pParent->RequireRedraw(WXD_REFRESH_DRAWING); } } void WxdkdrawDlgArrowSize::TransferWidth(void) { bool bDoRefresh = false; m_uWidthCurrent = spinWidth->GetValue(); if (m_bBackward) { if (m_uWidthCurrent != m_pObject->abw) { if (m_bDrwElem) { bDoRefresh = true; } m_pObject->abw = m_uWidthCurrent; } } else { if (m_uWidthCurrent != m_pObject->afw) { if (m_bDrwElem) { bDoRefresh = true; } m_pObject->afw = m_uWidthCurrent; } } if (bDoRefresh) { m_pParent->RequireRedraw(WXD_REFRESH_DRAWING); } } void WxdkdrawDlgArrowSize::OnOK(wxCommandEvent & WXUNUSED(event)) { #line 374 "WxdkdrawDlgArrowSize.wxc" TransferLength(); TransferWidth(); if(IsModal()) { EndModal(wxID_OK); } else { SetReturnCode(wxID_OK); Show(false); } #line 384 "WxdkdrawDlgArrowSize.wxc" } void WxdkdrawDlgArrowSize::OnCancel(wxCommandEvent & WXUNUSED(event)) { bool bDoRefresh = false; #line 393 "WxdkdrawDlgArrowSize.wxc" if (m_bBackward) { if (m_uLengthOriginal != m_pObject->abl) { m_pObject->abl = m_uLengthOriginal; if (m_bDrwElem) { bDoRefresh = true; } } if (m_uWidthOriginal != m_pObject->abw) { m_pObject->abw = m_uWidthOriginal; if (m_bDrwElem) { bDoRefresh = true; } } } else { if (m_uLengthOriginal != m_pObject->afl) { m_pObject->afl = m_uLengthOriginal; if (m_bDrwElem) { bDoRefresh = true; } } if (m_uWidthOriginal != m_pObject->afw) { m_pObject->afw = m_uWidthOriginal; if (m_bDrwElem) { bDoRefresh = true; } } } if (bDoRefresh) { m_pParent->RequireRedraw(WXD_REFRESH_DRAWING); } if(IsModal()) { EndModal(wxID_CANCEL); } else { SetReturnCode(wxID_CANCEL); Show(false); } #line 432 "WxdkdrawDlgArrowSize.wxc" } void WxdkdrawDlgArrowSize::OnLength(wxSpinEvent & WXUNUSED(event)) { #line 440 "WxdkdrawDlgArrowSize.wxc" TransferLength(); #line 442 "WxdkdrawDlgArrowSize.wxc" } void WxdkdrawDlgArrowSize::OnWidth(wxSpinEvent & WXUNUSED(event)) { #line 450 "WxdkdrawDlgArrowSize.wxc" TransferWidth(); #line 452 "WxdkdrawDlgArrowSize.wxc" } #if 0 uint8_t WxdkdrawDlgArrowSize::GetArrowLength(void) const { return m_uLengthCurrent; } uint8_t WxdkdrawDlgArrowSize::GetArrowWidth(void) const { return m_uWidthCurrent; } #endif /* vim: set ai sw=4 ts=4 : */