X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flogic.cpp;h=e9542a6dfb26815f7d4e371911ae65775e991b8b;hb=c8291177b545ec81930603a5915234a60296db51;hp=ae9347019ad14d40ab228a4748f8ce94d67689ab;hpb=8ffcd589660022f05d8b3b1dbb36c0c0aa91954a;p=libs%2Fgltk.git diff --git a/source/logic.cpp b/source/logic.cpp index ae93470..e9542a6 100644 --- a/source/logic.cpp +++ b/source/logic.cpp @@ -1,10 +1,4 @@ -/* $Id$ - -This file is part of libmspgltk -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - +#include #include "logic.h" using namespace std; @@ -13,7 +7,7 @@ namespace Msp { namespace GLtk { Logic::Loader::Loader(Logic &l, const map &w): - logic(l), + DataFile::ObjectLoader(l), widgets(w) { add("bind", &Loader::bind); @@ -21,17 +15,14 @@ Logic::Loader::Loader(Logic &l, const map &w): void Logic::Loader::bind(const string &wdg, const string &data) { - map::const_iterator i=widgets.find(wdg); - if(i==widgets.end()) - throw KeyError("Unknown widget", wdg); - - unsigned colon=data.find(':'); WidgetBinding act; - act.wdg=i->second; - act.type=data.substr(0, colon); + act.wdg = get_item(widgets, wdg); + + string::size_type colon = data.find(':'); + act.type = data.substr(0, colon); if(colon!=string::npos) - act.data=data.substr(colon+1); - logic.bindings.push_back(act); + act.data = data.substr(colon+1); + obj.bindings.push_back(act); } } // namespace GLtk