//************************************************************************************************** // DlgNgsCfgOPT.hpp * // ------------------ * // Description : This dialogue is used to enter values associated with the NG-Spice OPTIONS * // command. * // Started : 2006-03-03 * // Last Update : 2016-11-10 * // Copyright : (C) 2006-2016 MSWaters * //************************************************************************************************** //************************************************************************************************** // * // This program is free software; you can redistribute it and/or modify it under the * // terms of the GNU General Public License as published by the Free Software Foundation; * // either version 3 of the License, or (at your option) any later version. * // * //************************************************************************************************** #ifndef DLGNGSCFGOPT_HPP #define DLGNGSCFGOPT_HPP // Application Includes #include "TypeDefs.hpp" #include "Config.hpp" #include "utility/PnlValue.hpp" #include "utility/PnlLblCho.hpp" #include "ngspice/commands/CmdNgSpiceOPT.hpp" #include "base/NbkSimEngBase.hpp" // wxWidgets Includes #include //************************************************************************************************** class DlgNgsCfgOPT : public wxDialog { private : // Value panel controls (for float values) PnlValue m_oPnlABSTOL; PnlValue m_oPnlCHGTOL; PnlValue m_oPnlCONVABSS; PnlValue m_oPnlCONVSTEP; PnlValue m_oPnlDEFL; PnlValue m_oPnlDEFW; PnlValue m_oPnlDEFAD; PnlValue m_oPnlDEFAS; PnlValue m_oPnlGMIN; PnlValue m_oPnlPIVREL; PnlValue m_oPnlPIVTOL; PnlValue m_oPnlRAMPTIME; PnlValue m_oPnlRELTOL; PnlValue m_oPnlRSERIES; PnlValue m_oPnlRSHUNT; PnlValue m_oPnlTEMP; PnlValue m_oPnlTNOM; PnlValue m_oPnlTRTOL; PnlValue m_oPnlVNTOL; // Value panel controls (for integer values) PnlValue m_oPnlGMINSTEP; PnlValue m_oPnlITL1; PnlValue m_oPnlITL2; PnlValue m_oPnlITL3; PnlValue m_oPnlITL4; PnlValue m_oPnlITL5; PnlValue m_oPnlITL6; PnlValue m_oPnlMAXEVIT; PnlValue m_oPnlMAXOPALT; PnlValue m_oPnlMAXORD; PnlValue m_oPnlMAXWARNS; PnlValue m_oPnlSRCSTEPS; // Value panel controls (for string values) PnlLblCho m_oChoMETHOD; // Value panel controls (for boolean values) wxCheckBox m_oCbxBADMOS3; wxCheckBox m_oCbxINTERP; wxCheckBox m_oCbxNOOPAC; wxCheckBox m_oCbxNOOPALT; wxCheckBox m_oCbxOPTS; wxCheckBox m_oCbxTRYTOCOM; wxCheckBox m_oCbxWARN; // Button controls wxButton m_oBtnOk; wxButton m_oBtnCancel; wxButton m_oBtnDefaults; // Storage for validated OPTION values CmdNgSpiceOPT m_oCmdOPT; // Object initialization functions void Initialize( void ); void Create ( void ); void ToolTips ( void ); void DoLayout ( void ); PnlValue * poGetPanel( int iPnlID ); void SetValues( CmdNgSpiceOPT & roCmdOPT ); void GetValues( CmdNgSpiceOPT & roCmdOPT ); public : DlgNgsCfgOPT( wxWindow * poWin ); ~DlgNgsCfgOPT( ); bool bClear( void ); bool bSetValues( CmdNgSpiceOPT & roCmdOPT ); bool bGetValues( CmdNgSpiceOPT & roCmdOPT ); bool bSetValue( int iPnlID, const wxString & rosValue ); const wxString & rosGetValue( int iPnlID ); // Event handlers void OnBtnOk ( wxCommandEvent & roEvtCmd ); void OnBtnDefaults( wxCommandEvent & roEvtCmd ); void OnBtnCancel ( wxCommandEvent & roEvtCmd ); // In order to be able to react to a menu command, it must be given a // unique identifier such as a const or an enum. enum eDlgItemID { ID_PNL_ABSTOL = 0, ID_PNL_CHGTOL , ID_PNL_CONVABSS, ID_PNL_CONVSTEP, ID_PNL_DEFL , ID_PNL_DEFW , ID_PNL_DEFAD , ID_PNL_DEFAS , ID_PNL_GMIN , ID_PNL_GMINSTEP, ID_PNL_ITL1 , ID_PNL_ITL2 , ID_PNL_ITL3 , ID_PNL_ITL4 , ID_PNL_ITL5 , ID_PNL_ITL6 , ID_PNL_MAXEVIT , ID_PNL_MAXOPALT, ID_PNL_MAXORD , ID_PNL_MAXWARNS, ID_PNL_PIVREL , ID_PNL_PIVTOL , ID_PNL_RAMPTIME, ID_PNL_RELTOL , ID_PNL_RSERIES , ID_PNL_RSHUNT , ID_PNL_SRCSTEPS, ID_PNL_TEMP , ID_PNL_TNOM , ID_PNL_TRTOL , ID_PNL_VNTOL , ID_CHO_METHOD , ID_CBX_BADMOS3 , ID_CBX_INTERP , ID_CBX_NOOPAC , ID_CBX_NOOPALT , ID_CBX_OPTS , ID_CBX_TRYTOCOM, ID_CBX_WARN , ID_BTN_OK , ID_BTN_DEFAULTS, ID_BTN_CANCEL , ID_UNUSED , // Assigned to controls for which events are not used ID_FST = ID_PNL_ABSTOL, ID_LST = ID_BTN_CANCEL }; // Leave this as the last line as private access is envoked by macro wxDECLARE_EVENT_TABLE( ); }; //************************************************************************************************** #endif // DLGNGSCFGOPT_HPP