Loading...
Searching...
No Matches
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
35namespace 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 */
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.
ProcessTreeItem * addGroupItem(const std::string &itemName, const std::string &iconName)
Add a new item into group.
virtual ~AbstractProcessTreeGroup()
Virtual destructor.
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