Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
LegendItem.h
Go to the documentation of this file.
1
/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3
This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5
TerraLib is free software: you can redistribute it and/or modify
6
it under the terms of the GNU Lesser General Public License as published by
7
the Free Software Foundation, either version 3 of the License,
8
or (at your option) any later version.
9
10
TerraLib is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU Lesser General Public License for more details.
14
15
You should have received a copy of the GNU Lesser General Public License
16
along with TerraLib. See COPYING. If not, write to
17
TerraLib Team at <terralib-team@terralib.org>.
18
*/
19
20
/*!
21
\file LegendItem.h
22
23
\brief Class that represents a graphic legend of a map.
24
Its coordinate system is the same of scene (millimeters).
25
This is also the son of ItemObserver and ObjectItem, so it can become observer of a model (Observable).
26
27
\ingroup layout
28
*/
29
30
#ifndef __TERRALIB_LAYOUT_INTERNAL_LEGEND_ITEM_H
31
#define __TERRALIB_LAYOUT_INTERNAL_LEGEND_ITEM_H
32
33
#include <QVariant>
34
35
// TerraLib
36
#include "
ObjectItem.h
"
37
#include "../../core/Config.h"
38
39
namespace
te
40
{
41
namespace
layout
42
{
43
class
Observable;
44
45
/*!
46
\brief Class that represents a graphic legend of a map.
47
Its coordinate system is the same of scene (millimeters).
48
This is also the son of ItemObserver and ObjectItem, so it can become observer of a model (Observable).
49
50
\ingroup layout
51
52
\sa te::layout::ObjectItem
53
*/
54
class
TELAYOUTEXPORT
LegendItem
:
public
ObjectItem
55
{
56
public
:
57
58
/*!
59
\brief Constructor
60
61
\param controller "Controller" part of MVC component
62
\param o "Model" part of MVC component
63
*/
64
LegendItem
(
ItemController
* controller,
Observable
* o );
65
66
/*!
67
\brief Destructor
68
*/
69
virtual
~
LegendItem
();
70
71
/*!
72
\brief Reimplemented from ObjectItem
73
*/
74
virtual
void
updateObserver(
ContextItem
context);
75
76
/*!
77
\brief Mandatory implementation from QGraphicsObject
78
*/
79
virtual
void
paint ( QPainter * painter,
const
QStyleOptionGraphicsItem * option, QWidget * widget = 0 );
80
81
/*!
82
\brief Reimplemented from QGraphicsItem
83
*/
84
virtual
QVariant itemChange ( GraphicsItemChange change,
const
QVariant & value );
85
86
/*!
87
\brief Reimplemented from QGraphicsItem
88
*/
89
virtual
void
mouseMoveEvent ( QGraphicsSceneMouseEvent * event );
90
91
private
:
92
93
bool
m_move
;
94
};
95
}
96
}
97
98
#endif
te::layout::Observable
Abstract class to represent an observable. "Model" part of MVC component.
Definition:
Observable.h:56
te::layout::ContextItem
Class responsible for maintaining the drawing context of a MVC component. It is always used by the "M...
Definition:
ContextItem.h:49
TELAYOUTEXPORT
#define TELAYOUTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition:
Config.h:99
te::layout::ItemController
Abstract class to represent a controller. "Controller" part of MVC component. All classes representin...
Definition:
ItemController.h:52
te::layout::LegendItem
Class that represents a graphic legend of a map. Its coordinate system is the same of scene (millimet...
Definition:
LegendItem.h:54
te::layout::ObjectItem
Abstract class that represents a graphic item. This object is of type QGraphicsObject.
Definition:
ObjectItem.h:61
ObjectItem.h
Abstract class that represents a graphic item. This object is of type QGraphicsObject.
te::layout::LegendItem::m_move
bool m_move
Definition:
LegendItem.h:93
TL5_2015_release
terralib5
src
terralib
layout
qt
item
LegendItem.h
Generated on Wed Jun 3 2015 10:23:03 for TerraLib by
1.8.7