AbstractProcessTreeGroup.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/process/qt/AbstractProcessTreeGroup.h
22 
23  \brief A QTreeWidgetItem Group of Process Builder items.
24 */
25 
26 #ifndef __TERRALIB_PROCESS_QT_INTERNAL_ABSTRACTPROCESSTREEGROUP_H
27 #define __TERRALIB_PROCESS_QT_INTERNAL_ABSTRACTPROCESSTREEGROUP_H
28 
29 #include "../../Config.h"
30 
31 // Qt Includes
32 #include <QObject>
33 #include <QTreeWidgetItem>
34 
35 namespace te
36 {
37  namespace process
38  {
39  namespace qt
40  {
41  class ProcessExplorerTree;
42  class ProcessTreeItem;
43 
44  /*!
45  \class AbstractProcessTreeGroup
46 
47  \brief A Abstract QTreeWidgetItem Group of Process Builder items.
48 
49  */
51  {
52  Q_OBJECT
53 
54  public:
55 
56  /*! \brief Default constructor. */
57  AbstractProcessTreeGroup(ProcessExplorerTree* parent, const std::string& groupName);
58 
59  /*! \brief Virtual destructor. */
61 
62  protected:
63 
64  /*!
65  \brief Function used to build and add the main item in process explorer tree.
66  */
67  void buildRootItem();
68 
69  /*!
70  \brief Add a new item into group
71 
72  \param itemName Item name
73 
74  \param iconName Item icon path/name
75 
76  \return ProcessTreeItem that represents a process item.
77  */
78  ProcessTreeItem* addGroupItem(const std::string& itemName, const std::string& iconName);
79 
80  /*!
81  \brief Virtual function used to setup process explorer tree items into a group.
82  */
83  virtual void setupGroup() = 0;
84 
85  protected:
86 
87  ProcessExplorerTree* m_tree; //!< Group parent.
88 
89  std::string m_groupName; //!< The group name.
90 
91  QTreeWidgetItem* m_root; //!< Main item that represents the group.
92  };
93  }
94  }
95 }
96 
97 #endif // __TERRALIB_PROCESS_QT_INTERNAL_ABSTRACTPROCESSTREEGROUP_H
A Abstract QTreeWidgetItem Group of Process Builder items.
ProcessExplorerTree * m_tree
Group parent.
virtual void setupGroup()=0
Virtual function used to setup process explorer tree items into a group.
QTreeWidgetItem * m_root
Main item that represents the group.
virtual ~AbstractProcessTreeGroup()
Virtual destructor.
ProcessTreeItem * addGroupItem(const std::string &itemName, const std::string &iconName)
Add a new item into group.
AbstractProcessTreeGroup(ProcessExplorerTree *parent, const std::string &groupName)
Default constructor.
void buildRootItem()
Function used to build and add the main item in process explorer tree.
A QTreeWidget to view Process Builder items in a tree.
A QTreeWidgetItem to represents a Process Builder items in a tree.
TerraLib.
#define TEPROCESSEXPORT
Definition: Config.h:47