1 // Object Viewer Qt GUI Editor plugin <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This source file has been modified by the following contributors:
5 // Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter) <dfighter1985@gmail.com>
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Affero General Public License as
9 // published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU Affero General Public License for more details.
17 // You should have received a copy of the GNU Affero General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
23 #include "ui_widget_hierarchy.h"
29 class CInterfaceGroup
;
32 class QTreeWidgetItem
;
36 class WidgetHierarchy
: public QWidget
, public Ui::WidgetHierarchyTree
40 WidgetHierarchy( QWidget
*parent
= NULL
);
43 void setMasterGroup( const std::string
&name
){ masterGroup
= name
; }
45 void clearHierarchy();
46 void buildHierarchy( std::string
&masterGroup
);
48 void onWidgetDeleted( const std::string
&id
);
49 void onWidgetAdded( const std::string
&id
);
50 void onWidgetMoved( const std::string
&oldid
, const std::string
&newid
);
52 void getCurrentGroup( QString
&g
);
55 void buildHierarchy( QTreeWidgetItem
*parent
, NLGUI::CInterfaceGroup
*group
);
56 QTreeWidgetItem
* findItem( const std::string
&id
);
57 QTreeWidgetItem
* findParent( const std::string
&id
);
58 void selectItem( QTreeWidgetItem
*item
);
62 void onSelectionChanged();
65 void onItemDblClicked( QTreeWidgetItem
*item
);
68 std::string currentSelection
;
69 std::string masterGroup
;
70 std::map
< std::string
, QTreeWidgetItem
* > widgetHierarchyMap
;