[engraving] replaced QList to std. Part 2
This commit is contained in:
parent
60f303676e
commit
cfc906d130
|
@ -42,18 +42,14 @@ int main()
|
|||
{
|
||||
std::cout << "Hello World" << std::endl;
|
||||
|
||||
struct A {
|
||||
int a = 0;
|
||||
};
|
||||
std::list<int> vec1 = { 1, 2, 3, 4, 5 };
|
||||
std::list<int> vec2 = { 1, 2, 3 };
|
||||
|
||||
std::vector<A> vec;
|
||||
int v = *vec2.end();
|
||||
std::cout << "v: " << v << std::endl;
|
||||
|
||||
A a = value(vec, 0);
|
||||
|
||||
if (std::is_pointer<A>::value) {
|
||||
std::cout << "pointer" << std::endl;
|
||||
} else {
|
||||
std::cout << "not pointer" << std::endl;
|
||||
if (std::equal(vec1.begin(), vec1.end(), vec2.begin())) {
|
||||
std::cout << " equal" << std::endl;
|
||||
}
|
||||
|
||||
std::cout << " Goodbye!" << std::endl;
|
||||
|
|
|
@ -343,7 +343,7 @@ void LayoutMeasure::createMMRest(const LayoutOptions& options, Score* score, Mea
|
|||
// try to find a match in mmr
|
||||
bool found = false;
|
||||
for (EngravingItem* ee : s->annotations()) {
|
||||
if (e->linkList().contains(ee)) {
|
||||
if (mu::contains(e->linkList(), static_cast<EngravingObject*>(ee))) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
|
@ -367,7 +367,7 @@ void LayoutMeasure::createMMRest(const LayoutOptions& options, Score* score, Mea
|
|||
// try to find a match in underlying measure
|
||||
bool found = false;
|
||||
for (EngravingItem* ee : underlyingSeg->annotations()) {
|
||||
if (e->linkList().contains(ee)) {
|
||||
if (mu::contains(e->linkList(), static_cast<EngravingObject*>(ee))) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -2294,7 +2294,7 @@ void Score::deleteItem(EngravingItem* el)
|
|||
|
||||
Tuplet* tuplet = chord->tuplet();
|
||||
if (tuplet) {
|
||||
QList<EngravingObject*> tl = tuplet->linkList();
|
||||
std::list<EngravingObject*> tl = tuplet->linkList();
|
||||
for (EngravingObject* e : rest->linkList()) {
|
||||
DurationElement* de = toDurationElement(e);
|
||||
for (EngravingObject* ee : qAsConst(tl)) {
|
||||
|
@ -3078,7 +3078,7 @@ void Score::cmdDeleteSelection()
|
|||
|
||||
for (EngravingItem* e : el) {
|
||||
// these are the linked elements we are about to delete
|
||||
QList<EngravingObject*> links;
|
||||
std::list<EngravingObject*> links;
|
||||
if (e->links()) {
|
||||
links = *e->links();
|
||||
}
|
||||
|
@ -3122,11 +3122,11 @@ void Score::cmdDeleteSelection()
|
|||
if (deletedSpanners.contains(spanner)) {
|
||||
continue;
|
||||
} else {
|
||||
QList<EngravingObject*> linkedSpanners;
|
||||
std::list<EngravingObject*> linkedSpanners;
|
||||
if (spanner->links()) {
|
||||
linkedSpanners = *spanner->links();
|
||||
} else {
|
||||
linkedSpanners.append(spanner);
|
||||
linkedSpanners.push_back(spanner);
|
||||
}
|
||||
for (EngravingObject* se : qAsConst(linkedSpanners)) {
|
||||
deletedSpanners.append(toSpanner(se));
|
||||
|
@ -5542,7 +5542,7 @@ void Score::undoAddElement(EngravingItem* element, bool ctrlModifier)
|
|||
//
|
||||
if (element->isSlur() && sp != nsp) {
|
||||
if (sp->startElement()) {
|
||||
QList<EngravingObject*> sel = sp->startElement()->linkList();
|
||||
std::list<EngravingObject*> sel = sp->startElement()->linkList();
|
||||
for (EngravingObject* ee : qAsConst(sel)) {
|
||||
EngravingItem* e = static_cast<EngravingItem*>(ee);
|
||||
if (e->score() == nsp->score() && e->track() == nsp->track()) {
|
||||
|
@ -5552,7 +5552,7 @@ void Score::undoAddElement(EngravingItem* element, bool ctrlModifier)
|
|||
}
|
||||
}
|
||||
if (sp->endElement()) {
|
||||
QList<EngravingObject*> eel = sp->endElement()->linkList();
|
||||
std::list<EngravingObject*> eel = sp->endElement()->linkList();
|
||||
for (EngravingObject* ee : qAsConst(eel)) {
|
||||
EngravingItem* e = static_cast<EngravingItem*>(ee);
|
||||
if (e->score() == nsp->score() && e->track() == nsp->track2()) {
|
||||
|
@ -5981,7 +5981,7 @@ void Score::undoInsertTime(const Fraction& tick, const Fraction& len)
|
|||
}
|
||||
}
|
||||
for (Spanner* ss : sl) {
|
||||
if (ss->linkList().contains(s)) {
|
||||
if (mu::contains(ss->linkList(), static_cast<EngravingObject*>(s))) {
|
||||
append = false;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -1031,7 +1031,7 @@ bool EngravingItem::readProperties(XmlReader& e)
|
|||
}
|
||||
#endif
|
||||
Q_ASSERT(!_links->contains(this));
|
||||
_links->append(this);
|
||||
_links->push_back(this);
|
||||
} else if (tag == "tick") {
|
||||
int val = e.readInt();
|
||||
if (val >= 0) {
|
||||
|
|
|
@ -120,7 +120,7 @@ EngravingObject::~EngravingObject()
|
|||
}
|
||||
|
||||
if (_links) {
|
||||
_links->removeOne(this);
|
||||
_links->remove(this);
|
||||
if (_links->empty()) {
|
||||
delete _links;
|
||||
_links = 0;
|
||||
|
@ -649,11 +649,11 @@ void EngravingObject::linkTo(EngravingObject* element)
|
|||
} else {
|
||||
_links = new LinkedObjects(score());
|
||||
}
|
||||
_links->append(element);
|
||||
_links->push_back(element);
|
||||
element->_links = _links;
|
||||
}
|
||||
Q_ASSERT(!_links->contains(this));
|
||||
_links->append(this);
|
||||
_links->push_back(this);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
|
@ -667,7 +667,7 @@ void EngravingObject::unlink()
|
|||
}
|
||||
|
||||
Q_ASSERT(_links->contains(this));
|
||||
_links->removeOne(this);
|
||||
_links->remove(this);
|
||||
|
||||
// if link list is empty, remove list
|
||||
if (_links->size() <= 1) {
|
||||
|
@ -692,7 +692,7 @@ bool EngravingObject::isLinked(EngravingObject* se) const
|
|||
}
|
||||
|
||||
if (se == nullptr) {
|
||||
return !_links->isEmpty() && _links->mainElement() != this;
|
||||
return !_links->empty() && _links->mainElement() != this;
|
||||
}
|
||||
|
||||
return _links->contains(se);
|
||||
|
@ -713,13 +713,13 @@ void EngravingObject::undoUnlink()
|
|||
// linkList
|
||||
//---------------------------------------------------------
|
||||
|
||||
QList<EngravingObject*> EngravingObject::linkList() const
|
||||
std::list<EngravingObject*> EngravingObject::linkList() const
|
||||
{
|
||||
QList<EngravingObject*> el;
|
||||
std::list<EngravingObject*> el;
|
||||
if (_links) {
|
||||
el = *_links;
|
||||
} else {
|
||||
el.append(const_cast<EngravingObject*>(this));
|
||||
el.push_back(const_cast<EngravingObject*>(this));
|
||||
}
|
||||
return el;
|
||||
}
|
||||
|
|
|
@ -275,7 +275,7 @@ public:
|
|||
void writeProperty(XmlWriter& xml, Pid id) const;
|
||||
void writeStyledProperties(XmlWriter&) const;
|
||||
|
||||
QList<EngravingObject*> linkList() const;
|
||||
std::list<EngravingObject*> linkList() const;
|
||||
|
||||
void linkTo(EngravingObject*);
|
||||
void unlink();
|
||||
|
|
|
@ -53,6 +53,11 @@ void LinkedObjects::setLid(Score* score, int id)
|
|||
score->linkId(id);
|
||||
}
|
||||
|
||||
bool LinkedObjects::contains(const EngravingObject* o) const
|
||||
{
|
||||
return std::find(this->begin(), this->end(), o) != this->end();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// mainElement
|
||||
// Returns "main" linked element which is expected to
|
||||
|
@ -61,12 +66,12 @@ void LinkedObjects::setLid(Score* score, int id)
|
|||
|
||||
EngravingObject* LinkedObjects::mainElement()
|
||||
{
|
||||
if (isEmpty()) {
|
||||
if (empty()) {
|
||||
return nullptr;
|
||||
}
|
||||
MasterScore* ms = at(0)->score()->masterScore();
|
||||
const bool elements = at(0)->isEngravingItem();
|
||||
const bool staves = at(0)->isStaff();
|
||||
MasterScore* ms = front()->score()->masterScore();
|
||||
const bool elements = front()->isEngravingItem();
|
||||
const bool staves = front()->isStaff();
|
||||
return *std::min_element(begin(), end(), [ms, elements, staves](EngravingObject* s1, EngravingObject* s2) {
|
||||
if (s1->score() == ms && s2->score() != ms) {
|
||||
return true;
|
||||
|
|
|
@ -22,12 +22,12 @@
|
|||
#ifndef MU_ENGRAVING_LINKEDOBJECTS_H
|
||||
#define MU_ENGRAVING_LINKEDOBJECTS_H
|
||||
|
||||
#include <QList>
|
||||
#include <list>
|
||||
|
||||
#include "engravingobject.h"
|
||||
|
||||
namespace Ms {
|
||||
class LinkedObjects : public QList<EngravingObject*>
|
||||
class LinkedObjects : public std::list<EngravingObject*>
|
||||
{
|
||||
int _lid; // unique id for every linked list
|
||||
|
||||
|
@ -38,6 +38,8 @@ public:
|
|||
void setLid(Score*, int val);
|
||||
int lid() const { return _lid; }
|
||||
|
||||
bool contains(const EngravingObject* o) const;
|
||||
|
||||
EngravingObject* mainElement();
|
||||
};
|
||||
}
|
||||
|
|
|
@ -262,7 +262,7 @@ void SlurSegment::changeAnchor(EditData& ed, EngravingItem* element)
|
|||
EngravingItem* se = 0;
|
||||
EngravingItem* ee = 0;
|
||||
if (scr) {
|
||||
QList<EngravingObject*> sel = scr->linkList();
|
||||
std::list<EngravingObject*> sel = scr->linkList();
|
||||
for (EngravingObject* lcr : qAsConst(sel)) {
|
||||
EngravingItem* le = toEngravingItem(lcr);
|
||||
if (le->score() == sp->score() && le->track() == sp->track()) {
|
||||
|
@ -272,7 +272,7 @@ void SlurSegment::changeAnchor(EditData& ed, EngravingItem* element)
|
|||
}
|
||||
}
|
||||
if (ecr) {
|
||||
QList<EngravingObject*> sel = ecr->linkList();
|
||||
std::list<EngravingObject*> sel = ecr->linkList();
|
||||
for (EngravingObject* lcr : qAsConst(sel)) {
|
||||
EngravingItem* le = toEngravingItem(lcr);
|
||||
if (le->score() == sp->score() && le->track() == sp->track2()) {
|
||||
|
|
|
@ -919,7 +919,7 @@ bool Staff::readProperties(XmlReader& e)
|
|||
}
|
||||
// not using unlink() here as it may delete _links
|
||||
// a pointer to which is stored also in XmlReader.
|
||||
_links->removeOne(this);
|
||||
_links->remove(this);
|
||||
_links = nullptr;
|
||||
}
|
||||
if (st && st != this) {
|
||||
|
|
|
@ -877,7 +877,7 @@ bool AddElement::isFiltered(UndoCommand::Filter f, const EngravingItem* target)
|
|||
case Filter::AddElement:
|
||||
return target == element;
|
||||
case Filter::AddElementLinked:
|
||||
return target->linkList().contains(element);
|
||||
return mu::contains(target->linkList(), static_cast<EngravingObject*>(element));
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1029,7 +1029,7 @@ bool RemoveElement::isFiltered(UndoCommand::Filter f, const EngravingItem* targe
|
|||
case Filter::RemoveElement:
|
||||
return target == element;
|
||||
case Filter::RemoveElementLinked:
|
||||
return target->linkList().contains(element);
|
||||
return mu::contains(target->linkList(), static_cast<EngravingObject*>(element));
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -2662,14 +2662,14 @@ void LinkUnlink::link()
|
|||
le->front()->setLinks(le);
|
||||
}
|
||||
mustDelete = false;
|
||||
le->append(e);
|
||||
le->push_back(e);
|
||||
e->setLinks(le);
|
||||
}
|
||||
|
||||
void LinkUnlink::unlink()
|
||||
{
|
||||
Q_ASSERT(le->contains(e));
|
||||
le->removeOne(e);
|
||||
le->remove(e);
|
||||
if (le->size() == 1) {
|
||||
le->front()->setLinks(0);
|
||||
mustDelete = true;
|
||||
|
|
|
@ -1202,7 +1202,7 @@ public:
|
|||
|
||||
bool isFiltered(UndoCommand::Filter f, const EngravingItem* target) const override
|
||||
{
|
||||
return f == UndoCommand::Filter::ChangePropertyLinked && target->linkList().contains(element);
|
||||
return f == UndoCommand::Filter::ChangePropertyLinked && mu::contains(target->linkList(), element);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1212,8 +1212,8 @@ public:
|
|||
|
||||
class ChangeBracketProperty : public ChangeProperty
|
||||
{
|
||||
Staff* staff;
|
||||
int level;
|
||||
Staff* staff = nullptr;
|
||||
int level = 0;
|
||||
|
||||
void flip(EditData*) override;
|
||||
|
||||
|
|
Loading…
Reference in a new issue