Skip to content

Commit

Permalink
When a new shape/component is added then update the inherited compone…
Browse files Browse the repository at this point in the history
…nts.
  • Loading branch information
adeas31 committed Nov 22, 2015
1 parent 5fac6e1 commit 56e4a7d
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 11 deletions.
42 changes: 31 additions & 11 deletions OMEdit/OMEditGUI/Component/Component.cpp
Expand Up @@ -348,7 +348,7 @@ Component::Component(Component *pComponent, Component *pParentComponent)
setToolTip(tr("<b>%1</b> %2<br /><br />Component declared in %3").arg(mpComponentInfo->getClassName()).arg(mpComponentInfo->getName())
.arg(mpReferenceComponent->getGraphicsView()->getModelWidget()->getLibraryTreeItem()->getNameStructure()));
connect(mpReferenceComponent, SIGNAL(added()), SLOT(referenceComponentAdded()));
connect(mpReferenceComponent, SIGNAL(transformHasChanged()), SLOT(referenceComponentChanged()));
connect(mpReferenceComponent, SIGNAL(transformHasChanged()), SLOT(referenceComponentTransformHasChanged()));
connect(mpReferenceComponent, SIGNAL(displayTextChanged()), SIGNAL(displayTextChanged()));
connect(mpReferenceComponent, SIGNAL(deleted()), SLOT(referenceComponentDeleted()));
}
Expand Down Expand Up @@ -392,10 +392,11 @@ Component::Component(Component *pComponent, GraphicsView *pGraphicsView)
connect(mpLibraryTreeItem, SIGNAL(unLoaded(LibraryTreeItem*)), SLOT(handleUnloaded()));
}
connect(mpReferenceComponent, SIGNAL(added()), SLOT(referenceComponentAdded()));
connect(mpReferenceComponent, SIGNAL(transformHasChanged()), SLOT(referenceComponentChanged()));
connect(mpReferenceComponent, SIGNAL(transformHasChanged()), SLOT(referenceComponentTransformHasChanged()));
connect(mpReferenceComponent, SIGNAL(transformHasChanged()), SLOT(updateOriginItem()));
connect(mpReferenceComponent, SIGNAL(transformHasChanged()), SIGNAL(transformChange()));
connect(mpReferenceComponent, SIGNAL(displayTextChanged()), SIGNAL(displayTextChanged()));
connect(mpReferenceComponent, SIGNAL(changed()), SLOT(referenceComponentChanged()));
connect(mpReferenceComponent, SIGNAL(deleted()), SLOT(referenceComponentDeleted()));
}

Expand Down Expand Up @@ -709,6 +710,14 @@ void Component::emitTransformHasChanged()
emit transformHasChanged();
}

void Component::emitChanged()
{
if (mpGraphicsView->getViewType() == StringHandler::Icon) {
mpGraphicsView->getModelWidget()->getLibraryTreeItem()->handleIconUpdated();
}
emit changed();
}

void Component::emitDeleted()
{
if (mpGraphicsView->getViewType() == StringHandler::Icon) {
Expand Down Expand Up @@ -870,6 +879,10 @@ void Component::createDefaultComponent()
mpDefaultComponentText->setVisible(false);
}

/*!
* \brief Component::drawComponent
* Draws the Component.
*/
void Component::drawComponent()
{
if (!mpLibraryTreeItem) { // if built in type e.g Real, Boolean etc.
Expand Down Expand Up @@ -1278,19 +1291,15 @@ void Component::handleShapeAdded()
Component *pComponent = getRootParentComponent();
pComponent->removeChildren();
pComponent->drawComponent();
if (mpGraphicsView->getViewType() == StringHandler::Icon) {
mpGraphicsView->getModelWidget()->getLibraryTreeItem()->handleIconUpdated();
}
pComponent->emitChanged();
}

void Component::handleComponentAdded()
{
Component *pComponent = getRootParentComponent();
pComponent->removeChildren();
pComponent->drawComponent();
if (mpGraphicsView->getViewType() == StringHandler::Icon) {
mpGraphicsView->getModelWidget()->getLibraryTreeItem()->handleIconUpdated();
}
pComponent->emitChanged();
}

/*!
Expand All @@ -1311,10 +1320,10 @@ void Component::referenceComponentAdded()
}

/*!
* \brief Component::referenceComponentChanged
* Updates the referenced components when reference component is changed.
* \brief Component::referenceComponentTransformHasChanged
* Updates the referenced components when reference component transform has changed.
*/
void Component::referenceComponentChanged()
void Component::referenceComponentTransformHasChanged()
{
Component *pComponent = qobject_cast<Component*>(sender());
if (pComponent) {
Expand All @@ -1326,6 +1335,17 @@ void Component::referenceComponentChanged()
}
}

/*!
* \brief Component::referenceComponentChanged
* Updates the referenced components when reference component is changed.
*/
void Component::referenceComponentChanged()
{
removeChildren();
drawComponent();
emitChanged();
}

/*!
* \brief Component::referenceComponentDeleted
* Delets the referenced components when reference component is deleted.
Expand Down
3 changes: 3 additions & 0 deletions OMEdit/OMEditGUI/Component/Component.h
Expand Up @@ -177,6 +177,7 @@ class Component : public QObject, public QGraphicsItem
void emitAdded();
void emitTransformChange() {emit transformChange();}
void emitTransformHasChanged();
void emitChanged();
void emitDeleted();
void componentNameHasChanged();
void componentParameterHasChanged();
Expand Down Expand Up @@ -251,6 +252,7 @@ class Component : public QObject, public QGraphicsItem
void transformChange();
void transformHasChanged();
void displayTextChanged();
void changed();
void deleted();
public slots:
void updatePlacementAnnotation();
Expand All @@ -260,6 +262,7 @@ public slots:
void handleShapeAdded();
void handleComponentAdded();
void referenceComponentAdded();
void referenceComponentTransformHasChanged();
void referenceComponentChanged();
void referenceComponentDeleted();
void prepareResizeComponent(ResizerItem *pResizerItem);
Expand Down

0 comments on commit 56e4a7d

Please sign in to comment.