All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ToolbarOutside.h
Go to the documentation of this file.
1 /* Copyright (C) 2001-2014 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 ToolbarOutside.h
22 
23  \brief
24 
25  \ingroup layout
26 */
27 
28 #ifndef __TERRALIB_LAYOUT_INTERNAL_TOOLBAR_OUTSIDE_H
29 #define __TERRALIB_LAYOUT_INTERNAL_TOOLBAR_OUTSIDE_H
30 
31 // Qt
32 #include <QDockWidget>
33 
34 // TerraLib
35 #include "OutsideObserver.h"
36 #include "../../../../geometry/Envelope.h"
37 #include "EnumMode.h"
38 
39 // STL
40 #include <string>
41 
42 class QGraphicsItem;
43 class QWidget;
44 class QToolBar;
45 class QGroupBox;
46 class QAction;
47 class QToolButton;
48 class QMenu;
49 class QPushButton;
50 
51 namespace te
52 {
53  namespace layout
54  {
55  class ToolbarOutside : public QDockWidget, public OutsideObserver
56  {
57  Q_OBJECT //for slots/signals
58 
59  public:
60 
62 
63  virtual ~ToolbarOutside();
64 
65  virtual void updateObserver(ContextItem context);
66 
67  virtual void setPosition(const double& x, const double& y);
68 
69  virtual te::gm::Coord2D getPosition();
70 
71  public slots:
72 
73  virtual void onMapTriggered(QAction* action);
74 
75  virtual void onMapToolsTriggered(QAction* action);
76 
77  virtual void onGeometryTriggered(QAction* action);
78 
79  virtual void onViewAreaTriggered(QAction* action);
80 
81  virtual void onArrowCursorClicked(bool checked);
82 
83  virtual void onItemToolsTriggered(QAction* action);
84 
85  virtual void onLineIntersectionMouse(bool checked);
86 
87  signals:
88 
89  void changeContext(bool change);
90 
91  protected:
92 
93  virtual void createToolbar();
94 
95  virtual void createMapToolButton();
96 
97  virtual void createMapToolsToolButton();
98 
99  virtual void createGeometryToolButton();
100 
101  virtual void createViewAreaToolButton();
102 
103  virtual void createArrowCursorButton();
104 
105  virtual void createItemTools();
106 
107  virtual void createLineIntersectionToolButton();
108 
109  virtual void changeAction(LayoutMode mode);
110 
111  virtual QToolButton* createToolButton(std::string text, std::string tooltip, std::string icon);
112 
113  virtual QPushButton* createPushButton(std::string text, std::string tooltip, std::string icon);
114 
115  virtual QAction* createAction(std::string text, std::string objName, std::string icon, std::string tooltip = "");
116 
117  QToolBar* m_toolbar;
118  QToolButton* m_btnMap;
119 
120  /* Map Menu */
121  std::string m_optionMapDefault;
122  std::string m_optionMapGrid;
124  std::string m_optionScale;
125 
126  /* Map Tools */
127  std::string m_optionMapZoomIn;
128  std::string m_optionMapZoomOut;
129  std::string m_optionMapPan;
130 
131  /* Geometry Menu */
132  std::string m_optionRectangle;
133 
134  /* View Area */
135  std::string m_optionViewPan;
136  std::string m_optionViewZoomIn;
137  std::string m_optionViewZoomOut;
138 
139  /* Items Tools */
140 
141  std::string m_optionGroup;
142  std::string m_optionUngroup;
143 
145  };
146  }
147 }
148 
149 
150 #endif
virtual void createViewAreaToolButton()
virtual void onItemToolsTriggered(QAction *action)
std::string m_optionLineIntersectionMouse
virtual te::gm::Coord2D getPosition()
virtual QToolButton * createToolButton(std::string text, std::string tooltip, std::string icon)
virtual void createMapToolsToolButton()
void changeContext(bool change)
virtual QPushButton * createPushButton(std::string text, std::string tooltip, std::string icon)
virtual void createArrowCursorButton()
An utility struct for representing 2D coordinates.
Definition: Coord2D.h:40
LayoutMode
Enum LayoutMode. This is the enumeration of the components types.
Definition: EnumMode.h:38
virtual void onViewAreaTriggered(QAction *action)
virtual void onMapToolsTriggered(QAction *action)
virtual void onArrowCursorClicked(bool checked)
virtual void createMapToolButton()
virtual void changeAction(LayoutMode mode)
virtual void updateObserver(ContextItem context)
virtual void onLineIntersectionMouse(bool checked)
virtual void setPosition(const double &x, const double &y)
virtual void createLineIntersectionToolButton()
virtual void onGeometryTriggered(QAction *action)
virtual QAction * createAction(std::string text, std::string objName, std::string icon, std::string tooltip="")
ToolbarOutside(OutsideController *controller, Observable *o)
virtual void createGeometryToolButton()
virtual void onMapTriggered(QAction *action)