Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
AbstractVisitor.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 AbstractVisitor.h
22
23
\brief Abstract class to represent a visitor. All classes representing a visitor must inherit from this class.
24
25
\ingroup layout
26
*/
27
28
#ifndef __TERRALIB_LAYOUT_INTERNAL_CONTEXT_ABSTRACT_VISITOR_H
29
#define __TERRALIB_LAYOUT_INTERNAL_CONTEXT_ABSTRACT_VISITOR_H
30
31
// TerraLib
32
#include "../../ContextItem.h"
33
34
namespace
te
35
{
36
namespace
layout
37
{
38
class
Visitable;
39
40
/*!
41
\brief Abstract class to represent a visitor. All classes representing a visitor must inherit from this class.
42
43
\ingroup layout
44
*/
45
class
AbstractVisitor
46
{
47
public
:
48
49
/*!
50
\brief Constructor
51
*/
52
AbstractVisitor
();
53
54
/*!
55
\brief Destructor
56
*/
57
~AbstractVisitor
(
void
);
58
59
/*!
60
\brief Constructor
61
*/
62
virtual
void
visit
(
Visitable
* visitable);
63
64
/*!
65
\brief Separate this object from visitable.
66
*/
67
virtual
void
disassociate
();
68
69
/*!
70
\brief Return the object to be visited.
71
72
\param
73
*/
74
virtual
Visitable
*
getVisitable
();
75
76
protected
:
77
78
/*!
79
\brief visit and if necessary redraw
80
*/
81
virtual
void
visitDependent
(
ContextItem
context) = 0;
82
83
/*!
84
\brief Returns context maintaining the drawing context of a MVC component.
85
86
\param context maintaining the drawing context of a MVC component
87
*/
88
virtual
ContextItem
getContextItem
();
89
90
Visitable
*
m_visitable
;
//!< object to be visited
91
};
92
}
93
}
94
95
#endif
te::layout::Visitable
Class to represent a visitable. All classes representing a visitable must inherit from this class...
Definition:
Visitable.h:45
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::AbstractVisitor::m_visitable
Visitable * m_visitable
object to be visited
Definition:
AbstractVisitor.h:90
te::layout::AbstractVisitor
Abstract class to represent a visitor. All classes representing a visitor must inherit from this clas...
Definition:
AbstractVisitor.h:45
te::layout::AbstractVisitor::disassociate
virtual void disassociate()
Separate this object from visitable.
Definition:
AbstractVisitor.cpp:72
te::layout::AbstractVisitor::getContextItem
virtual ContextItem getContextItem()
Returns context maintaining the drawing context of a MVC component.
Definition:
AbstractVisitor.cpp:77
te::layout::AbstractVisitor::visit
virtual void visit(Visitable *visitable)
Constructor.
Definition:
AbstractVisitor.cpp:46
te::layout::AbstractVisitor::AbstractVisitor
AbstractVisitor()
Constructor.
Definition:
AbstractVisitor.cpp:35
te::layout::AbstractVisitor::~AbstractVisitor
~AbstractVisitor(void)
Destructor.
Definition:
AbstractVisitor.cpp:41
te::layout::AbstractVisitor::getVisitable
virtual Visitable * getVisitable()
Return the object to be visited.
Definition:
AbstractVisitor.cpp:95
te::layout::AbstractVisitor::visitDependent
virtual void visitDependent(ContextItem context)=0
visit and if necessary redraw
TL5_2015_release
terralib5
src
terralib
layout
core
pattern
derivativevisitor
AbstractVisitor.h
Generated on Wed Jun 3 2015 10:22:55 for TerraLib by
1.8.7