Main Page
Modules
Namespaces
Classes
Files
File List
File Members
LineItem.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 LineItem.h
22
23
\brief
24
25
\ingroup layout
26
*/
27
28
#ifndef __TERRALIB_LAYOUT_INTERNAL_LINE_ITEM_H
29
#define __TERRALIB_LAYOUT_INTERNAL_LINE_ITEM_H
30
31
// TerraLib
32
#include "
ObjectItem.h
"
33
#include "../../../geometry/Point.h"
34
35
// Qt
36
#include <QVector>
37
#include <QPolygonF>
38
39
class
QGraphicsSceneMouseEvent;
40
41
namespace
te
42
{
43
namespace
layout
44
{
45
class
Observable;
46
47
class
LineItem
:
public
ObjectItem
48
{
49
public
:
50
51
LineItem
(
ItemController
* controller,
Observable
* o );
52
53
virtual
~LineItem
();
54
55
/*!
56
\brief Reimplemented from ItemObserver
57
*/
58
virtual
void
updateObserver
(
ContextItem
context);
59
60
/*!
61
\brief Reimplemented from QGraphicsItem
62
*/
63
virtual
void
paint
( QPainter * painter,
const
QStyleOptionGraphicsItem * option, QWidget * widget = 0 );
64
65
protected
:
66
67
virtual
void
drawLine
(QPainter * painter);
68
69
QPolygonF
m_poly
;
70
};
71
}
72
}
73
74
#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
te::layout::LineItem::LineItem
LineItem(ItemController *controller, Observable *o)
Definition:
LineItem.cpp:48
te::layout::LineItem::paint
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Reimplemented from QGraphicsItem.
Definition:
LineItem.cpp:86
te::layout::LineItem::~LineItem
virtual ~LineItem()
Definition:
LineItem.cpp:54
te::layout::ItemController
Abstract class to represent a controller. "Controller" part of MVC component. All classes representin...
Definition:
ItemController.h:52
te::layout::LineItem::updateObserver
virtual void updateObserver(ContextItem context)
Reimplemented from ItemObserver.
Definition:
LineItem.cpp:59
te::layout::LineItem::drawLine
virtual void drawLine(QPainter *painter)
Definition:
LineItem.cpp:108
te::layout::ObjectItem
Abstract class that represents a graphic item. This object is of type QGraphicsObject.
Definition:
ObjectItem.h:61
te
URI C++ Library.
Definition:
AddressGeocodingOp.h:51
ObjectItem.h
Abstract class that represents a graphic item. This object is of type QGraphicsObject.
te::layout::LineItem
Definition:
LineItem.h:47
te::layout::LineItem::m_poly
QPolygonF m_poly
Definition:
LineItem.h:69
git_master
terralib5
src
terralib
layout
qt
item
LineItem.h
Generated on Tue Jan 12 2016 08:40:55 for TerraLib by
1.8.9.1