diff --git a/Blocks3D.vcproj b/Blocks3D.vcproj index e7315b6..3e1c6cf 100644 --- a/Blocks3D.vcproj +++ b/Blocks3D.vcproj @@ -675,14 +675,22 @@ + + + + @@ -960,14 +968,22 @@ + + + + diff --git a/src/include/DataModelV2/Instance.h b/src/include/DataModelV2/Instance.h index be7eae1..ee28095 100644 --- a/src/include/DataModelV2/Instance.h +++ b/src/include/DataModelV2/Instance.h @@ -1,6 +1,7 @@ #pragma once #include #include "propertyGrid.h" +#include "PropertiesV2/StringProperty.h" #include "map" class Instance @@ -26,12 +27,18 @@ public: void clearChildren(); Instance* getParent(); virtual Instance* clone() const { return new Instance(*this); } + //Deprecated virtual std::vector getProperties(); + //Deprecated virtual void PropUpdate(LPPROPGRIDITEM &pItem); + + virtual std::vector collectProperties(); + int listicon; protected: std::string className; Instance* parent; // Another pointer. + //Deprecated PROPGRIDITEM createPGI(LPSTR catalog, LPSTR propName, LPSTR propDesc, LPARAM curVal, INT type, TCHAR choices[] = NULL); private: static const std::map g_logLevelsDescriptions; diff --git a/src/include/DataModelV2/PVInstance.h b/src/include/DataModelV2/PVInstance.h index 79ac705..c5723f3 100644 --- a/src/include/DataModelV2/PVInstance.h +++ b/src/include/DataModelV2/PVInstance.h @@ -16,6 +16,7 @@ public: bool nameShown; bool controllerFlagShown; Enum::Controller::Value controller; + virtual void makeJoints(); protected: CoordinateFrame cFrame; static G3D::Color3 getControllerColor(int controller) diff --git a/src/include/Properties/BoolProperty.h b/src/include/Properties/BoolProperty.h deleted file mode 100644 index ef541ec..0000000 --- a/src/include/Properties/BoolProperty.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once -#include "Property.h" -class BoolProperty : public Property -{ -public: - BoolProperty(std::string name, bool& value, Instance& owner) - { - Property(name, value, owner); - } - ~BoolProperty(void); - PROPGRIDITEM getPropGridItem(); -}; diff --git a/src/include/Properties/Property.h b/src/include/Properties/Property.h deleted file mode 100644 index 2a3a0d9..0000000 --- a/src/include/Properties/Property.h +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once -#include "DataModelV2/Instance.h" -#include -class Instance; - -template -class Property -{ -public: - Property(std::string name, T& value, Instance& owner) - { - _value = value; - _owner = owner; - } - ~Property(void); - const T getValue() - { - return _value; - } - const void setValue(T val) - { - _value = val; - } - virtual PROPGRIDITEM getPropGridItem(); - void setProperty(LPPROPGRIDITEM item); -protected: - Instance* _owner; - std::string _name; - T* _value; -}; diff --git a/src/source/DataModelV2/Instance.cpp b/src/source/DataModelV2/Instance.cpp index a83a9a8..b489ba2 100644 --- a/src/source/DataModelV2/Instance.cpp +++ b/src/source/DataModelV2/Instance.cpp @@ -80,6 +80,13 @@ std::vector Instance::getProperties() } +std::vector Instance::collectProperties() +{ + std::vector properties; + properties.push_back(StringProperty("Name", "The name of this instance", "Properties", name, this, &Instance::setName)); + return properties; +} + Instance::~Instance(void) { diff --git a/src/source/DataModelV2/PVInstance.cpp b/src/source/DataModelV2/PVInstance.cpp index 2688022..48d4372 100644 --- a/src/source/DataModelV2/PVInstance.cpp +++ b/src/source/DataModelV2/PVInstance.cpp @@ -90,6 +90,15 @@ std::vector PVInstance::getProperties() return properties; } + +void PVInstance::makeJoints() +{ + for(size_t i = 0; i < children.size(); i++) + { + + } +} + void PVInstance::PropUpdate(LPPROPGRIDITEM &pItem) { if(strcmp(pItem->lpszPropName, "NameShown") == 0) diff --git a/src/source/Properties/BoolProperty.cpp b/src/source/Properties/BoolProperty.cpp deleted file mode 100644 index 744db4b..0000000 --- a/src/source/Properties/BoolProperty.cpp +++ /dev/null @@ -1,5 +0,0 @@ -//#include "Properties/BoolProperty.h" -//PROPGRIDITEM BoolProperty::getPropGridItem() -//{ - //return PROPGRIDITEM(); -//} \ No newline at end of file diff --git a/src/source/Properties/Property.cpp b/src/source/Properties/Property.cpp deleted file mode 100644 index 3221ffb..0000000 --- a/src/source/Properties/Property.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "Properties/Property.h" - -template -void Property::setProperty(LPPROPGRIDITEM item) -{ - _owner->propertiesChanged(); -} \ No newline at end of file