]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/logic.h
Add a persistent view size attribute to List
[libs/gltk.git] / source / logic.h
index 689b39b41ec0b6f8f9c6504e982230ba1c1cb042..1d25c6ea44227bdd9c093b299c547e80d4e3ebf2 100644 (file)
@@ -1,10 +1,3 @@
-/* $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_
 
@@ -12,8 +5,7 @@ Distributed under the LGPL
 #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 {
@@ -21,25 +13,26 @@ 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;
@@ -47,10 +40,10 @@ public:
        };
 
 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