Skip to content
Snippets Groups Projects
Commit f135749d authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

Special case for ComponentEditor to not to show hidden items of group property.

parent b3c6009e
No related branches found
No related tags found
No related merge requests found
......@@ -134,6 +134,16 @@ void ComponentEditor::onRowsInserted(const QModelIndex &parent, int first, int l
Q_ASSERT(m_d->m_item_to_qtvariantproperty.contains(item));
// special case for "condensed" editor
qDebug() << "AAAA onRowsInserted() -> special case";
if(item->modelType() == Constants::GroupItemType) {
foreach(ParameterizedItem *child, item->childItems()) {
if(m_d->m_item_to_qtvariantproperty.contains(child)) {
m_d->removeQtVariantProperty(m_d->m_item_to_qtvariantproperty[child]);
}
}
}
updateEditor(item, m_d->m_item_to_qtvariantproperty[item]);
}
......@@ -169,6 +179,19 @@ QList<ParameterizedItem *> ComponentEditor::componentItems(ParameterizedItem *it
ParameterizedItem *currentItemInGroup = groupItem->group()->getCurrentItem();
Q_ASSERT(currentItemInGroup);
result.append(currentItemInGroup);
foreach(ParameterizedItem *child, item->childItems()) {
if(child != currentItemInGroup) {
if(m_d->m_item_to_qtvariantproperty.contains(child)) {
m_d->m_item_to_qtvariantproperty[child]->setEnabled(false);
}
} else {
if(m_d->m_item_to_qtvariantproperty.contains(child)) {
m_d->m_item_to_qtvariantproperty[child]->setEnabled(true);
}
}
}
} else {
foreach(ParameterizedItem *child, item->childItems()) {
......
......@@ -152,4 +152,17 @@ QtVariantProperty *ComponentEditorPrivate::createQtVariantProperty(Parameterized
return result;
}
//! removes given qtVariantProperty from browser and all maps
void ComponentEditorPrivate::removeQtVariantProperty(QtVariantProperty *property)
{
m_browser->removeProperty(property);
delete property;
QMap<QtProperty *, ParameterizedItem *>::iterator it = m_qtproperty_to_item.find(property);
if(it != m_qtproperty_to_item.end()) {
ParameterizedItem *item = it.value();
m_item_to_qtvariantproperty.remove(item);
m_qtproperty_to_item.erase(it);
}
}
......@@ -45,6 +45,8 @@ public:
QtVariantProperty *getPropertyForItem(ParameterizedItem *item);
QtVariantProperty *createQtVariantProperty(ParameterizedItem *item);
void removeQtVariantProperty(QtVariantProperty *property);
QtAbstractPropertyBrowser *m_browser;
QtVariantPropertyManager *m_manager;
......
......@@ -31,8 +31,8 @@ TestComponentView::TestComponentView(MainWindow *mainWindow)
, m_model(new SampleModel(this))
, m_treeView(new QTreeView)
, m_editor1(new ComponentEditor)
// , m_editor2(new ComponentEditor)
, m_editor2(0)
, m_editor2(new ComponentEditor)
// , m_editor2(0)
, m_editor3(0)
// , m_editor3(new ComponentEditor)
{
......@@ -43,7 +43,7 @@ TestComponentView::TestComponentView(MainWindow *mainWindow)
hlayout->addWidget(m_editor1);
QVBoxLayout *rightPanel = new QVBoxLayout;
// rightPanel->addWidget(m_editor2);
rightPanel->addWidget(m_editor2);
// rightPanel->addWidget(m_editor3);
hlayout->addLayout(rightPanel);
......@@ -57,7 +57,6 @@ TestComponentView::TestComponentView(MainWindow *mainWindow)
void TestComponentView::onSelectionChanged(const QItemSelection &selected, const QItemSelection &)
{
qDebug() << "TestComponentView::onSelectionChanged" << selected;
return;
QModelIndexList indices = selected.indexes();
......@@ -93,7 +92,7 @@ void TestComponentView::init_editors()
// editors
m_editor1->setPresentationType(ComponentEditorFlags::SHOW_DETAILED | ComponentEditorFlags::BROWSER_TABLE);
// m_editor2->setPresentationType(ComponentEditorFlags::SHOW_DETAILED | ComponentEditorFlags::BROWSER_TABLE);
m_editor2->setPresentationType(ComponentEditorFlags::SHOW_CONDENSED | ComponentEditorFlags::BROWSER_TABLE);
// m_editor3->setPresentationType(ComponentEditorFlags::SHOW_CONDENSED | ComponentEditorFlags::BROWSER_GROUPBOX);
// m_editor1->setItem(m_model->getMultiLayerItem());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment