diff --git a/src/App/Application.cpp b/src/App/Application.cpp index 545e2fcd09..9c9e629e6e 100644 --- a/src/App/Application.cpp +++ b/src/App/Application.cpp @@ -1631,6 +1631,7 @@ void Application::initTypes(void) App ::PropertyLength ::init(); App ::PropertyArea ::init(); App ::PropertyVolume ::init(); + App ::PropertyFrequency ::init(); App ::PropertySpeed ::init(); App ::PropertyAcceleration ::init(); App ::PropertyForce ::init(); diff --git a/src/App/PropertyUnits.cpp b/src/App/PropertyUnits.cpp index 8d8b450b5a..a92614dfe0 100644 --- a/src/App/PropertyUnits.cpp +++ b/src/App/PropertyUnits.cpp @@ -218,6 +218,18 @@ PropertyDistance::PropertyDistance() setUnit(Base::Unit::Length); } +//************************************************************************** +//************************************************************************** +// PropertyFrequency +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +TYPESYSTEM_SOURCE(App::PropertyFrequency, App::PropertyQuantity) + +PropertyFrequency::PropertyFrequency() +{ + setUnit(Base::Unit::Frequency); +} + //************************************************************************** //************************************************************************** // PropertySpeed diff --git a/src/App/PropertyUnits.h b/src/App/PropertyUnits.h index 81d2f638e4..d95d027e1b 100644 --- a/src/App/PropertyUnits.h +++ b/src/App/PropertyUnits.h @@ -175,6 +175,18 @@ public: virtual const char* getEditorName(void) const { return "Gui::PropertyEditor::PropertyAngleItem"; } }; +/** Frequency property + * This is a property for representing frequency. It is basically a float + * property. On the Gui it has a quantity like 1/s or Hz. + */ +class AppExport PropertyFrequency: public PropertyQuantity +{ + TYPESYSTEM_HEADER(); +public: + PropertyFrequency(void); + virtual ~PropertyFrequency(){} +}; + /** Speed property * This is a property for representing speed. It is basically a float * property. On the Gui it has a quantity like m/s or km/h. diff --git a/src/Base/Unit.cpp b/src/Base/Unit.cpp index 68ee338907..f410569de4 100644 --- a/src/Base/Unit.cpp +++ b/src/Base/Unit.cpp @@ -433,6 +433,7 @@ QString Unit::getTypeString(void) const if(*this == Unit::Angle ) return QString::fromLatin1("Angle"); if(*this == Unit::Density ) return QString::fromLatin1("Density"); if(*this == Unit::TimeSpan ) return QString::fromLatin1("TimeSpan"); + if(*this == Unit::Frequency ) return QString::fromLatin1("Frequency"); if(*this == Unit::Velocity ) return QString::fromLatin1("Velocity"); if(*this == Unit::Acceleration ) return QString::fromLatin1("Acceleration"); if(*this == Unit::Temperature ) return QString::fromLatin1("Temperature"); @@ -470,6 +471,7 @@ Unit Unit::AngleOfFriction (0,0,0,0,0,0,0,1); Unit Unit::Density(-3,1); Unit Unit::TimeSpan(0,0,1); +Unit Unit::Frequency(0,0,-1); Unit Unit::Velocity(1,0,-1); Unit Unit::Acceleration(1,0,-2); Unit Unit::Temperature(0,0,0,0,1); diff --git a/src/Base/Unit.h b/src/Base/Unit.h index 39692ab1d1..6a1d598a9c 100644 --- a/src/Base/Unit.h +++ b/src/Base/Unit.h @@ -103,6 +103,7 @@ public: static Unit Area; static Unit Volume; static Unit TimeSpan; + static Unit Frequency; static Unit Velocity; static Unit Acceleration; static Unit Temperature; diff --git a/src/Gui/DlgUnitsCalculatorImp.cpp b/src/Gui/DlgUnitsCalculatorImp.cpp index 51d96b6207..ded183021e 100644 --- a/src/Gui/DlgUnitsCalculatorImp.cpp +++ b/src/Gui/DlgUnitsCalculatorImp.cpp @@ -66,8 +66,8 @@ DlgUnitsCalculator::DlgUnitsCalculator( QWidget* parent, Qt::WindowFlags fl ) actUnit.setInvalid(); units << Base::Unit::Length << Base::Unit::Mass << Base::Unit::Angle << Base::Unit::Density - << Base::Unit::Area << Base::Unit::Volume << Base::Unit::TimeSpan << Base::Unit::Velocity - << Base::Unit::Acceleration << Base::Unit::Temperature + << Base::Unit::Area << Base::Unit::Volume << Base::Unit::TimeSpan << Base::Unit::Frequency + << Base::Unit::Velocity << Base::Unit::Acceleration << Base::Unit::Temperature << Base::Unit::ElectricCurrent << Base::Unit::ElectricPotential << Base::Unit::AmountOfSubstance << Base::Unit::LuminousIntensity << Base::Unit::Stress << Base::Unit::Pressure << Base::Unit::Force << Base::Unit::Work << Base::Unit::Power