Skip to content

Commit

Permalink
Show only public components (OpenModelica#12554)
Browse files Browse the repository at this point in the history
OpenModelica#12548
Also list the public components from extends
  • Loading branch information
adeas31 committed Jun 11, 2024
1 parent 1490b4f commit 9e58230
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 18 deletions.
35 changes: 18 additions & 17 deletions OMEdit/OMEditLIB/Annotations/LineAnnotation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1993,31 +1993,32 @@ QModelIndex ExpandableConnectorTreeModel::expandableConnectorTreeItemIndex(const
* \param pModelElement
* \param pParentExpandableConnectorTreeItem
*/
void ExpandableConnectorTreeModel::createExpandableConnectorTreeItem(ModelInstance::Component *pModelComponent, ExpandableConnectorTreeItem *pParentExpandableConnectorTreeItem)
void ExpandableConnectorTreeModel::createExpandableConnectorTreeItem(ModelInstance::Element *pModelElement, ExpandableConnectorTreeItem *pParentExpandableConnectorTreeItem)
{
StringHandler::ModelicaClasses restriction = StringHandler::Model;
if (pModelComponent->getModel()) {
restriction = StringHandler::getModelicaClassType(pModelComponent->getModel()->getRestriction());
if (pModelElement->getModel()) {
restriction = StringHandler::getModelicaClassType(pModelElement->getModel()->getRestriction());
}
ExpandableConnectorTreeItem *pExpandableConnectorTreeItem = 0;
if (pModelElement->isComponent()) {
pExpandableConnectorTreeItem = new ExpandableConnectorTreeItem(pModelElement->getName(), pModelElement->getDimensions().isArray(),
pModelElement->getDimensions().getTypedDimensions(), restriction, false, pParentExpandableConnectorTreeItem);
int row = pParentExpandableConnectorTreeItem->getChildren().size();
QModelIndex index = expandableConnectorTreeItemIndex(pParentExpandableConnectorTreeItem);
beginInsertRows(index, row, row);
pParentExpandableConnectorTreeItem->insertChild(row, pExpandableConnectorTreeItem);
endInsertRows();
}
ExpandableConnectorTreeItem *pExpandableConnectorTreeItem = new ExpandableConnectorTreeItem(pModelComponent->getName(), pModelComponent->getDimensions().isArray(),
pModelComponent->getDimensions().getTypedDimensions(),
restriction, false, pParentExpandableConnectorTreeItem);
int row = pParentExpandableConnectorTreeItem->getChildren().size();
QModelIndex index = expandableConnectorTreeItemIndex(pParentExpandableConnectorTreeItem);
beginInsertRows(index, row, row);
pParentExpandableConnectorTreeItem->insertChild(row, pExpandableConnectorTreeItem);
endInsertRows();
if (pModelComponent->getModel()) {
QList<ModelInstance::Element*> elements = pModelComponent->getModel()->getElements();
if (pModelElement->getModel()) {
QList<ModelInstance::Element*> elements = pModelElement->getModel()->getElements();
foreach (auto pChildModelElement, elements) {
if (pChildModelElement->isComponent()) {
auto pChildModelComponent = dynamic_cast<ModelInstance::Component*>(pChildModelElement);
createExpandableConnectorTreeItem(pChildModelComponent, pExpandableConnectorTreeItem);
if (pChildModelElement->isPublic()) {
createExpandableConnectorTreeItem(pChildModelElement, pExpandableConnectorTreeItem ? pExpandableConnectorTreeItem : pParentExpandableConnectorTreeItem);
}
}
}
// create add variable item only if item is expandable connector
if (pExpandableConnectorTreeItem->getRestriction() == StringHandler::ExpandableConnector) {
if (pExpandableConnectorTreeItem && pExpandableConnectorTreeItem->getRestriction() == StringHandler::ExpandableConnector) {
ExpandableConnectorTreeItem *pNewVariableExpandableConnectorTreeItem = new ExpandableConnectorTreeItem(Helper::newVariable, false, QStringList(), StringHandler::Model,
true, pExpandableConnectorTreeItem);
int row = pExpandableConnectorTreeItem->getChildren().size();
Expand Down
2 changes: 1 addition & 1 deletion OMEdit/OMEditLIB/Annotations/LineAnnotation.h
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ class ExpandableConnectorTreeModel : public QAbstractItemModel
Qt::ItemFlags flags(const QModelIndex &index) const override;
QModelIndex findFirstEnabledItem(ExpandableConnectorTreeItem *pExpandableConnectorTreeItem);
QModelIndex expandableConnectorTreeItemIndex(const ExpandableConnectorTreeItem *pExpandableConnectorTreeItem) const;
void createExpandableConnectorTreeItem(ModelInstance::Component *pModelComponent, ExpandableConnectorTreeItem *pParentExpandableConnectorTreeItem);
void createExpandableConnectorTreeItem(ModelInstance::Element *pModelElement, ExpandableConnectorTreeItem *pParentExpandableConnectorTreeItem);
void createExpandableConnectorTreeItem(Element *pElement, ExpandableConnectorTreeItem *pParentExpandableConnectorTreeItem);
private:
CreateConnectionDialog *mpCreateConnectionDialog;
Expand Down

0 comments on commit 9e58230

Please sign in to comment.