00001 #ifndef GENERICPROPERTY_H 00002 #define GENERICPROPERTY_H 00003 00004 #include <string> 00005 00006 #include "AbstractEditor.h" 00007 #include "AbstractEditable.h" 00008 00009 #include "SpecificKeyIterator.h" 00010 #include "ControllerFactory.h" 00011 #include "GenericKeyIterator.h" 00012 00013 00015 class VGenericProperty : public VAbstractEditable, public VControllerFactory, public VGenericKeyIterator 00016 { 00017 public: 00019 virtual string Identify() const = 0; 00020 00022 virtual string IdentifyController() const = 0; 00023 00025 virtual bool IsControlled() const = 0; 00026 00028 virtual VAbstractEditor* CreateEditor() = 0; 00029 00031 virtual bool SupportsDirectManipulation() const = 0; 00032 00034 virtual bool MaintainsLinkToShape(void*) const 00035 { 00036 return false; 00037 } 00038 00040 virtual void UnlinkShape(void*) {} 00041 00042 }; 00043 00044 #endif