Loading...
Searching...
No Matches
FolderItem.h
Go to the documentation of this file.
1/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5TerraLib is free software: you can redistribute it and/or modify
6it under the terms of the GNU Lesser General Public License as published by
7the Free Software Foundation, either version 3 of the License,
8or (at your option) any later version.
9
10TerraLib is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU Lesser General Public License for more details.
14
15You should have received a copy of the GNU Lesser General Public License
16along with TerraLib. See COPYING. If not, write to
17TerraLib Team at <terralib-team@terralib.org>.
18*/
19
20/*!
21 * \file FolderItem.h
22 *
23 * \brief Defines a folder item, just containing LayerItem.
24 */
25#ifndef __TERRALIB_QT_WIDGETS_LAYER_INTERNAL_FOLDERITEM_H
26#define __TERRALIB_QT_WIDGETS_LAYER_INTERNAL_FOLDERITEM_H
27
28#include "TreeItem.h"
29
30 // TerraLib
31#include "../../../../maptools/AbstractLayer.h"
32
33namespace te
34{
35 namespace qt
36 {
37 namespace widgets
38 {
39 /*!
40 * \class FolderItem
41 *
42 * \brief Represents a folder item that contains layers and / or other folders.
43 *
44 * \note The type of the item is "FOLDER".
45 *
46 * \ingroup widgets
47 */
49 {
50 public:
51 /*!
52 * \name Instantiation Methods
53 *
54 * Methods related to creation and destruction of the object.
55 */
56 //@{
57
58 /*!
59 * \brief Constructor.
60 *
61 * \param layer The layer of the item.
62 */
64
65 /*!
66 * \brief Destructor.
67 */
69 //@}
70
71 /*!
72 * \name Reimplementation of TreeItem
73 *
74 * Methods reimplemented of the TreeItem class.
75 */
76 //@{
77 std::string getAsString() const;
78
79 /*!
80 * \brief Returns the layer contained in the item.
81 *
82 * \return The layer contained at the item.
83 */
85
87
88 void setVisible(const VISIBLE& visible, const bool& updateAncestors = false, const bool& updateDescendents = false);
89
90 Qt::ItemFlags flags();
91 //@}
92
93 /*!
94 * \brief Updates the title of the folder.
95 *
96 * \param title The new item title.
97 */
98 void setTitle(const std::string& title);
99
100 void addChild(TreeItem* item);
101
102 void insertChild(TreeItem* item, const size_t& pos) ;
103
104 protected:
105 te::map::AbstractLayerPtr m_layer; //!< The asbtract layer.
106 };
107 }
108 }
109}
110
111#endif //__TERRALIB_QT_WIDGETS_LAYER_INTERNAL_FOLDERITEM_H
Represents a folder item that contains layers and / or other folders.
Definition: FolderItem.h:49
void setVisible(const VISIBLE &visible, const bool &updateAncestors=false, const bool &updateDescendents=false)
Updates the visibilty state of the item.
VISIBLE isVisible() const
Returns the visibilty state of the item.
void setTitle(const std::string &title)
Updates the title of the folder.
void insertChild(TreeItem *item, const size_t &pos)
Inserts a child item at the desired position.
FolderItem(te::map::AbstractLayerPtr layer)
Constructor.
void addChild(TreeItem *item)
Adds a child to the item. The child is added to the end of the list.
std::string getAsString() const
Returns the label of the item to be presented in a Qt view.
Qt::ItemFlags flags()
Returns the flags to be used by the model.
te::map::AbstractLayerPtr getLayer() const
Returns the layer contained in the item.
te::map::AbstractLayerPtr m_layer
The asbtract layer.
Definition: FolderItem.h:105
Defines a hierarchical structure.
Definition: TreeItem.h:73
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr
VISIBLE
Defines the visibility of an item.
Definition: TreeItem.h:59
TerraLib.
Defines an hierarquical structure.
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63