#include <map>
#include <Base/Persistence.h>
Go to the source code of this file.
Classes | |
class | App::PropertyContainer |
Base class of all classes with properties. More... | |
struct | App::PropertyData |
struct | App::PropertyData::PropertySpec |
Namespaces | |
namespace | App |
The namespace of the FreeCAD Aplication layer library. | |
namespace | Base |
The namespace of the FreeCAD Base library. | |
Defines | |
#define | ADD_PROPERTY(_prop_, _defaultval_) |
Property define. | |
#define | ADD_PROPERTY_TYPE(_prop_, _defaultval_, _group_, _type_, _Docu_) |
#define | PROPERTY_HEADER(_class_) |
#define | PROPERTY_SOURCE(_class_, _parentclass_) |
#define | PROPERTY_SOURCE_ABSTRACT(_class_, _parentclass_) |
#define | PROPERTY_SOURCE_TEMPLATE(_class_, _parentclass_) |
#define | TYPESYSTEM_SOURCE_TEMPLATE(_class_) |
Enumerations | |
enum | App::PropertyType { App::Prop_None = 0, App::Prop_ReadOnly = 1, App::Prop_Transient = 2, App::Prop_Hidden = 4, App::Prop_Output = 8 } |
#define ADD_PROPERTY | ( | _prop_, | |||
_defaultval_ | ) |
do { \ this->_prop_.setValue _defaultval_;\ this->_prop_.setContainer(this); \ propertyData.addProperty(this, #_prop_, &this->_prop_); \ } while (0)
Property define.
Definition at line 177 of file PropertyContainer.h.
Referenced by PartDesign::Additive::Additive(), App::Annotation::Annotation(), Part::Boolean::Boolean(), PartDesign::Chamfer::Chamfer(), Part::Chamfer::Chamfer(), Part::Circle::Circle(), Mesh::Cone::Cone(), Mesh::Curvature::Curvature(), Part::CurveNet::CurveNet(), Mesh::Cylinder::Cylinder(), PartDesign::DressUp::DressUp(), Mesh::Ellipsoid::Ellipsoid(), Points::Export::Export(), Mesh::Export::Export(), Part::Extrusion::Extrusion(), PartDesign::Face::Face(), Points::Feature::Feature(), Part::Feature::Feature(), Inspection::Feature::Feature(), Part::FeatureGeometrySet::FeatureGeometrySet(), App::FeaturePythonT< FeatureT >::FeaturePythonT(), Part::FeatureReference::FeatureReference(), App::FeatureTest::FeatureTest(), App::FeatureTestException::FeatureTestException(), PartDesign::Fillet::Fillet(), Part::Fillet::Fillet(), Mesh::FillHoles::FillHoles(), Mesh::FixDefects::FixDefects(), Mesh::FixDeformations::FixDeformations(), App::GeoFeature::GeoFeature(), PartDesign::Hole::Hole(), Mesh::Import::Import(), Points::ImportAscii::ImportAscii(), Part::ImportBrep::ImportBrep(), Part::ImportIges::ImportIges(), Part::ImportStep::ImportStep(), PartDesign::MainPart::MainPart(), Part::Mirroring::Mirroring(), Part::MultiCommon::MultiCommon(), Part::MultiFuse::MultiFuse(), PartDesign::Pad::Pad(), PartDesign::PatternRectangular::PatternRectangular(), App::Placement::Placement(), PartDesign::Pocket::Pocket(), Part::Polygon::Polygon(), Raytracing::RayFeature::RayFeature(), Mesh::RemoveComponents::RemoveComponents(), PartDesign::Revolution::Revolution(), Part::Revolution::Revolution(), Sandbox::SandboxObject::SandboxObject(), Mesh::SegmentByMesh::SegmentByMesh(), Mesh::SetOperations::SetOperations(), PartDesign::SketchBased::SketchBased(), Mesh::Sphere::Sphere(), PartDesign::Subtractive::Subtractive(), Mesh::Torus::Torus(), Mesh::Transform::Transform(), Mesh::TransformDemolding::TransformDemolding(), Part::Vertex::Vertex(), Gui::ViewProviderAnnotation::ViewProviderAnnotation(), Gui::ViewProviderAnnotationLabel::ViewProviderAnnotationLabel(), Gui::ViewProviderDocumentObject::ViewProviderDocumentObject(), DrawingGui::ViewProviderDrawingPage::ViewProviderDrawingPage(), Gui::ViewProviderFeature::ViewProviderFeature(), FemGui::ViewProviderFemMesh::ViewProviderFemMesh(), Gui::ViewProviderGeometryObject::ViewProviderGeometryObject(), Gui::ViewProviderMeasureDistance::ViewProviderMeasureDistance(), MeshGui::ViewProviderMesh::ViewProviderMesh(), MeshGui::ViewProviderMeshCurvature::ViewProviderMeshCurvature(), MeshGui::ViewProviderMeshDefects::ViewProviderMeshDefects(), MeshGui::ViewProviderMeshNode::ViewProviderMeshNode(), PartGui::ViewProviderPartBase::ViewProviderPartBase(), PartGui::ViewProviderPartExt::ViewProviderPartExt(), PointsGui::ViewProviderPoints::ViewProviderPoints(), Gui::ViewProviderPythonFeatureT< ViewProviderT >::ViewProviderPythonFeatureT(), and RobotGui::ViewProviderRobotObject::ViewProviderRobotObject().
#define ADD_PROPERTY_TYPE | ( | _prop_, | |||
_defaultval_, | |||||
_group_, | |||||
_type_, | |||||
_Docu_ | ) |
do { \ this->_prop_.setValue _defaultval_;\ this->_prop_.setContainer(this); \ propertyData.addProperty(this, #_prop_, &this->_prop_, (_group_),(_type_),(_Docu_)); \ } while (0)
Definition at line 184 of file PropertyContainer.h.
Referenced by App::AnnotationLabel::AnnotationLabel(), Part::Box::Box(), Part::Cone::Cone(), Mesh::Cube::Cube(), Part::Cylinder::Cylinder(), App::Document::Document(), App::DocumentObjectFileIncluded::DocumentObjectFileIncluded(), App::DocumentObjectGroup::DocumentObjectGroup(), Robot::Edge2TracObject::Edge2TracObject(), Part::Ellipsoid::Ellipsoid(), Mesh::Feature::Feature(), Drawing::FeaturePage::FeaturePage(), Drawing::FeatureProjection::FeatureProjection(), App::FeatureTest::FeatureTest(), Drawing::FeatureView::FeatureView(), Drawing::FeatureViewPart::FeatureViewPart(), Fem::FemMeshObject::FemMeshObject(), Part::Helix::Helix(), Image::ImagePlane::ImagePlane(), App::InventorObject::InventorObject(), Part::Loft::Loft(), App::MeasureDistance::MeasureDistance(), Part::Mirroring::Mirroring(), Drawing::PageGroup::PageGroup(), Part::Part2DObject::Part2DObject(), Part::Plane::Plane(), Raytracing::RayProject::RayProject(), Raytracing::RaySegment::RaySegment(), Robot::RobotObject::RobotObject(), Part::RuledSurface::RuledSurface(), Sketcher::SketchObject::SketchObject(), Sketcher::SketchObjectSF::SketchObjectSF(), Part::Sphere::Sphere(), Part::Torus::Torus(), Robot::TrajectoryCompound::TrajectoryCompound(), Robot::TrajectoryDressUpObject::TrajectoryDressUpObject(), Robot::TrajectoryObject::TrajectoryObject(), PartGui::ViewProvider2DObject::ViewProvider2DObject(), InspectionGui::ViewProviderInspection::ViewProviderInspection(), SketcherGui::ViewProviderSketch::ViewProviderSketch(), App::VRMLObject::VRMLObject(), and Part::Wedge::Wedge().
#define PROPERTY_HEADER | ( | _class_ | ) |
TYPESYSTEM_HEADER(); \ protected: \ static const App::PropertyData * getPropertyDataPtr(void); \ virtual const App::PropertyData &getPropertyData(void) const; \ private: \ static App::PropertyData propertyData
Definition at line 193 of file PropertyContainer.h.
#define PROPERTY_SOURCE | ( | _class_, | |||
_parentclass_ | ) |
TYPESYSTEM_SOURCE_P(_class_);\ const App::PropertyData * _class_::getPropertyDataPtr(void){return &propertyData;} \ const App::PropertyData & _class_::getPropertyData(void) const{return propertyData;} \ App::PropertyData _class_::propertyData; \ void _class_::init(void){\ initSubclass(_class_::classTypeId, #_class_ , #_parentclass_, &(_class_::create) ); \ _class_::propertyData.parentPropertyData = _parentclass_::getPropertyDataPtr();\ }
Definition at line 202 of file PropertyContainer.h.
#define PROPERTY_SOURCE_ABSTRACT | ( | _class_, | |||
_parentclass_ | ) |
TYPESYSTEM_SOURCE_ABSTRACT_P(_class_);\ const App::PropertyData * _class_::getPropertyDataPtr(void){return &propertyData;} \ const App::PropertyData & _class_::getPropertyData(void) const{return propertyData;} \ App::PropertyData _class_::propertyData; \ void _class_::init(void){\ initSubclass(_class_::classTypeId, #_class_ , #_parentclass_, &(_class_::create) ); \ _class_::propertyData.parentPropertyData = _parentclass_::getPropertyDataPtr();\ }
Definition at line 212 of file PropertyContainer.h.
#define PROPERTY_SOURCE_TEMPLATE | ( | _class_, | |||
_parentclass_ | ) |
TYPESYSTEM_SOURCE_TEMPLATE(_class_);\ template<> const App::PropertyData * _class_::getPropertyDataPtr(void){return &propertyData;} \ template<> const App::PropertyData & _class_::getPropertyData(void) const{return propertyData;} \ template<> App::PropertyData _class_::propertyData = App::PropertyData(); \ template<> void _class_::init(void){\ initSubclass(_class_::classTypeId, #_class_ , #_parentclass_, &(_class_::create) ); \ _class_::propertyData.parentPropertyData = _parentclass_::getPropertyDataPtr();\ }
Definition at line 230 of file PropertyContainer.h.
Referenced by Gui::ViewProviderPythonFeatureT< ViewProviderT >::init(), and Part::FeatureExt::init().
#define TYPESYSTEM_SOURCE_TEMPLATE | ( | _class_ | ) |
template<> Base::Type _class_::getClassTypeId(void) { return _class_::classTypeId; } \ template<> Base::Type _class_::getTypeId(void) const { return _class_::classTypeId; } \ template<> Base::Type _class_::classTypeId = Base::Type::badType(); \ template<> void * _class_::create(void){\ return new _class_ ();\ }
Definition at line 222 of file PropertyContainer.h.