28 #ifndef __TERRALIB_LAYOUT_INTERNAL_ITEM_MODEL_H
29 #define __TERRALIB_LAYOUT_INTERNAL_ITEM_MODEL_H
33 #include "../../Config.h"
34 #include "../../property/Property.h"
45 class SharedProperties;
72 virtual bool addObserver(
Observer* o);
77 virtual bool removeObserver(
Observer* o);
92 virtual void setType(
EnumType* type);
139 virtual void setName(std::string name);
144 virtual std::string getName();
154 virtual void setId(
int id);
159 virtual int getHashCode();
167 virtual void setPosition(
const double& x,
const double& y);
192 virtual std::set<ItemObserver*> getChildren()
const;
202 virtual bool removeChildren(
int hashCode);
212 virtual int getZValue();
217 virtual void setZValue(
int zValue);
224 virtual bool isBorder();
231 virtual void setBorder(
bool value);
238 virtual void resize(
double w,
double h);
243 virtual void setResizable(
bool resize);
248 virtual bool isResizable();
255 virtual void setAngle(
double angle);
262 virtual double getAngle();
269 virtual double getOldAngle();
283 virtual bool isEnableChildren();
290 virtual void setEnableChildren(
bool value);
299 virtual int calculateHashCode();
308 virtual void addChildrenProperties(
Properties* properties);
310 virtual void updateChildrenProperties(
Property prop);
Abstract class to represent an observable. "Model" part of MVC component.
Class responsible for maintaining the drawing context of a MVC component. It is always used by the "M...
double m_angle
value of rotation
te::gm::Coord2D m_centerCoordinate
center coordinate of the bounding rectangle
#define TELAYOUTEXPORT
You can use this macro in order to export/import classes and functions from this module.
bool m_border
true if should be drawn border, false otherwise
Properties * m_publicProperties
public properties
double m_oldAngle
value of old rotation
Abstract class to represent an observable. "Model" part of MVC component.
Abstract class to represent an observable. "Model" part of MVC component. All classes representing th...
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...
An utility struct for representing 2D coordinates.
EnumType * m_type
type of the MVC component
std::set< ItemObserver * > m_children
children components
Abstract class to represent an observer. "View" part of MVC component.
An Envelope defines a 2D rectangular region.
te::gm::Envelope m_box
bounding rectangle
std::set< Observer * > m_observers
set of observers of this object
std::string m_name
name of the MVC component
bool m_resizable
true if resizable, false otherwise
te::color::RGBAColor m_backgroundColor
background color
Properties * m_properties
properties
bool m_enableChildren
true if MVC component can have children, false otherwise
Class that represents the value of an enumeration. An enumeration is made of "1..n" objects EnumType...
A helper class for 32-bit RGBA (Red-Green-Blue-Alpha channel) color.
te::color::RGBAColor m_borderColor
border color
te::gm::Coord2D m_oldPos
value of old position
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.
int m_zValue
The Z value decides the stacking order of drawing.
SharedProperties * m_sharedProps
Names of common properties among all MVC components.