mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-03-29 05:49:57 +02:00
Add isFull method to MasterElement class
This commit is contained in:
@@ -183,3 +183,34 @@ void MasterElement::aboutDeleteXref()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief MasterElement::isFull
|
||||||
|
* @return true if the master has reached its maximum number of slaves
|
||||||
|
*/
|
||||||
|
bool MasterElement::isFull() const
|
||||||
|
{
|
||||||
|
// Lese das Limit aus den XML-Daten (kindInformations)
|
||||||
|
// Die value() Funktion im DiagramContext nimmt nur einen Parameter!
|
||||||
|
QVariant max_slaves_variant = kindInformations().value("max_slaves");
|
||||||
|
|
||||||
|
// Wenn der Wert nicht existiert oder leer ist, ist das Bauteil nie voll
|
||||||
|
if (!max_slaves_variant.isValid() || max_slaves_variant.toString().isEmpty()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// In Integer umwandeln
|
||||||
|
int max_slaves = max_slaves_variant.toInt();
|
||||||
|
|
||||||
|
// Wenn Limit -1 ist, ist der Master nie voll
|
||||||
|
if (max_slaves == -1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wenn die Anzahl der verbundenen Elemente größer oder gleich dem Limit ist, ist er voll
|
||||||
|
if (connected_elements.size() >= max_slaves) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user