void NodeElement::changeFoldState() { mIsFolded = !mIsFolded; for (QGraphicsItem* childItem : childItems()) { NodeElement* curItem = dynamic_cast<NodeElement*>(childItem); if (curItem) { curItem->setVisible(!mIsFolded); curItem->setLinksVisible(!mIsFolded); } } if (mIsFolded) { mCurUnfoldedContents = mContents; mFoldedContents.moveTo(pos()); setGeometry(mFoldedContents); } else { mCurUnfoldedContents.moveTo(pos()); setGeometry(mCurUnfoldedContents); } mGraphicalAssistApi.mutableGraphicalRepoApi().setProperty(mId, "folded", mIsFolded ? "true" : "false"); NodeElement* parent = dynamic_cast<NodeElement*>(parentItem()); if (parent) { parent->resize(); } updateLabels(); }
void NodeElement::setLinksVisible(bool isVisible) { for (EdgeElement *curEdge : mEdgeList) { curEdge->setVisible(isVisible); } for (QGraphicsItem* childItem : childItems()) { NodeElement* curItem = dynamic_cast<NodeElement*>(childItem); if (curItem) { curItem->setLinksVisible(isVisible); } } }