mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-04-04 02:59:59 +02:00
Refactor isFull method to simplify max_slaves logic
This commit is contained in:
@@ -190,27 +190,20 @@ void MasterElement::aboutDeleteXref()
|
|||||||
*/
|
*/
|
||||||
bool MasterElement::isFull() const
|
bool MasterElement::isFull() const
|
||||||
{
|
{
|
||||||
// Lese das Limit aus den XML-Daten (kindInformations)
|
// Set default value to -1 (unlimited slaves)
|
||||||
// Die value() Funktion im DiagramContext nimmt nur einen Parameter!
|
int max_slaves = -1;
|
||||||
QVariant max_slaves_variant = kindInformations().value("max_slaves");
|
QVariant max_slaves_variant = kindInformations().value("max_slaves");
|
||||||
|
|
||||||
// Wenn der Wert nicht existiert oder leer ist, ist das Bauteil nie voll
|
// Overwrite default if a valid limit is defined in the element's XML
|
||||||
if (!max_slaves_variant.isValid() || max_slaves_variant.toString().isEmpty()) {
|
if (max_slaves_variant.isValid() && !max_slaves_variant.toString().isEmpty()) {
|
||||||
return false;
|
max_slaves = max_slaves_variant.toInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
// In Integer umwandeln
|
// If no limit is set (-1), the master is never full
|
||||||
int max_slaves = max_slaves_variant.toInt();
|
|
||||||
|
|
||||||
// Wenn Limit -1 ist, ist der Master nie voll
|
|
||||||
if (max_slaves == -1) {
|
if (max_slaves == -1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wenn die Anzahl der verbundenen Elemente größer oder gleich dem Limit ist, ist er voll
|
// Return true if current connected elements reached or exceeded the limit
|
||||||
if (connected_elements.size() >= max_slaves) {
|
return connected_elements.size() >= max_slaves;
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user