Skip to content

Commit

Permalink
ported missing function
Browse files Browse the repository at this point in the history
  • Loading branch information
RomanPudashkin committed Jan 12, 2023
1 parent f2640a0 commit 3f24594
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/engraving/libmscore/engravingobject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -676,6 +676,22 @@ bool EngravingObject::isLinked(EngravingObject* se) const
return _links->contains(se);
}

//---------------------------------------------------------
// findLinkedInScore
/// if exists, returns the linked object in the required
/// score, else returns null
//---------------------------------------------------------

EngravingObject* EngravingObject::findLinkedInScore(Score* score) const
{
if (score == this || !_links || _links->empty()) {
return nullptr;
}
auto findElem = std::find_if(_links->begin(), _links->end(),
[score](EngravingObject* engObj) { return engObj && engObj->score() == score; });
return findElem != _links->end() ? *findElem : nullptr;
}

//---------------------------------------------------------
// undoUnlink
//---------------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions src/engraving/libmscore/engravingobject.h
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,7 @@ class EngravingObject
void linkTo(EngravingObject*);
void unlink();
bool isLinked(EngravingObject* se = nullptr) const;
EngravingObject* findLinkedInScore(Score* score) const;

virtual void undoUnlink();
LinkedObjects* links() const { return _links; }
Expand Down

0 comments on commit 3f24594

Please sign in to comment.