35 #include "ui_qpropertybrowser.h"
47 m_propertyEditor->setAlternatingRowColors(
true);
49 QSplitter* splitter =
new QSplitter(
this);
50 splitter->setOrientation(Qt::Vertical);
51 splitter->addWidget(m_listView);
52 splitter->addWidget(m_propertyEditor);
53 splitter->setStretchFactor(1, 1);
55 m_listView->setModel(m_model);
56 connect(m_listView, SIGNAL(clicked(QModelIndex)),
57 this, SLOT(onSelectedObjectInInspector(QModelIndex)));
59 m_ui->verticalLayout->addWidget(splitter);
65 return m_propertyEditor;
72 int index = m_model->
children()->indexOf(child);
80 if (select_immediately) {
88 if (select_immediately) {
100 selectChildInInspector(child->objectName().toStdString());
119 void QPropertyBrowser::selectChildInInspector(std::string
id) {
123 for (
int i = 0; i < model->
children()->count(); i++) {
124 if (model->
children()->at(i)->objectName().toStdString() == id) {
130 QModelIndex Index = model->index(index, 0);
131 if ( Index.isValid() ) {
132 m_listView->selectionModel()->select( Index, QItemSelectionModel::Select );
142 for (
int i = 0; i < model->
children()->count(); i++) {
143 if (model->
children()->at(i)->objectName().toStdString() == id) {
159 m_propertyEditor->setFocus();
160 emit m_model->dataChanged(QModelIndex(), QModelIndex());
166 void QPropertyBrowser::onSelectedObjectInInspector(QModelIndex index) {
167 QVariant value = m_model->
data(index, 0);
void removeChild(QString child_name)
QVariant data(const QModelIndex &index, int role) const
QList< QObject * > * children() const
void newObjectSelected(const QModelIndex &index)
void addChild(QObject *child)
void selectedObjectOnInspector(QString)
void addChild(QObject *child, bool select_immediately=true)
void setSelectedChild(QObject *child)
virtual void unselectAll()
QPropertyBrowser(QWidget *parent=0)
QPropertyEditorWidget * getQPropertyEditorWidget() const
bool containsChild(QObject *child)
void removeChildInInspector(std::string child)