All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
View.h
Go to the documentation of this file.
1 /* Copyright (C) 2013-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 QLayoutView.h
22 
23  \brief
24 
25  \ingroup layout
26 */
27 
28 #ifndef __TERRALIB_LAYOUT_INTERNAL_VIEW_H
29 #define __TERRALIB_LAYOUT_INTERNAL_VIEW_H
30 
31 // Qt
32 #include <QGraphicsView>
33 #include <QTabwidget>
34 #include <QDockWidget>
35 #include <QPointF>
36 #include <QList>
37 
38 // TerraLib
39 #include "AbstractView.h"
40 #include "../../../../geometry/Envelope.h"
41 #include "../../../../geometry/Coord2D.h"
42 
43 class QMouseEvent;
44 class QWheelEvent;
45 class QKeyEvent;
46 class QString;
47 class QHideEvent;
48 class QCloseEvent;
49 class QGraphicsItemGroup;
50 class QLineF;
51 
52 namespace te
53 {
54  namespace layout
55  {
56  class OutsideArea;
57  class VisualizationArea;
58 
59  class View : public QGraphicsView, public AbstractView
60  {
61  Q_OBJECT //for slots/signals
62 
63  public:
64  View(QWidget* widget = (QWidget*)0);
65  ~View();
66 
67  virtual void config();
68 
69  void setOutsideArea(OutsideArea* outsideArea);
70 
71  public slots:
72 
73  virtual void onToolbarChangeContext(bool change);
74  virtual void onMainMenuChangeContext(bool change);
75  virtual void onSelectionChanged();
76  virtual void onAddItemFinalized();
77 
78  signals:
79 
80  void changeSceneCoordMouse(QPointF pos);
81 
82  protected:
83 
84  virtual void mousePressEvent(QMouseEvent * event);
85  virtual void mouseMoveEvent ( QMouseEvent * event );
86  void wheelEvent(QWheelEvent *event);
87  void scaleView(qreal scaleFactor);
88  virtual void keyPressEvent(QKeyEvent* keyEvent);
89  virtual void resizeEvent(QResizeEvent * event);
90  void hideEvent ( QHideEvent * event );
91  void closeEvent ( QCloseEvent * event );
92  virtual void showEvent ( QShowEvent * event );
93 
94  virtual void paintEvent ( QPaintEvent * event );
95 
96  //PaintDevice
97  virtual int metric ( PaintDeviceMetric metric ) const;
98 
99  virtual void createItemGroup();
100 
101  virtual void destroyItemGroup();
102 
103  virtual void resetDefaultConfig();
104 
105  virtual void outsideAreaChangeContext(bool change);
106 
107  protected:
112  };
113  }
114 }
115 #endif
void changeSceneCoordMouse(QPointF pos)
virtual void config()
Definition: View.cpp:197
void hideEvent(QHideEvent *event)
Definition: View.cpp:259
virtual void mouseMoveEvent(QMouseEvent *event)
Definition: View.cpp:115
virtual void resizeEvent(QResizeEvent *event)
Definition: View.cpp:239
virtual void onAddItemFinalized()
Definition: View.cpp:306
virtual void resetDefaultConfig()
Definition: View.cpp:367
virtual void showEvent(QShowEvent *event)
Definition: View.cpp:281
View(QWidget *widget=(QWidget *) 0)
Definition: View.cpp:65
virtual void onMainMenuChangeContext(bool change)
Definition: View.cpp:377
virtual int metric(PaintDeviceMetric metric) const
Definition: View.cpp:244
virtual void createItemGroup()
Definition: View.cpp:319
VisualizationArea * m_visualizationArea
Definition: View.h:109
virtual void outsideAreaChangeContext(bool change)
Definition: View.cpp:382
virtual void onToolbarChangeContext(bool change)
Definition: View.cpp:292
virtual void keyPressEvent(QKeyEvent *keyEvent)
Definition: View.cpp:164
void wheelEvent(QWheelEvent *event)
Definition: View.cpp:135
virtual void mousePressEvent(QMouseEvent *event)
Definition: View.cpp:101
void setOutsideArea(OutsideArea *outsideArea)
Definition: View.cpp:314
void scaleView(qreal scaleFactor)
Definition: View.cpp:142
void closeEvent(QCloseEvent *event)
Definition: View.cpp:270
virtual void paintEvent(QPaintEvent *event)
Definition: View.cpp:254
OutsideArea * m_outsideArea
Definition: View.h:108
virtual void onSelectionChanged()
Definition: View.cpp:297
virtual void destroyItemGroup()
Definition: View.cpp:346
QLineF * m_lineIntersectHrz
Definition: View.h:110
QLineF * m_lineIntersectVrt
Definition: View.h:111