const BindingPtr Bindings::addBinding( const QString& conn /*= QString::null*/, const QString& var /*= QString::null*/, const QString& view /*= QString::null*/, const QString& panel /*= QString::null*/, const QString& templ /*= QString::null*/, const QString& iopin /*= QString::null*/) { Q_ASSERT(d); BindingPtr bp = binding(conn, var, view, panel, templ, iopin); if(!bp.isNull()) { return bp; } bp = BindingPtr(new Binding(conn, var, view, panel, templ, iopin)); addBinding(bp); return bp; }
const BindingPtr Bindings::binding( const QString& conn /*= QString::null*/, const QString& var /*= QString::null*/, const QString& view /*= QString::null*/, const QString& panel /*= QString::null*/, const QString& templ /*= QString::null*/, const QString& iopin /*= QString::null*/) { Q_ASSERT(d); Binding b(conn, var, view, panel, templ, iopin); for(BindingsList::const_iterator it = d->bindings.begin(); it != d->bindings.end(); ++it) { if(**it == b) { return *it; } } return BindingPtr(); }
BindingPtr NumericRangeBinding::manufacture() { return BindingPtr( new NumericRangeBinding() ); }