void Circuit::removeNetClass(NetClass& netclass) { // check if the netclass was added to the circuit if (mNetClasses.value(netclass.getUuid()) != &netclass) { throw LogicError(__FILE__, __LINE__); } // remove netclass from project netclass.removeFromCircuit(); // can throw mNetClasses.remove(netclass.getUuid()); emit netClassRemoved(netclass); }
void Circuit::removeNetClass(NetClass& netclass) throw (Exception) { Q_ASSERT(mNetClasses.contains(netclass.getUuid()) == true); // the netclass cannot be removed if there are already netsignals with that netclass! if (netclass.getNetSignalCount() > 0) { throw RuntimeError(__FILE__, __LINE__, QString("%1:%2") .arg(netclass.getUuid().toStr()).arg(netclass.getNetSignalCount()), QString(tr("There are already signals in the netclass \"%1\"!")) .arg(netclass.getName())); } // remove netclass from project netclass.removeFromCircuit(); mNetClasses.remove(netclass.getUuid()); emit netClassRemoved(netclass); }