Developer documentation | Axl-2.5.1

axlInspectorObjectManagerTree.h
Go to the documentation of this file.
1 /* axlInspectorObjectManagerTree.h ---
2  *
3  * Author: Julien Wintz
4  * Copyright (C) 2008 - Julien Wintz, Inria.
5  * Created: Thu Mar 17 18:33:35 2011 (+0100)
6  * Version: $Id$
7  * Last-Updated: Fri Mar 18 10:28:52 2011 (+0100)
8  * By: Julien Wintz
9  * Update #: 19
10  */
11 
12 /* Commentary:
13  *
14  */
15 
16 /* Change log:
17  *
18  */
19 
20 #ifndef AXLINSPECTOROBJECTMANAGERTREE_H
21 #define AXLINSPECTOROBJECTMANAGERTREE_H
22 
23 #include "axlGuiExport.h"
24 
25 #include <QtWidgets>
26 
27 #include <axlCore/axlDataDynamic.h>
28 
29 class axlAbstractData;
30 class dtkAbstractData;
31 
34 
35 class axlInspectorObjectManagerTreePrivate;
36 
38 {
39  Q_OBJECT
40 
41 public:
42  axlInspectorObjectManagerTree(QWidget *parent = 0);
44 
46  void remove(dtkAbstractData *data);
47  void setController(axlInspectorObjectController *controller);
48 
49  QList<dtkAbstractData *> dataSet(void);
50 
51  void keyPressEvent(QKeyEvent *event);
52 
53  void removeAllItems(void);
54 
55 signals:
56  void inserted(void);
57  void dataSetRemoved(QList<dtkAbstractData *> dataSetRemoved);
58  void selected(dtkAbstractData *data);
59  void dataSetSelected(QList<dtkAbstractData *> data);
60  void stateChanged(dtkAbstractData *data, int mode);
61  void actorVisibilityChanged(dtkAbstractData *data, bool actorVisibility);
62 
63 public slots:
64  void onAllItemClickStatedChanged();
65  void onDoubleClickStateChanged(QTreeWidgetItem* currentItem, int column);
66  void onItemClickedStateChanged(QTreeWidgetItem* currentItem, int column);
67  void onItemExpanded(QTreeWidgetItem *);
68  void onStateChanged(dtkAbstractData *data, int mode);
69  void setAppendMode(bool append);
70  void onDataRemoved(QList<dtkAbstractData *> dataToRemoved);
71  void remove(QObject *data);
72  void onVisibilityHeaderClick(int index);
73 
74 
75 private:
76  void updateAxlTreeWidgetItem(axlInspectorObjectManagerTreeItem *axlCurrentItem, int mode);
77 
78 private://recursive
79  void itemVisibilityChanged(QTreeWidgetItem *currentItem, bool itemVisibility);
80  void removeTreeItems(dtkAbstractData *data, QList<dtkAbstractData *> &dataNotDynamicList, QList<axlDataDynamic *> &dataDynamicList);
81  void deleteTreeWidgetItems(QList<QTreeWidgetItem*> selectedItems);
82 
83 private:
84  axlInspectorObjectManagerTreePrivate *d;
85 };
86 
87 #endif //AXLINSPECTOROBJECTMANAGERTREE_H
#define AXLGUI_EXPORT
Definition: axlGuiExport2.h:15
Class axlAbstractData defines an API for all type of axel data.