RioEngine  0.1
My first attempt to create a 3D WYSIWYG Game Engine
qpropertybrowser.h
Go to the documentation of this file.
1 //--------------------------------------------------------------- @License begins
2 // RioEngine: The late night Coke -without whores- debugging sessions
3 // 2012-2015 Leopoldo Lomas Flores. Torreon, Coahuila. MEXICO
4 // leopoldolomas [at] gmail
5 // www.rioengine.com
6 // www.leopoldolomas.info
7 // "You have a problem, you face it like a man."
8 //
9 // This is free and unencumbered software released into the public domain.
10 //
11 // Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
12 // software, either in source code form or as a compiled binary, for any purpose,
13 // commercial or non-commercial, and by any means.
14 //
15 // In jurisdictions that recognize copyright laws, the author or authors of this
16 // software dedicate any and all copyright interest in the software to the public
17 // domain. We make this dedication for the benefit of the public at large and to
18 // the detriment of our heirs and successors. We intend this dedication to be
19 // an overt act of relinquishment in perpetuity of all present and future
20 // rights to this software under copyright law.
21 //
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS
24 // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
26 // CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27 // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 //--------------------------------------------------------------- @License ends
29 
30 #ifndef RIOENGINE_EDITOR_QPROPERTYBROWSER_QPROPERTYBROWSER_H_
31 #define RIOENGINE_EDITOR_QPROPERTYBROWSER_QPROPERTYBROWSER_H_
32 
33 #include <QWidget>
34 #include <QModelIndex>
35 
36 class QListView;
38 class QObjectModel;
39 class QObjectInspector;
40 
41 namespace Ui {
42 class QPropertyBrowser;
43 }
44 
45 class QPropertyBrowser : public QWidget {
46  Q_OBJECT
47 
48 public:
49  QPropertyBrowser(QWidget *parent = 0);
50 
52 
53  bool containsChild(QObject* child);
54  void addChild(QObject* child, bool select_immediately = true);
55  void removeChildInInspector(std::string child);
56  void setSelectedChild(QObject* child);
57  void clearSelection();
58  void clearModel();
59  void update();
60 
62 
63 private:
64  void selectChildInInspector(std::string id);
65 
66  Ui::QPropertyBrowser* m_ui;
67  QObjectModel* m_model;
68  QObjectInspector* m_listView;
69  QPropertyEditorWidget* m_propertyEditor;
70 
71 public slots:
72  void newObjectSelected(const QModelIndex& index);
73 
74 private slots:
75  void onSelectedObjectInInspector(QModelIndex index);
76 
77 Q_SIGNALS:
78  void selectedObjectOnInspector(QString);
79 };
80 
81 #endif // RIOENGINE_EDITOR_QPROPERTYBROWSER_QPROPERTYBROWSER_H_
Definition: about.h:6
void newObjectSelected(const QModelIndex &index)
The QPropertyEditorWidget offers an easy to use mechanism to visualize properties of a class inherite...
void selectedObjectOnInspector(QString)
void addChild(QObject *child, bool select_immediately=true)
void setSelectedChild(QObject *child)
QPropertyBrowser(QWidget *parent=0)
QPropertyEditorWidget * getQPropertyEditorWidget() const
bool containsChild(QObject *child)
void removeChildInInspector(std::string child)