30 #include "../../../core/property/Properties.h"
31 #include "../../../core/pattern/mvc/ItemObserver.h"
32 #include "../../../core/property/SharedProperties.h"
33 #include "../../../core/enum/Enums.h"
34 #include "../../../core/pattern/singleton/Context.h"
35 #include "../ItemUtils.h"
37 #include "../pattern/command/ChangePropertyCommand.h"
38 #include "../../../core/pattern/mvc/Observable.h"
41 #include <QGraphicsItem>
43 #include <QUndoCommand>
59 if(graphicsItems.size() == 1)
61 QGraphicsItem* item = graphicsItems.first();
77 props = sameProperties(graphicsItems, window);
86 std::vector<Properties*> propsVec = getAllProperties(graphicsItems, window);
88 QGraphicsItem* firstItem = graphicsItems.first();
108 std::vector<Properties*>::iterator it = propsVec.begin();
109 std::vector<Properties*>::iterator itend = propsVec.end();
113 contains(itend, it, prop.
getName(), result);
130 Property prop = (*it)->contains(name);
142 contains(itend, it, name, result);
149 std::vector<Properties*> propsVec;
152 foreach( QGraphicsItem *item, graphicsItems)
167 propsVec.push_back(propsItem);
185 foreach(std::string str, list)
189 property.addOption(v);
199 mapNameDynamicProperty(property, graphicsItems);
208 std::string currentName =
property.getValue().toString();
210 if(currentName.compare(
"") == 0)
212 currentName =
property.getOptionByCurrentChoice().toString();
216 std::vector<std::string> strList = iUtils->
mapNameList();
218 if(std::find(strList.begin(), strList.end(), currentName) != strList.end())
220 std::vector<std::string>::iterator it = std::find(strList.begin(), strList.end(), currentName);
224 addDynamicOptions(property, strList);
229 QGraphicsItem *itemSelected = 0;
231 foreach( QGraphicsItem *item, graphicsItems)
std::string getName()
Method that returns the name of this property.
virtual void addDynamicOptions(Property &property, std::vector< std::string > list)
virtual Properties * sameProperties(QList< QGraphicsItem * > graphicsItems, bool &window)
virtual bool addProperty(Property property)
Adds the specified property to the set of properties for this object.
virtual bool hasWindows()
virtual EnumDataType * getEnumDataType()
Returns data type enumeration.
virtual ~PropertiesUtils()
bool isNull()
Returns true if no value has been set, false otherwise.
int getParentItemHashCode()
Returns the hashcode of the object that owns this property.
virtual Properties * intersection(QList< QGraphicsItem * > graphicsItems, bool &window)
The Properties class represents a persistent set of properties. The Properties can be saved to a file...
Abstract class to represent an observer. "View" part of MVC component. All classes representing the g...
virtual std::vector< Property > getProperties()
Returns set of all properties.
virtual void contains(std::vector< Properties * >::iterator itend, std::vector< Properties * >::iterator it, std::string name, bool &result)
virtual void checkDynamicProperty(Property &property, QList< QGraphicsItem * > graphicsItems)
static Enums & getInstance()
It returns a reference to the singleton instance.
Class to represent a data type enumeration. Ex.: int, double, bool, te::color::RGBAColor (color)...
Class acts like a union for some C++/TerraLib5 data types. Responsible for storing the value...
virtual int getHashCode()=0
Returns the hashcode of a MVC component. Reimplement this function in a Observable subclass to provid...
ItemUtils * getItemUtils()
Returns pointer for manipulating items in the scene and vectorization of text and legend...
virtual QGraphicsItem * equalsHashCode(Property property, QList< QGraphicsItem * > graphicsItems)
virtual te::layout::Properties * getProperties() const =0
Returns the model state as properties. Reimplement this function in a Observable subclass to provide ...
Utility class for manipulating items in the scene and vectorization of text and legend.
virtual void mapNameDynamicProperty(Property &property, QList< QGraphicsItem * > graphicsItems)
Utility class with functions to facilitate handling of qt properties and properties layout module...
virtual Observable * getModel()
Returns the "Model" part of the MVC.
virtual EnumType * getDataTypeString() const
Returns value that represents type string belonging to enumeration.
virtual std::vector< Properties * > getAllProperties(QList< QGraphicsItem * > graphicsItems, bool &window)
virtual std::vector< std::string > mapNameList(bool selected=false)
List of names te::layout::MapItem.
A property acts like a attribute member of a object and stores the state of this attribute. A set of properties stores the state of an object. Any data type, not included in the convertValue method in the class te::layout::Variant, it will be by default "std::string" value.
void setValue(ValueType value, EnumType *type)
Stores a copy of value.
void setParentItemHashCode(int hashCode)
Sets the hashcode of the object that owns this property.