All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MainLayout.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 MainLayout.h
22 
23  \brief A class
24  */
25 
26 #ifndef __TE_QT_PLUGINS_LAYOUT_INTERNAL_MAINLAYOUT_H
27 #define __TE_QT_PLUGINS_LAYOUT_INTERNAL_MAINLAYOUT_H
28 
29 // TerraLib
30 #include "../../../common/Singleton.h"
31 #include "../../../layout/qt/core/View.h"
32 #include "BuildContext.h"
33 #include "BuildEnums.h"
34 
35 // Qt
36 #include <QStatusBar>
37 #include <QGroupBox>
38 #include <QMenu>
39 #include <QWidget>
40 
41 namespace te
42 {
43  namespace qt
44  {
45  namespace plugins
46  {
47  namespace layout
48  {
49  class DisplayDock;
50  class OutsideArea;
51  class ProxyProject;
52 
53  /*!
54  \class
55 
56  \brief A class ...within TerraLib environment.
57 
58  */
59  class MainLayout : public te::common::Singleton<MainLayout>
60  {
62 
63  public:
64 
65  //! Destructor.
66  ~MainLayout();
67 
68  /*!
69  \brief Inializes
70 
71  This methods
72  \exception te::layout::Exception if the
73  */
74  virtual void init(QWidget* mainWindow = 0, QMenu* mnuLayout = 0);
75 
76  protected:
77 
78  /*! \brief Constructor. */
79  MainLayout();
80 
81  void createDockLayoutDisplay(QWidget* mainWindow, te::layout::View* view);
82 
83  void createLayoutContext(int width, int height);
84 
85  void createEnums();
86 
87  void finish();
88 
91  QGroupBox* m_groupBox;
92  QStatusBar* m_statusBar;
97 
98  private:
99 
100  /*!
101  \brief Copy constructor not allowed.
102 
103  \param rhs The right-hand-side copy that would be used to copy from.
104  */
105  MainLayout(const MainLayout& rhs);
106 
107  /*!
108  \brief Assignment operator not allowed.
109 
110  \param rhs The right-hand-side copy that would be used to copy from.
111 
112  \return A reference to this object.
113  */
114  MainLayout& operator=(const MainLayout& rhs);
115  };
116  }
117  }
118  }
119 }
120 #endif // __TERRALIB_LAYOUT_INTERNAL_MAINLAYOUT_H
te::layout::BuildEnums * m_buildEnums
Definition: MainLayout.h:95
Provide a surrogate or placeholder for te::qt::af::Project to control access to it. A wrapper to access without complexity. This proxy is required because module not must have dependence te::qt::af. Useful to access the Layers belonging to the project.
Definition: ProxyProject.h:59
te::layout::BuildContext * m_buildContext
Definition: MainLayout.h:93
void createDockLayoutDisplay(QWidget *mainWindow, te::layout::View *view)
Definition: MainLayout.cpp:142
void createLayoutContext(int width, int height)
Definition: MainLayout.cpp:172
Class representing the view. This view is child of QGraphicsView, part of Graphics View Framework...
Definition: View.h:89
MainLayout & operator=(const MainLayout &rhs)
Assignment operator not allowed.
virtual void init(QWidget *mainWindow=0, QMenu *mnuLayout=0)
Inializes.
Definition: MainLayout.cpp:93
Template support for singleton pattern.
Definition: Singleton.h:100