-/* $Id$
-
-This file is part of libmspgltk
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef MSP_GLTK_LOGIC_H_
#define MSP_GLTK_LOGIC_H_
#include <map>
#include <string>
#include <sigc++/slot.h>
-#include <msp/core/except.h>
-#include <msp/datafile/loader.h>
+#include <msp/datafile/objectloader.h>
namespace Msp {
namespace GLtk {
class Widget;
/**
-Stores use interface logic. This is stored as actions associated to widgets.
-Each action has type and data. See also class Connector.
+Stores use interface logic. This is represented as widget bindings. Each
+binding has type and data.
+
+See also class Connector.
*/
class Logic
{
public:
- class Loader: public DataFile::Loader
+ class Loader: public DataFile::ObjectLoader<Logic>
{
private:
- Logic &logic;
const std::map<std::string, Widget *> &widgets;
public:
Loader(Logic &, const std::map<std::string, Widget *> &);
private:
- void action(const std::string &, const std::string &);
+ void bind(const std::string &, const std::string &);
};
- struct WidgetAction
+ struct WidgetBinding
{
Widget *wdg;
std::string type;
};
private:
- std::list<WidgetAction> actions;
+ std::list<WidgetBinding> bindings;
public:
- const std::list<WidgetAction> &get_actions() const { return actions; }
+ const std::list<WidgetBinding> &get_bindings() const { return bindings; }
};
} // namespace GLtk