All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
PropertiesOutside.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 PropertiesOutside.h
22 
23  \brief
24 
25  \ingroup layout
26 */
27 
28 #ifndef __TERRALIB_LAYOUT_INTERNAL_PROPERTIES_OUTSIDE_H
29 #define __TERRALIB_LAYOUT_INTERNAL_PROPERTIES_OUTSIDE_H
30 
31 // Qt
32 #include <QDockWidget>
33 #include "../../../../../../third-party/qt/propertybrowser/qtpropertybrowser.h"
34 
35 // TerraLib
36 #include "OutsideObserver.h"
37 #include "../../../../geometry/Envelope.h"
38 
39 // STL
40 #include <vector>
41 
42 class QGraphicsItem;
43 class QWidget;
44 class QGraphicsProxyWidget;
45 
46 class QtTreePropertyBrowser;
47 class QtVariantProperty;
48 class QtProperty;
49 class QtVariantPropertyManager;
50 
51 class QtBrowserIndex;
52 class QLabel;
53 class QLineEdit;
54 class QToolButton;
55 class PropertyBrowser;
56 
57 namespace te
58 {
59  namespace layout
60  {
61  class PropertiesItemPropertyBrowser;
62  class Properties;
63  class SharedProperties;
64  class MapItem;
65  class MapModel;
66 
67  class PropertiesOutside : public QDockWidget, public OutsideObserver
68  {
69  Q_OBJECT //for slots/signals
70 
71  public:
72 
74  virtual ~PropertiesOutside();
75 
76  virtual void updateObserver(ContextItem context);
77  virtual void setPosition(const double& x, const double& y);
78  virtual te::gm::Coord2D getPosition();
79 
80  virtual void itemsSelected(QList<QGraphicsItem*> graphicsItems, QList<QGraphicsItem*> allItems);
81 
82  private slots:
83 
84  void onChangePropertyValue(Property property);
85 
86  protected:
87 
88  virtual void closeEvent ( QCloseEvent * event );
89  virtual void createLayout();
90  virtual Properties* intersection(QList<QGraphicsItem*> graphicsItems, bool& gridWindow);
91  virtual Properties* sameProperties(QList<QGraphicsItem*> graphicsItems, bool& gridWindow);
92  virtual void contains(std::vector<Properties*>::iterator itend,
93  std::vector<Properties*>::iterator it, std::string name, bool& result);
94  virtual std::vector<Properties*> getAllProperties(QList<QGraphicsItem*> graphicsItems, bool& gridWindow);
95  virtual void addDynamicOptions(Property& property, std::vector<std::string> list);
96  virtual void checkDynamicProperty(Property& property, QList<QGraphicsItem*> graphicsItems);
97  virtual void mapNameDynamicProperty(Property& property, QList<QGraphicsItem*> graphicsItems);
98  virtual void changeMapVisitable(Property property);
99  virtual MapModel* getMapModel(std::string nameMap);
100 
101  protected:
102 
104 
105  QList<QGraphicsItem*> m_graphicsItems;
106  QList<QGraphicsItem*> m_allItems;
107  QLabel* m_nameLabel;
112  };
113  }
114 }
115 
116 
117 #endif
virtual std::vector< Properties * > getAllProperties(QList< QGraphicsItem * > graphicsItems, bool &gridWindow)
void onChangePropertyValue(Property property)
virtual void mapNameDynamicProperty(Property &property, QList< QGraphicsItem * > graphicsItems)
virtual MapModel * getMapModel(std::string nameMap)
An utility struct for representing 2D coordinates.
Definition: Coord2D.h:40
virtual Properties * sameProperties(QList< QGraphicsItem * > graphicsItems, bool &gridWindow)
QList< QGraphicsItem * > m_allItems
virtual void changeMapVisitable(Property property)
virtual void checkDynamicProperty(Property &property, QList< QGraphicsItem * > graphicsItems)
PropertiesOutside(OutsideController *controller, Observable *o)
virtual void updateObserver(ContextItem context)
virtual void closeEvent(QCloseEvent *event)
PropertiesItemPropertyBrowser * m_layoutPropertyBrowser
virtual void itemsSelected(QList< QGraphicsItem * > graphicsItems, QList< QGraphicsItem * > allItems)
virtual void setPosition(const double &x, const double &y)
virtual void addDynamicOptions(Property &property, std::vector< std::string > list)
virtual te::gm::Coord2D getPosition()
QList< QGraphicsItem * > m_graphicsItems
virtual Properties * intersection(QList< QGraphicsItem * > graphicsItems, bool &gridWindow)
virtual void contains(std::vector< Properties * >::iterator itend, std::vector< Properties * >::iterator it, std::string name, bool &result)