Beispiel #1
0
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);
}
Beispiel #2
0
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);
}