From 9344515d2abb4970e6ee6f8eef51235f202faec7 Mon Sep 17 00:00:00 2001 From: Kellermorph Date: Mon, 30 Mar 2026 21:14:48 +0200 Subject: [PATCH] Refactor isFull method to simplify max_slaves logic --- sources/qetgraphicsitem/masterelement.cpp | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/sources/qetgraphicsitem/masterelement.cpp b/sources/qetgraphicsitem/masterelement.cpp index 9d5f59f82..64504bb09 100644 --- a/sources/qetgraphicsitem/masterelement.cpp +++ b/sources/qetgraphicsitem/masterelement.cpp @@ -190,27 +190,20 @@ void MasterElement::aboutDeleteXref() */ bool MasterElement::isFull() const { - // Lese das Limit aus den XML-Daten (kindInformations) - // Die value() Funktion im DiagramContext nimmt nur einen Parameter! + // Set default value to -1 (unlimited slaves) + int max_slaves = -1; 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; + // Overwrite default if a valid limit is defined in the element's XML + if (max_slaves_variant.isValid() && !max_slaves_variant.toString().isEmpty()) { + max_slaves = max_slaves_variant.toInt(); } - // In Integer umwandeln - int max_slaves = max_slaves_variant.toInt(); - - // Wenn Limit -1 ist, ist der Master nie voll + // If no limit is set (-1), the master is never full 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; + // Return true if current connected elements reached or exceeded the limit + return connected_elements.size() >= max_slaves; }