Notes for implementing the cross-selection for Part Nodes (Romanian only)

Description

1. cand utilizatorul da clic pe un nod "Part" in arbore, inainte de mesajul "externally selected score element" cu "mirror ID"-ul elementului "Part" selectat se mai trimite un mesaj: "current section", cu "route"-ul elementului stocat de controller in "_currentSection";

2. editorul de partitura stocheaza valoarea "curent section", si abia apoi trece la procesarea mesajului "externally selected score element";

3. editorul de partitura deriva "route"-ul primului copil (de tipul "Measure") din valoarea "current section". Exemplu: "-1_1_0_0" devine "-1_1_0_0_0";

4. editorul de partituri obtine toate "hotspot"-urile stocate sub "route"-ul de tip Measure derivat, realizeaza uniunea geometrica a suprafetei pe care o ocupa acestea pe ecran, si transleaza marginea stanga a dreptunghiului astfel obtinut pana in extrema stanga a partiturii;

5. editorul de partituri obtine toate "hotspot"-urile de tip "part" stocate sub "mirror ID"-ul trimis de mesajul "externally selected score element", si verifica, pentru fiecare, daca se intersecteaza cu dreptunghiul obtinut la punctul 4. Primul care se intersecteaza, este facut vizibil. Daca niciun "hotspot" nu se intersecteaza cu dreptunghiul obtinut la punctul 4, atunci primul "hotspot" stocat sub "mirror ID"-ul trimis de mesajul "externally selected score element" este facut vizibil.

Scopul celor de mai sus este ca, atunci cand utilizatorul selecteaza un nod de tipul "Part" in arbore, selectia rezultata in partitura sa reflecte sectiunea ("Section") sa parinte.

Assignee

Claudius Iacob

Reporter

Claudius Iacob

Labels

None

Components

Fix versions

Priority

Lowest
Configure