All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ViewZoomClick.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 terralib/qt/widgets/tools/ZoomClick.h
22 
23  \brief This class implements a concrete tool to geographic zoom operation using the mouse click.
24 */
25 
26 #ifndef __TERRALIB_LAYOUT_INTERNAL_VIEWZOOMCLICK_H
27 #define __TERRALIB_LAYOUT_INTERNAL_VIEWZOOMCLICK_H
28 
29 // TerraLib
30 #include "ViewZoom.h"
31 
32 namespace te
33 {
34  namespace layout
35  {
36  // Forward declarations
37  class View;
38 
39  /*!
40  \class ViewZoomClick
41 
42  \brief This class implements a concrete tool to geographic zoom operation using the mouse click.
43 
44  \ingroup widgets
45  */
47  {
48  public:
49 
50  /** @name Initializer Methods
51  * Methods related to instantiation and destruction.
52  */
53  //@{
54 
55  /*!
56  \brief It constructs a zoom click tool associated with the given map display.
57 
58  \param display The map display associated with the tool.
59  \param cursor The tool cursor.
60  \param zoomFactor The factor used to zoom. i.e. A factor value of 2.0 (default) will generate a new extent twice (%) bigger or smaller.
61  \para zoomType The zoom operation type - ZoomIn | ZoomOut.
62  \param parent The tool's parent.
63 
64  \note The tool will NOT take the ownership of the given pointers.
65  */
66  ViewZoomClick(View* view, const QCursor& cursor, const double& zoomFactor = 2.0, const ViewZoomType& type = TypeIn, QObject* parent = 0);
67 
68  /*! \brief Destructor. */
69  ~ViewZoomClick();
70 
71  //@}
72 
73  /** @name AbstractTool Methods
74  * Methods related with tool behavior.
75  */
76  //@{
77 
78  bool mousePressEvent(QMouseEvent* e);
79 
80  //@}
81  };
82  } // end namespace layout
83 } // end namespace te
84 
85 #endif
#define TELAYOUTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:99
This class implements a concrete tool to geographic zoom operation using the mouse click...
Definition: ViewZoomClick.h:46
Class representing the view. This view is child of QGraphicsView, part of Graphics View Framework...
Definition: View.h:89
ViewZoomType
Defines the zoom type.
Definition: ViewZoom.h:50