/* Copyright (C) 2020-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: WxdkdrawDlgImageOptions.wxc */ /** @file WxdkdrawDlgImageOptions.cpp The WxdkdrawDlgImageOptions module. */ #line 191 "WxdkdrawDlgImageOptions.wxc" #ifndef WXDKDRAWDLGIMAGEOPTIONS_H_INCLUDED #include "WxdkdrawDlgImageOptions.h" #endif #line 198 "WxdkdrawDlgImageOptions.wxc" /** Events to process in this dialog. */ #if wxCHECK_VERSION(3,0,0) wxBEGIN_EVENT_TABLE(WxdkdrawDlgImageOptions,wxDialog) #else BEGIN_EVENT_TABLE(WxdkdrawDlgImageOptions,wxDialog) #endif EVT_BUTTON(\ wxID_OK,\ WxdkdrawDlgImageOptions::OnOK\ ) EVT_BUTTON(\ wxID_CANCEL,\ WxdkdrawDlgImageOptions::OnCancel\ ) EVT_CHECKBOX(\ WxdkdrawDlgImageOptions::WXD_ID_DCT,\ WxdkdrawDlgImageOptions::OnDCT\ ) EVT_CHECKBOX(\ WxdkdrawDlgImageOptions::WXD_ID_INT,\ WxdkdrawDlgImageOptions::OnInterpolation\ ) #if wxCHECK_VERSION(3,0,0) wxEND_EVENT_TABLE() #else END_EVENT_TABLE() #endif #line 231 "WxdkdrawDlgImageOptions.wxc" WxdkdrawDlgImageOptions::WxdkdrawDlgImageOptions( WxdkdrawFrame *pParent, Wxd_object_t *pObject, wxChar const * const *pTexts ) : wxDialog( pParent, wxID_ANY, pTexts[461], wxDefaultPosition, wxDefaultSize, ( (wxDEFAULT_DIALOG_STYLE) & (~(wxRESIZE_BORDER)) & (~(wxCLOSE_BOX)) & (~(wxSYSTEM_MENU)) ) ) { wxString saConversionMethods[] = { wxString(pTexts[480]), wxString(pTexts[481]), wxString(pTexts[482]), wxString(pTexts[483]), wxString(pTexts[484]), wxString(pTexts[485]), wxString(pTexts[486]), wxString(pTexts[487]), wxString(pTexts[488]), wxString(pTexts[489]), wxString(pTexts[490]), wxString(pTexts[491]), wxString(pTexts[492]), wxString(pTexts[493]) }; int sel; m_pParent = pParent; m_pObject = pObject; m_sTexts = pTexts; dkctGUILayoutOK = false; sizerHorizontal = NULL; sizerVertical = NULL; sizerRgbToGray = NULL; sizerOptions = NULL; sizerButtons = NULL; lConversionMethods = NULL; chConversionMethods = NULL; cbKeepAspectRatio = NULL; cbUseAlphaChannel = NULL; cbDCTData = NULL; cbInterpolation = NULL; cbDCTInterpolation = NULL; cbEnforceBackground = 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); sizerRgbToGray = new wxBoxSizer( wxHORIZONTAL ); if(!(sizerRgbToGray)) { goto dkctGUILayoutFinished; } lConversionMethods = new wxStaticText( this, wxID_ANY, pTexts[462] ); if(!(lConversionMethods)) { goto dkctGUILayoutFinished; } sizerRgbToGray->Add( lConversionMethods, 0, wxALIGN_CENTER_VERTICAL ); sizerRgbToGray->Add(10, 10, 0); chConversionMethods = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 14, saConversionMethods ); if(!(chConversionMethods)) { goto dkctGUILayoutFinished; } chConversionMethods->SetToolTip(pTexts[463]); sizerRgbToGray->Add( chConversionMethods, 0, wxALIGN_CENTER_VERTICAL ); sizerVertical->Add( sizerRgbToGray, 0, wxALIGN_CENTER_HORIZONTAL ); sizerOptions = new wxGridBagSizer( 5, 5 ); if(!(sizerOptions)) { goto dkctGUILayoutFinished; } cbKeepAspectRatio = new wxCheckBox( this, wxID_ANY, pTexts[464] ); if(!(cbKeepAspectRatio)) { goto dkctGUILayoutFinished; } cbKeepAspectRatio->SetToolTip(pTexts[465]); sizerOptions->Add( cbKeepAspectRatio, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL ); cbUseAlphaChannel = new wxCheckBox( this, wxID_ANY, pTexts[466] ); if(!(cbUseAlphaChannel)) { goto dkctGUILayoutFinished; } cbUseAlphaChannel->SetToolTip(pTexts[467]); sizerOptions->Add( cbUseAlphaChannel, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL ); cbDCTData = new wxCheckBox( this, WXD_ID_DCT, pTexts[470] ); if(!(cbDCTData)) { goto dkctGUILayoutFinished; } cbDCTData->SetToolTip(pTexts[471]); sizerOptions->Add( cbDCTData, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL ); cbInterpolation = new wxCheckBox( this, WXD_ID_INT, pTexts[468] ); if(!(cbInterpolation)) { goto dkctGUILayoutFinished; } cbInterpolation->SetToolTip(pTexts[469]); sizerOptions->Add( cbInterpolation, wxGBPosition(3, 0), wxGBSpan(1, 2), wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL ); sizerOptions->Add(20, 1, wxGBPosition(4, 0), wxGBSpan(1, 1)); cbDCTInterpolation = new wxCheckBox( this, wxID_ANY, pTexts[472] ); if(!(cbDCTInterpolation)) { goto dkctGUILayoutFinished; } cbDCTInterpolation->SetToolTip(pTexts[473]); sizerOptions->Add( cbDCTInterpolation, wxGBPosition(4, 1), wxGBSpan(1, 1), wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL ); cbEnforceBackground = new wxCheckBox( this, wxID_ANY, pTexts[474] ); if(!(cbEnforceBackground)) { goto dkctGUILayoutFinished; } cbEnforceBackground->SetToolTip(pTexts[475]); sizerOptions->Add( cbEnforceBackground, wxGBPosition(5, 0), wxGBSpan(1, 2), wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL ); sizerVertical->Add( sizerOptions, 0, wxALIGN_CENTER_HORIZONTAL ); sizerVertical->Add(10, 10, 0); sizerButtons = new wxStdDialogButtonSizer( ); if(!(sizerButtons)) { goto dkctGUILayoutFinished; } buttonOK = new wxButton( this, wxID_OK, pTexts[476] ); if(!(buttonOK)) { goto dkctGUILayoutFinished; } buttonOK->SetToolTip(pTexts[478]); sizerButtons->AddButton( buttonOK ); buttonCancel = new wxButton( this, wxID_CANCEL, pTexts[477] ); if(!(buttonCancel)) { goto dkctGUILayoutFinished; } buttonCancel->SetToolTip(pTexts[479]); 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 270 "WxdkdrawDlgImageOptions.wxc" if (dkctGUILayoutOK) { /* Fix dialog size */ wxSize minsize = GetMinSize(); SetMaxSize(minsize); /* Load flags into GUI */ sel = (int)((m_pObject->det).i.r2g) + 1; if ( 0 > sel) { sel = 0; } if (13 < sel) { sel = 13; } chConversionMethods->SetSelection(sel); cbKeepAspectRatio->SetValue( 0 != (WXD_IMFL_ASPECT & ((m_pObject->det).i.fl)) ); cbUseAlphaChannel->SetValue( 0 != (WXD_IMFL_USE_ALPHA & ((m_pObject->det).i.fl)) ); cbDCTData->SetValue( 0 != (WXD_IMFL_USE_DCT & ((m_pObject->det).i.fl)) ); cbInterpolation->SetValue( 0 != (WXD_IMFL_IMG_INT & ((m_pObject->det).i.fl)) ); cbDCTInterpolation->SetValue( 0 != (WXD_IMFL_DCT_INT & ((m_pObject->det).i.fl)) ); cbEnforceBackground->SetValue( 0 != (WXD_IMFL_FORCE_BG & ((m_pObject->det).i.fl)) ); CorrectGUI(false); } } #line 307 "WxdkdrawDlgImageOptions.wxc" void WxdkdrawDlgImageOptions::OnOK(wxCommandEvent & WXUNUSED(event)) { uint8_t back = (uint8_t)0U; if (cbKeepAspectRatio->GetValue()) { back |= (uint8_t)(WXD_IMFL_ASPECT); } if (cbUseAlphaChannel->GetValue()) { back |= (uint8_t)(WXD_IMFL_USE_ALPHA); } if (cbDCTData->GetValue()) { back |= (uint8_t)(WXD_IMFL_USE_DCT); } if (cbInterpolation->GetValue()) { back |= (uint8_t)(WXD_IMFL_IMG_INT); } if (cbDCTInterpolation->GetValue()) { back |= (uint8_t)(WXD_IMFL_DCT_INT); } if (cbEnforceBackground->GetValue()) { back |= (uint8_t)(WXD_IMFL_FORCE_BG); } (m_pObject->det).i.fl = back; (m_pObject->det).i.r2g = (int8_t)(chConversionMethods->GetSelection() - 1); if (-1 > (m_pObject->det).i.r2g) { (m_pObject->det).i.r2g = -1; } if (12 < (m_pObject->det).i.r2g) { (m_pObject->det).i.r2g = 12; } if(IsModal()) { EndModal(wxID_OK); } else { SetReturnCode(wxID_OK); Show(false); } } void WxdkdrawDlgImageOptions::OnCancel(wxCommandEvent & WXUNUSED(event)) { if(IsModal()) { EndModal(wxID_CANCEL); } else { SetReturnCode(wxID_CANCEL); Show(false); } } void WxdkdrawDlgImageOptions::CorrectGUI(bool bUpdate) { if ((cbDCTData->GetValue()) && (cbInterpolation->GetValue())) { cbDCTInterpolation->Enable(); } else { cbDCTInterpolation->Enable(false); } if (bUpdate) { Refresh(); Update(); } } void WxdkdrawDlgImageOptions::OnDCT(wxCommandEvent & WXUNUSED(event)) { CorrectGUI(); } void WxdkdrawDlgImageOptions::OnInterpolation(wxCommandEvent & WXUNUSED(event)) { CorrectGUI(); } /* vim: set ai sw=4 ts=4 : */