--- common/wxunittext.cpp | 142 ------------------------------------------------- include/wxunittext.h | 144 -------------------------------------------------- 2 files changed, 286 deletions(-) delete mode 100644 common/wxunittext.cpp delete mode 100644 include/wxunittext.h
diff --git a/common/wxunittext.cpp b/common/wxunittext.cpp deleted file mode 100644 index 646fb90b6..000000000 --- a/common/wxunittext.cpp +++ /dev/null @@ -1,142 +0,0 @@ -/* - * This program source code file is part of KiCad, a free EDA CAD application. - * - * Copyright (C) 2014 CERN - * Author: Maciej Suminski <[email protected]> - * - * 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 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, you may find one here: - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - * or you may search the http://www.gnu.org website for the version 2 license, - * or you may write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "wxunittext.h" -#include <wx/stattext.h> -#include <wx/sizer.h> -#include <wx/textctrl.h> -#include <limits> -#include <base_units.h> -#include <wx/valnum.h> -#include <boost/optional.hpp> - -WX_UNIT_TEXT::WX_UNIT_TEXT( wxWindow* aParent, const wxString& aLabel, double aValue, double aStep ) : - wxPanel( aParent, wxID_ANY ), - m_step( aStep ) -{ - // Use the currently selected units - m_units = g_UserUnit; - - wxBoxSizer* sizer; - sizer = new wxBoxSizer( wxHORIZONTAL ); - - // Helper label - m_inputLabel = new wxStaticText( this, wxID_ANY, aLabel, - wxDefaultPosition, wxDefaultSize, 0 ); - wxSize size = m_inputLabel->GetMinSize(); - size.SetWidth( 150 ); - m_inputLabel->SetMinSize( size ); - sizer->Add( m_inputLabel, 1, wxALIGN_CENTER_VERTICAL | wxALL | wxEXPAND, 5 ); - - // Main input control - m_inputValue = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, - wxTE_PROCESS_ENTER ); - - SetValue( aValue ); - sizer->Add( m_inputValue, 0, wxALIGN_CENTER_VERTICAL | wxALL ); - - wxFloatingPointValidator<double> validator( 4, NULL, wxNUM_VAL_NO_TRAILING_ZEROES ); - validator.SetRange( 0.0, std::numeric_limits<double>::max() ); - m_inputValue->SetValidator( validator ); - - // Spin buttons for modifying values using the mouse - m_spinButton = new wxSpinButton( this, wxID_ANY ); - m_spinButton->SetRange( std::numeric_limits<int>::min(), std::numeric_limits<int>::max() ); - - m_spinButton->SetCanFocus( false ); - sizer->Add( m_spinButton, 0, wxALIGN_CENTER_VERTICAL | wxALL ); - - Connect( wxEVT_SPIN_UP, wxSpinEventHandler( WX_UNIT_TEXT::onSpinUpEvent ), NULL, this ); - Connect( wxEVT_SPIN_DOWN, wxSpinEventHandler( WX_UNIT_TEXT::onSpinDownEvent ), NULL, this ); - - sizer->AddSpacer( 5 ); - - // Create units label - m_unitLabel = new wxStaticText( this, wxID_ANY, GetUnitsLabel( g_UserUnit ), - wxDefaultPosition, wxDefaultSize, 0 ); - sizer->Add( m_unitLabel, 0, wxALIGN_CENTER_VERTICAL | wxALL ); - - SetSizer( sizer ); - Layout(); -} - - -WX_UNIT_TEXT::~WX_UNIT_TEXT() -{ -} - - -void WX_UNIT_TEXT::SetUnits( EDA_UNITS_T aUnits, bool aConvert ) -{ - assert( !aConvert ); // TODO conversion does not work yet - - m_unitLabel->SetLabel( GetUnitsLabel( g_UserUnit ) ); -} - - -void WX_UNIT_TEXT::SetValue( double aValue ) -{ - if( aValue >= 0.0 ) - { - m_inputValue->SetValue( wxString( Double2Str( aValue ).c_str(), wxConvUTF8 ) ); - m_inputValue->MarkDirty(); - } - else - { - m_inputValue->SetValue( DEFAULT_VALUE ); - } -} - - -boost::optional<double> WX_UNIT_TEXT::GetValue() const -{ - wxString text = m_inputValue->GetValue(); - double value; - - if( text == DEFAULT_VALUE ) - return boost::optional<double>( -1.0 ); - - if( !text.ToDouble( &value ) ) - return boost::optional<double>(); - - return boost::optional<double>( value ); -} - - -void WX_UNIT_TEXT::onSpinUpEvent( wxSpinEvent& aEvent ) -{ - SetValue( *GetValue() + m_step ); -} - - -void WX_UNIT_TEXT::onSpinDownEvent( wxSpinEvent& aEvent ) -{ - double newValue = *GetValue() - m_step; - - if( newValue >= 0.0 ) - SetValue( newValue ); -} - - -const wxString WX_UNIT_TEXT::DEFAULT_VALUE = _( "default "); diff --git a/include/wxunittext.h b/include/wxunittext.h deleted file mode 100644 index f86d4aa55..000000000 --- a/include/wxunittext.h +++ /dev/null @@ -1,144 +0,0 @@ -/* - * This program source code file is part of KiCad, a free EDA CAD application. - * - * Copyright (C) 2014 CERN - * Author: Maciej Suminski <[email protected]> - * - * 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 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, you may find one here: - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - * or you may search the http://www.gnu.org website for the version 2 license, - * or you may write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef WXUNITTEXT_H_ -#define WXUNITTEXT_H_ - -#include <common.h> -#include <wx/spinbutt.h> - -namespace boost -{ - template <class T> - class optional; -} -class wxTextCtrl; -class wxSpinButton; -class wxStaticText; - -class WX_UNIT_TEXT : public wxPanel -{ -public: - /** - * Constructor. - * @param aParent is the parent window. - * @param aLabel is the label displayed next to the text input control. - * @param aValue is the initial value for the control. - * @param aStep is the step size when using spin buttons. - */ - WX_UNIT_TEXT( wxWindow* aParent, const wxString& aLabel = _( "Size:" ), - double aValue = 0.0, double aStep = 0.1 ); - - virtual ~WX_UNIT_TEXT(); - - /** - * Function SetUnits - * Changes the units used by the control. - * @param aUnits is the new unit to be used. - * @param aConvert decides if the current value should be converted to the value in new units - * or should it stay the same. - */ - void SetUnits( EDA_UNITS_T aUnits, bool aConvert = false ); - - /** - * Function SetValue - * Sets new value for the control. - * @param aValue is the new value. - */ - virtual void SetValue( double aValue ); - - /* - * Function GetValue - * Returns the current value using specified units (if currently used units are different, then - * they are converted first). - * @param aUnits is the wanted unit. - */ - //virtual double GetValue( EDA_UNITS_T aUnits ) const; - - /** - * Function GetValue - * Returns the current value in currently used units. - */ - virtual boost::optional<double> GetValue() const; - - /** - * Function GetUnits - * Returns currently used units. - */ - EDA_UNITS_T GetUnits() const - { - return m_units; - } - - /** - * Function SetStep - * Sets the difference introduced by a single spin button click. - * @param aStep is new step size. - */ - void SetStep( double aStep ) - { - assert( aStep > 0.0 ); - - m_step = aStep; - } - - /** - * Function GetStep - * Returns the difference introduced by a single spin button click. - */ - double GetStep() const - { - return m_step; - } - -protected: - ///> Spin up button click event handler. - void onSpinUpEvent( wxSpinEvent& aEvent ); - - ///> Spin down button click event handler. - void onSpinDownEvent( wxSpinEvent& aEvent ); - - ///> Label for the input (e.g. "Size:") - wxStaticText* m_inputLabel; - - ///> Text input control. - wxTextCtrl* m_inputValue; - - ///> Spin buttons for changing the value using mouse. - wxSpinButton* m_spinButton; - - ///> Label showing currently used units. - wxStaticText* m_unitLabel; - - ///> Currently used units. - EDA_UNITS_T m_units; - - ///> Step size (added/subtracted difference if spin buttons are used). - double m_step; - - ///> Default value (or non-specified) - static const wxString DEFAULT_VALUE; -}; - -#endif /* WXUNITTEXT_H_ */ -- 2.14.1 _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

