All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
te::layout::ParentItem< T > Class Template Reference

Abstract class that represents a graphic item. Its coordinate system is the same of scene (millimeters). Knows rotate and resize. Stores a pixmap drawn by model. This is also son of ItemObserver, so it can become observer of a model (Observable). This class will be inherited and will became the view part of the MVC component. Who inherits it is required the implementation of updateObserver(ContextItem context) method. Drawing starting point is llx, lly. Can't add signals and slots in this class because moc(Qt) doesn't support templates. More...

#include <ParentItem.h>

Inheritance diagram for te::layout::ParentItem< T >:
te::layout::ItemObserver te::layout::Observer

Public Member Functions

virtual QRectF boundingRect () const
 
virtual void changeZoomFactor (double currentZoomFactor)
 It is called immediately by the Scene when the zoom factor is changed in the Context. More...
 
virtual bool contains (const QPointF &point) const
 
virtual ItemControllergetController ()
 Returns the "Controller" part of the MVC. More...
 
virtual QImage getImage ()
 Reimplemented from ItemObserver. More...
 
virtual ObservablegetModel ()
 Returns the "Model" part of the MVC. More...
 
virtual std::string getNameClass ()
 Method that returns the class name. More...
 
virtual QPixmap getPixmap ()
 
virtual te::gm::Coord2D getPosition ()
 Reimplemented from ItemObserver. More...
 
virtual te::color::RGBAColor ** getRGBAColorImage (int &w, int &h)
 Reimplemented from ItemObserver. More...
 
virtual bool isCanChangeGraphicOrder ()
 Returns whether the graphic component to be or not send to back or bring to front. More...
 
virtual bool isInvertedMatrix ()
 Returns whether the graph component has the inverted matrix, otherwise the matrix scene. More...
 
virtual bool isPrintable ()
 Returns whether the graphic component is printable. More...
 
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
 Reimplemented from QGraphicsItem. More...
 
 ParentItem (ItemController *controller=0, Observable *o=0, bool inverted=false)
 Constructor. More...
 
virtual void recalculateBoundingRect ()
 The default implementation does nothing. More...
 
virtual void redraw (bool bRefresh=true)
 Redraws the graphic component. More...
 
virtual void refresh (bool pos=true)
 Updated model state. More...
 
virtual void setCanChangeGraphicOrder (bool canChange)
 Change the state of the graphic component to be or not send to back or bring to front. More...
 
virtual void setPixmap (const QPixmap &pixmap)
 
virtual void setPrintable (bool print)
 Modifies the state of the graphic component to be or not printable. More...
 
virtual void setRect (QRectF rect)
 
void setZValue (qreal z)
 The Z value decides the stacking order of drawing. More...
 
virtual void updateObserver (te::layout::ContextItem context)
 Reimplemented from ItemObserver. More...
 
virtual ~ParentItem ()
 Destructor. More...
 

Protected Member Functions

virtual void applyRotation ()
 Reimplemented from ItemObserver. More...
 
virtual QPixmap calculateNewPixmap (const double &x, const double &y)
 
virtual bool checkTouchesCorner (const double &x, const double &y)
 
virtual te::gm::Envelope createNewBoxInCoordScene (const double &x, const double &y)
 
virtual void createResizePixmap ()
 
virtual void drawBackground (QPainter *painter)
 
virtual void drawBorder (QPainter *painter)
 
virtual void drawSelection (QPainter *painter)
 
virtual void drawText (QPointF point, QPainter *painter, std::string text)
 Draw a text. Converts boundingRect item coordinates (local coordinates) in pixel coordinates (screen coordinates) of the current device. More...
 
virtual int getZValueItem ()
 Reimplemented from ItemObserver. More...
 
virtual void hoverEnterEvent (QGraphicsSceneHoverEvent *event)
 Reimplemented from QGraphicsItem. More...
 
virtual void hoverLeaveEvent (QGraphicsSceneHoverEvent *event)
 Reimplemented from QGraphicsItem. More...
 
virtual void hoverMoveEvent (QGraphicsSceneHoverEvent *event)
 Reimplemented from QGraphicsItem. More...
 
virtual QVariant itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant &value)
 Reimplemented from QGraphicsItem. More...
 
virtual void mouseMoveEvent (QGraphicsSceneMouseEvent *event)
 Reimplemented from QGraphicsItem. More...
 
virtual void mousePressEvent (QGraphicsSceneMouseEvent *event)
 Reimplemented from QGraphicsItem. More...
 
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event)
 Reimplemented from QGraphicsItem. More...
 
virtual void setZValueItem (int z)
 The Z value decides the stacking order of drawing. More...
 

Protected Attributes

te::gm::Envelope m_boxCopy
 box with resize More...
 
bool m_canChangeGraphicOrder
 Define if item can send to back or bring to front. More...
 
QPixmap m_clonePixmap
 
te::layout::ItemControllerm_controller
 "Controller" part of MVC component. More...
 
LayoutAlign m_enumSides
 
QPointF m_finalCoord
 
QPointF m_initialCoord
 
bool m_invertedMatrix
 true if inverted, false otherwise the matrix scene More...
 
te::layout::Observablem_model
 "Model" part of MVC component. More...
 
bool m_mousePressedAlt
 mouse and active alt key More...
 
std::string m_nameClass
 Class name. More...
 
QPixmap m_pixmap
 
bool m_printable
 State of the graphic component to be or not printable. More...
 
QRectF m_rect
 
bool m_resizeMode
 pixmap to perform the resize is already built More...
 
bool m_toResizeItem
 pixmap to perform the resize is not yet built More...
 

Detailed Description

template<class T>
class te::layout::ParentItem< T >

Abstract class that represents a graphic item. Its coordinate system is the same of scene (millimeters). Knows rotate and resize. Stores a pixmap drawn by model. This is also son of ItemObserver, so it can become observer of a model (Observable). This class will be inherited and will became the view part of the MVC component. Who inherits it is required the implementation of updateObserver(ContextItem context) method. Drawing starting point is llx, lly. Can't add signals and slots in this class because moc(Qt) doesn't support templates.

See also
te::layout::ItemObserver

Definition at line 86 of file ParentItem.h.

Constructor & Destructor Documentation

template<class T >
te::layout::ParentItem< T >::ParentItem ( ItemController controller = 0,
Observable o = 0,
bool  inverted = false 
)
inline
template<class T >
te::layout::ParentItem< T >::~ParentItem ( )
inlinevirtual

Destructor.

Definition at line 263 of file ParentItem.h.

Member Function Documentation

template<class T >
void te::layout::ParentItem< T >::applyRotation ( )
inlineprotectedvirtual
template<class T >
QRectF te::layout::ParentItem< T >::boundingRect ( ) const
inlinevirtual

Reimplemented in te::layout::MapItem, te::layout::TextItem, and te::layout::GridMapItem.

Definition at line 489 of file ParentItem.h.

template<class T >
QPixmap te::layout::ParentItem< T >::calculateNewPixmap ( const double &  x,
const double &  y 
)
inlineprotectedvirtual

Definition at line 636 of file ParentItem.h.

References te::gm::Envelope::getHeight(), and te::gm::Envelope::getWidth().

void te::layout::ItemObserver::changeZoomFactor ( double  currentZoomFactor)
virtualinherited

It is called immediately by the Scene when the zoom factor is changed in the Context.

Parameters
currentZoomFactorcurrent zoom factor of the layout module

Reimplemented in te::layout::MapItem.

Definition at line 134 of file ItemObserver.cpp.

Referenced by te::layout::Scene::onChangeZoomFactor().

template<class T >
bool te::layout::ParentItem< T >::checkTouchesCorner ( const double &  x,
const double &  y 
)
inlineprotectedvirtual
template<class T >
bool te::layout::ParentItem< T >::contains ( const QPointF &  point) const
inlinevirtual

Definition at line 723 of file ParentItem.h.

template<class T >
te::gm::Envelope te::layout::ParentItem< T >::createNewBoxInCoordScene ( const double &  x,
const double &  y 
)
inlineprotectedvirtual
template<class T >
void te::layout::ParentItem< T >::createResizePixmap ( )
inlineprotectedvirtual

Definition at line 864 of file ParentItem.h.

template<class T >
void te::layout::ParentItem< T >::drawBackground ( QPainter *  painter)
inlineprotectedvirtual
template<class T >
void te::layout::ParentItem< T >::drawSelection ( QPainter *  painter)
inlineprotectedvirtual

Definition at line 410 of file ParentItem.h.

References te::map::DashLine, and te::map::SolidLine.

template<class T >
void te::layout::ParentItem< T >::drawText ( QPointF  point,
QPainter *  painter,
std::string  text 
)
inlineprotectedvirtual

Draw a text. Converts boundingRect item coordinates (local coordinates) in pixel coordinates (screen coordinates) of the current device.

Parameters
pointinitial text coordinate (local coordinates from boundingRect)
painterlow-level painting on widgets and other paint devices
text

Definition at line 321 of file ParentItem.h.

References te::common::Singleton< Context >::getInstance(), and te::layout::Context::getZoomFactor().

te::layout::ItemController * te::layout::ItemObserver::getController ( )
virtualinherited

Returns the "Controller" part of the MVC.

Returns
controller

Definition at line 99 of file ItemObserver.cpp.

template<class T >
QImage te::layout::ParentItem< T >::getImage ( )
virtual

Reimplemented from ItemObserver.

Definition at line 807 of file ParentItem.h.

te::layout::Observable * te::layout::ItemObserver::getModel ( )
virtualinherited

Returns the "Model" part of the MVC.

Returns
model

Definition at line 104 of file ItemObserver.cpp.

Referenced by te::layout::BuildGraphicsItem::addChild(), te::layout::ItemModelObservable::addChildren(), te::layout::VisitorUtils::changeMapVisitable(), te::layout::PropertiesOutside::changeMapVisitable(), te::layout::MenuBuilder::changePropertyValue(), te::layout::ChangePropertyCommand::checkItem(), te::layout::ItemUtils::countType(), te::layout::AddCommand::createCommandString(), te::layout::MoveCommand::createCommandString(), te::layout::ChangePropertyCommand::createCommandString(), te::layout::ItemUtils::createLegendChildAsObject(), te::layout::ObjectInspectorOutside::createProperty(), te::layout::ItemUtils::createTextItemFromObject(), te::layout::ItemUtils::createTextMapAsObject(), te::layout::Scene::deleteItems(), te::layout::PropertiesUtils::equalsHashCode(), te::layout::Scene::exportItemsToImage(), te::layout::PropertiesUtils::getAllProperties(), te::layout::Scene::getItemsProperties(), te::layout::ItemUtils::getMapItem(), te::layout::PropertiesOutside::getMapModel(), te::layout::ObjectInspectorOutside::hasMoveItemGroup(), te::layout::PropertiesUtils::intersection(), te::layout::GridMapItem::itemChange(), te::layout::ParentItem< T >::itemChange(), te::layout::ObjectInspectorOutside::itemsInspector(), te::layout::ItemUtils::mapNameList(), te::layout::ItemUtils::maxTypeId(), te::layout::View::mousePressEvent(), te::layout::Scene::removeSelectedItems(), te::layout::PropertiesUtils::sameProperties(), te::layout::Scene::selectItem(), te::layout::ObjectInspectorOutside::selectItems(), te::layout::PropertiesOutside::sendPropertyToSelectedItem(), and te::layout::PropertiesOutside::sendPropertyToSelectedItems().

std::string te::layout::ItemObserver::getNameClass ( )
virtualinherited

Method that returns the class name.

Returns
class name

Definition at line 124 of file ItemObserver.cpp.

Referenced by te::layout::ObjectInspectorOutside::createProperty().

template<class T >
QPixmap te::layout::ParentItem< T >::getPixmap ( )
inlinevirtual

Definition at line 730 of file ParentItem.h.

template<class T >
te::gm::Coord2D te::layout::ParentItem< T >::getPosition ( )
inlinevirtual

Reimplemented from ItemObserver.

Implements te::layout::ItemObserver.

Reimplemented in te::layout::MapItem, and te::layout::TextItem.

Definition at line 343 of file ParentItem.h.

References te::gm::Coord2D::x, and te::gm::Coord2D::y.

template<class T >
te::color::RGBAColor ** te::layout::ParentItem< T >::getRGBAColorImage ( int &  w,
int &  h 
)
inlinevirtual

Reimplemented from ItemObserver.

Implements te::layout::ItemObserver.

Reimplemented in te::layout::TextItem, and te::layout::MapItem.

Definition at line 781 of file ParentItem.h.

References te::qt::widgets::GetImage().

template<class T >
int te::layout::ParentItem< T >::getZValueItem ( )
inlineprotectedvirtual

Reimplemented from ItemObserver.

Implements te::layout::ItemObserver.

Definition at line 743 of file ParentItem.h.

template<class T >
void te::layout::ParentItem< T >::hoverEnterEvent ( QGraphicsSceneHoverEvent *  event)
inlineprotectedvirtual

Reimplemented from QGraphicsItem.

Definition at line 567 of file ParentItem.h.

template<class T >
void te::layout::ParentItem< T >::hoverLeaveEvent ( QGraphicsSceneHoverEvent *  event)
inlineprotectedvirtual

Reimplemented from QGraphicsItem.

Definition at line 573 of file ParentItem.h.

template<class T >
void te::layout::ParentItem< T >::hoverMoveEvent ( QGraphicsSceneHoverEvent *  event)
inlineprotectedvirtual

Reimplemented from QGraphicsItem.

Definition at line 580 of file ParentItem.h.

bool te::layout::ItemObserver::isCanChangeGraphicOrder ( )
virtualinherited

Returns whether the graphic component to be or not send to back or bring to front.

Returns
true if send to back or bring to front, false otherwise

Definition at line 119 of file ItemObserver.cpp.

Referenced by te::layout::AlignItems::bringToFront(), te::layout::Scene::createItem(), and te::layout::AlignItems::sendToBack().

bool te::layout::ItemObserver::isInvertedMatrix ( )
virtualinherited

Returns whether the graph component has the inverted matrix, otherwise the matrix scene.

Returns
true if inverted, false otherwise

Definition at line 129 of file ItemObserver.cpp.

Referenced by te::layout::Scene::insertItem(), and te::layout::View::mousePressEvent().

bool te::layout::ItemObserver::isPrintable ( )
virtualinherited

Returns whether the graphic component is printable.

Returns
true if printable, false otherwise

Definition at line 94 of file ItemObserver.cpp.

Referenced by te::layout::Scene::getItemsProperties(), and te::layout::Scene::redrawItems().

template<class T >
QVariant te::layout::ParentItem< T >::itemChange ( QGraphicsItem::GraphicsItemChange  change,
const QVariant &  value 
)
inlineprotectedvirtual
template<class T >
void te::layout::ParentItem< T >::mouseMoveEvent ( QGraphicsSceneMouseEvent *  event)
inlineprotectedvirtual

Reimplemented from QGraphicsItem.

Reimplemented in te::layout::TextItem, te::layout::MapItem, te::layout::LegendItem, and te::layout::BalloonItem.

Definition at line 544 of file ParentItem.h.

Referenced by te::layout::MapItem::mouseMoveEvent().

template<class T >
void te::layout::ParentItem< T >::mousePressEvent ( QGraphicsSceneMouseEvent *  event)
inlineprotectedvirtual

Reimplemented from QGraphicsItem.

Reimplemented in te::layout::TextItem, te::layout::MapItem, and te::layout::BalloonItem.

Definition at line 505 of file ParentItem.h.

Referenced by te::layout::MapItem::mousePressEvent().

template<class T >
void te::layout::ParentItem< T >::mouseReleaseEvent ( QGraphicsSceneMouseEvent *  event)
inlineprotectedvirtual
void te::layout::ItemObserver::recalculateBoundingRect ( )
virtualinherited

The default implementation does nothing.

Reimplemented in te::layout::MapItem, and te::layout::GridMapItem.

Definition at line 139 of file ItemObserver.cpp.

void te::layout::ItemObserver::refresh ( bool  pos = true)
virtualinherited

Updated model state.

Parameters
trueif refresh the current position, false otherwise

Definition at line 78 of file ItemObserver.cpp.

References te::gm::Coord2D::x, and te::gm::Coord2D::y.

Referenced by te::layout::ItemController::contains(), te::layout::Scene::insertItem(), and te::layout::Scene::updateSelectedItemsPositions().

void te::layout::ItemObserver::setCanChangeGraphicOrder ( bool  canChange)
virtualinherited

Change the state of the graphic component to be or not send to back or bring to front.

Parameters
canChangetrue if send to back or bring to front, false otherwise

Definition at line 114 of file ItemObserver.cpp.

template<class T >
void te::layout::ParentItem< T >::setPixmap ( const QPixmap &  pixmap)
inlinevirtual

Reimplemented in te::layout::MapItem.

Definition at line 357 of file ParentItem.h.

References te::gm::Envelope::getHeight(), and te::gm::Envelope::getWidth().

void te::layout::ItemObserver::setPrintable ( bool  print)
virtualinherited

Modifies the state of the graphic component to be or not printable.

Parameters
printtrue if printable, false otherwise

Definition at line 89 of file ItemObserver.cpp.

template<class T >
void te::layout::ParentItem< T >::setRect ( QRectF  rect)
inlinevirtual

Definition at line 495 of file ParentItem.h.

Referenced by te::layout::ParentItem< T >::ParentItem().

template<class T >
void te::layout::ParentItem< T >::setZValue ( qreal  z)
inline

The Z value decides the stacking order of drawing.

Parameters
drawingorder

Definition at line 736 of file ParentItem.h.

Referenced by te::layout::VisualizationArea::createPaper().

void te::layout::ItemObserver::setZValueItem ( int  z)
protectedvirtualinherited

The Z value decides the stacking order of drawing.

Parameters
drawingorder

Definition at line 109 of file ItemObserver.cpp.

Member Data Documentation

template<class T>
te::gm::Envelope te::layout::ParentItem< T >::m_boxCopy
protected

box with resize

Definition at line 223 of file ParentItem.h.

Referenced by te::layout::ParentItem< T >::ParentItem().

bool te::layout::ItemObserver::m_canChangeGraphicOrder
protectedinherited

Define if item can send to back or bring to front.

Definition at line 200 of file ItemObserver.h.

Referenced by te::layout::PaperItem::PaperItem().

template<class T>
QPixmap te::layout::ParentItem< T >::m_clonePixmap
protected

Definition at line 224 of file ParentItem.h.

te::layout::ItemController* te::layout::ItemObserver::m_controller
protectedinherited

"Controller" part of MVC component.

Definition at line 197 of file ItemObserver.h.

template<class T>
LayoutAlign te::layout::ParentItem< T >::m_enumSides
protected

Definition at line 229 of file ParentItem.h.

template<class T>
QPointF te::layout::ParentItem< T >::m_finalCoord
protected

Definition at line 227 of file ParentItem.h.

template<class T>
QPointF te::layout::ParentItem< T >::m_initialCoord
protected

Definition at line 226 of file ParentItem.h.

bool te::layout::ItemObserver::m_invertedMatrix
protectedinherited

true if inverted, false otherwise the matrix scene

Definition at line 202 of file ItemObserver.h.

Referenced by te::layout::BarCodeItem::BarCodeItem(), and te::layout::ParentItem< T >::ParentItem().

te::layout::Observable* te::layout::ItemObserver::m_model
protectedinherited
template<class T>
bool te::layout::ParentItem< T >::m_mousePressedAlt
protected

mouse and active alt key

Definition at line 225 of file ParentItem.h.

template<class T>
QPixmap te::layout::ParentItem< T >::m_pixmap
protected

Definition at line 219 of file ParentItem.h.

bool te::layout::ItemObserver::m_printable
protectedinherited

State of the graphic component to be or not printable.

Definition at line 199 of file ItemObserver.h.

template<class T>
QRectF te::layout::ParentItem< T >::m_rect
protected

Definition at line 220 of file ParentItem.h.

template<class T>
bool te::layout::ParentItem< T >::m_resizeMode
protected

pixmap to perform the resize is already built

Definition at line 230 of file ParentItem.h.

template<class T>
bool te::layout::ParentItem< T >::m_toResizeItem
protected

pixmap to perform the resize is not yet built

Definition at line 228 of file ParentItem.h.


The documentation for this class was generated from the following file: