X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fconnector.cpp;h=690a57bc21bb553e05b249905b4bf5b39ef20ae3;hb=033732b500a35f3737bad515349d884cb3f123f0;hp=837ec80a33563ab7d928de367c51b28234f8b46a;hpb=c435423919a20a87d100e1ee4cd1fc6ce223040c;p=libs%2Fgltk.git diff --git a/source/connector.cpp b/source/connector.cpp index 837ec80..690a57b 100644 --- a/source/connector.cpp +++ b/source/connector.cpp @@ -21,26 +21,28 @@ Connector::~Connector() void Connector::connect(const Logic &logic) { - const list &logic_acts=logic.get_actions(); + const list &logic_binds = logic.get_bindings(); - for(list::const_iterator i=logic_acts.begin(); i!=logic_acts.end(); ++i) + for(list::const_iterator i=logic_binds.begin(); i!=logic_binds.end(); ++i) { - map::const_iterator j=actions.find(i->type); + map::const_iterator j = actions.find(i->type); if(j!=actions.end()) j->second->connect(*this, *i->wdg, i->data); + else + throw KeyError("Unknown binding type", i->type); } } void Connector::add(const string &type, ConnAction *act) { - map::iterator i=actions.find(type); + map::iterator i = actions.find(type); if(i!=actions.end()) { delete i->second; - i->second=act; + i->second = act; } else - actions[type]=act; + actions[type] = act; } } // namespace GLtk