All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
te::layout::LegendItem Class Reference

Class that represents a graphic legend of a map. Its coordinate system is the same of scene (millimeters). This is also the son of ItemObserver and ObjectItem, so it can become observer of a model (Observable). More...

#include <LegendItem.h>

Inheritance diagram for te::layout::LegendItem:
te::layout::ObjectItem te::layout::ParentItem< QGraphicsObject > te::layout::ItemObserver te::layout::Observer te::layout::LegendChildItem

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 QVariant itemChange (GraphicsItemChange change, const QVariant &value)
 Reimplemented from QGraphicsItem. More...
 
 LegendItem (ItemController *controller, Observable *o)
 Constructor. More...
 
virtual void mouseMoveEvent (QGraphicsSceneMouseEvent *event)
 Reimplemented from QGraphicsItem. More...
 
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
 Mandatory implementation from QGraphicsObject. 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 (ContextItem context)
 Reimplemented from ObjectItem. More...
 
virtual ~LegendItem ()
 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 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...
 

Private Attributes

bool m_move
 

Detailed Description

Class that represents a graphic legend of a map. Its coordinate system is the same of scene (millimeters). This is also the son of ItemObserver and ObjectItem, so it can become observer of a model (Observable).

See also
te::layout::ObjectItem

Definition at line 54 of file LegendItem.h.

Constructor & Destructor Documentation

te::layout::LegendItem::LegendItem ( ItemController controller,
Observable o 
)

Constructor.

Parameters
controller"Controller" part of MVC component
o"Model" part of MVC component

Definition at line 63 of file LegendItem.cpp.

References te::layout::ItemObserver::m_nameClass.

te::layout::LegendItem::~LegendItem ( )
virtual

Destructor.

Definition at line 75 of file LegendItem.cpp.

Member Function Documentation

virtual void te::layout::ParentItem< QGraphicsObject >::applyRotation ( )
protectedvirtualinherited

Reimplemented from ItemObserver.

Implements te::layout::ItemObserver.

virtual QRectF te::layout::ParentItem< QGraphicsObject >::boundingRect ( ) const
virtualinherited

Reimplemented in te::layout::GridMapItem.

virtual QPixmap te::layout::ParentItem< QGraphicsObject >::calculateNewPixmap ( const double &  x,
const double &  y 
)
protectedvirtualinherited
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().

virtual bool te::layout::ParentItem< QGraphicsObject >::checkTouchesCorner ( const double &  x,
const double &  y 
)
protectedvirtualinherited
virtual bool te::layout::ParentItem< QGraphicsObject >::contains ( const QPointF &  point) const
virtualinherited
virtual te::gm::Envelope te::layout::ParentItem< QGraphicsObject >::createNewBoxInCoordScene ( const double &  x,
const double &  y 
)
protectedvirtualinherited
virtual void te::layout::ParentItem< QGraphicsObject >::createResizePixmap ( )
protectedvirtualinherited
virtual void te::layout::ParentItem< QGraphicsObject >::drawBackground ( QPainter *  painter)
protectedvirtualinherited
virtual void te::layout::ParentItem< QGraphicsObject >::drawBorder ( QPainter *  painter)
protectedvirtualinherited
virtual void te::layout::ParentItem< QGraphicsObject >::drawSelection ( QPainter *  painter)
protectedvirtualinherited
virtual void te::layout::ParentItem< QGraphicsObject >::drawText ( QPointF  point,
QPainter *  painter,
std::string  text 
)
protectedvirtualinherited

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
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.

virtual QImage te::layout::ParentItem< QGraphicsObject >::getImage ( )
virtualinherited

Reimplemented from ItemObserver.

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().

virtual QPixmap te::layout::ParentItem< QGraphicsObject >::getPixmap ( )
virtualinherited
virtual te::gm::Coord2D te::layout::ParentItem< QGraphicsObject >::getPosition ( )
virtualinherited

Reimplemented from ItemObserver.

Implements te::layout::ItemObserver.

virtual te::color::RGBAColor** te::layout::ParentItem< QGraphicsObject >::getRGBAColorImage ( int &  w,
int &  h 
)
virtualinherited

Reimplemented from ItemObserver.

Implements te::layout::ItemObserver.

virtual int te::layout::ParentItem< QGraphicsObject >::getZValueItem ( )
protectedvirtualinherited

Reimplemented from ItemObserver.

Implements te::layout::ItemObserver.

virtual void te::layout::ParentItem< QGraphicsObject >::hoverEnterEvent ( QGraphicsSceneHoverEvent *  event)
protectedvirtualinherited

Reimplemented from QGraphicsItem.

virtual void te::layout::ParentItem< QGraphicsObject >::hoverLeaveEvent ( QGraphicsSceneHoverEvent *  event)
protectedvirtualinherited

Reimplemented from QGraphicsItem.

virtual void te::layout::ParentItem< QGraphicsObject >::hoverMoveEvent ( QGraphicsSceneHoverEvent *  event)
protectedvirtualinherited

Reimplemented from QGraphicsItem.

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().

QVariant te::layout::LegendItem::itemChange ( GraphicsItemChange  change,
const QVariant &  value 
)
virtual

Reimplemented from QGraphicsItem.

Definition at line 274 of file LegendItem.cpp.

virtual QVariant te::layout::ParentItem< QGraphicsObject >::itemChange ( QGraphicsItem::GraphicsItemChange  change,
const QVariant &  value 
)
protectedvirtualinherited

Reimplemented from QGraphicsItem.

Reimplemented in te::layout::GridMapItem.

void te::layout::LegendItem::mouseMoveEvent ( QGraphicsSceneMouseEvent *  event)
virtual

Reimplemented from QGraphicsItem.

Reimplemented from te::layout::ParentItem< QGraphicsObject >.

Definition at line 295 of file LegendItem.cpp.

virtual void te::layout::ParentItem< QGraphicsObject >::mousePressEvent ( QGraphicsSceneMouseEvent *  event)
protectedvirtualinherited

Reimplemented from QGraphicsItem.

Reimplemented in te::layout::BalloonItem.

virtual void te::layout::ParentItem< QGraphicsObject >::mouseReleaseEvent ( QGraphicsSceneMouseEvent *  event)
protectedvirtualinherited

Reimplemented from QGraphicsItem.

Reimplemented in te::layout::BalloonItem.

void te::layout::LegendItem::paint ( QPainter *  painter,
const QStyleOptionGraphicsItem *  option,
QWidget *  widget = 0 
)
virtual

Mandatory implementation from QGraphicsObject.

Reimplemented from te::layout::ParentItem< QGraphicsObject >.

Reimplemented in te::layout::LegendChildItem.

Definition at line 103 of file LegendItem.cpp.

References te::map::CanvasConfigurer::config(), te::color::RGBAColor::getAlpha(), te::color::RGBAColor::getBlue(), te::layout::LegendModel::getBorderDisplacement(), te::layout::Context::getCanvas(), te::layout::LegendModel::getDisplacementBetweenSymbolAndText(), te::layout::LegendModel::getDisplacementBetweenSymbols(), te::layout::LegendModel::getDisplacementBetweenTitleAndSymbols(), te::layout::Font::getFamily(), te::layout::LegendModel::getFont(), te::layout::LegendModel::getFontColor(), te::color::RGBAColor::getGreen(), te::map::Grouping::getGroupingItems(), te::common::Singleton< Context >::getInstance(), te::layout::LegendModel::getLayer(), te::map::GroupingItem::getLowerLimit(), te::layout::Font::getPointSize(), te::map::Grouping::getPropertyName(), te::color::RGBAColor::getRed(), te::map::GroupingItem::getSymbolizers(), te::layout::LegendModel::getSymbolSize(), te::map::Grouping::getType(), te::se::Symbolizer::getType(), te::map::GroupingItem::getUpperLimit(), te::layout::Context::getUtils(), te::map::GroupingItem::getValue(), te::layout::Font::isStrikeout(), te::layout::Font::isUnderline(), te::map::Grouping::isVisible(), te::gm::LineStringType, te::layout::Utils::mm2pixel(), te::gm::PolygonType, te::qt::widgets::Canvas::setMatrix(), te::gm::LineString::setPoint(), te::gm::CurvePolygon::setRingN(), te::map::Canvas::setTextColor(), te::map::Canvas::setTextPointSize(), te::map::Canvas::setTextStrikeOut(), te::map::Canvas::setTextUnderline(), te::layout::Utils::textBoundingBox(), and te::map::UNIQUE_VALUE.

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.

virtual void te::layout::ParentItem< QGraphicsObject >::setPixmap ( const QPixmap &  pixmap)
virtualinherited
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.

virtual void te::layout::ParentItem< QGraphicsObject >::setRect ( QRectF  rect)
virtualinherited
void te::layout::ParentItem< QGraphicsObject >::setZValue ( qreal  z)
inherited

The Z value decides the stacking order of drawing.

Parameters
drawingorder
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.

void te::layout::LegendItem::updateObserver ( ContextItem  context)
virtual

Member Data Documentation

te::gm::Envelope te::layout::ParentItem< QGraphicsObject >::m_boxCopy
protectedinherited

box with resize

Definition at line 223 of file ParentItem.h.

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().

QPixmap te::layout::ParentItem< QGraphicsObject >::m_clonePixmap
protectedinherited

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.

LayoutAlign te::layout::ParentItem< QGraphicsObject >::m_enumSides
protectedinherited

Definition at line 229 of file ParentItem.h.

QPointF te::layout::ParentItem< QGraphicsObject >::m_finalCoord
protectedinherited

Definition at line 227 of file ParentItem.h.

QPointF te::layout::ParentItem< QGraphicsObject >::m_initialCoord
protectedinherited

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
bool te::layout::ParentItem< QGraphicsObject >::m_mousePressedAlt
protectedinherited

mouse and active alt key

Definition at line 225 of file ParentItem.h.

bool te::layout::LegendItem::m_move
private

Definition at line 93 of file LegendItem.h.

QPixmap te::layout::ParentItem< QGraphicsObject >::m_pixmap
protectedinherited

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.

QRectF te::layout::ParentItem< QGraphicsObject >::m_rect
protectedinherited

Definition at line 220 of file ParentItem.h.

bool te::layout::ParentItem< QGraphicsObject >::m_resizeMode
protectedinherited

pixmap to perform the resize is already built

Definition at line 230 of file ParentItem.h.

bool te::layout::ParentItem< QGraphicsObject >::m_toResizeItem
protectedinherited

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 files: