]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - libs/gtkutil/widget.h
Group import/export callbacks
[xonotic/netradiant.git] / libs / gtkutil / widget.h
index 9592b4953f58c923410ec8c13973e97b4b2cef50..0cc8da3f3d2be36776d4f5f216e86d4c247b4aa4 100644 (file)
 #include "debugging/debugging.h"
 
 class ToggleItem {
-    BoolExportCallback m_exportCallback;
-    typedef std::list<BoolImportCallback> ImportCallbacks;
+    ImportExportCallback<bool>::Export_t m_exportCallback;
+    typedef std::list<ImportExportCallback<bool>::Import_t> ImportCallbacks;
     ImportCallbacks m_importCallbacks;
 public:
-    ToggleItem(const BoolExportCallback &exportCallback) : m_exportCallback(exportCallback)
+    ToggleItem(const ImportExportCallback<bool>::Export_t &exportCallback) : m_exportCallback(exportCallback)
     {
     }
 
@@ -45,13 +45,13 @@ public:
         }
     }
 
-    void addCallback(const BoolImportCallback &callback)
+    void addCallback(const ImportExportCallback<bool>::Import_t &callback)
     {
         m_importCallbacks.push_back(callback);
         m_exportCallback(callback);
     }
 
-    typedef MemberCaller<ToggleItem, void(const BoolImportCallback &), &ToggleItem::addCallback> AddCallbackCaller;
+    typedef MemberCaller<ToggleItem, void(const ImportExportCallback<bool>::Import_t &), &ToggleItem::addCallback> AddCallbackCaller;
 };
 
 class ToggleShown {
@@ -77,9 +77,9 @@ public:
 
     bool active() const;
 
-    void exportActive(const BoolImportCallback &importCallback);
+    void exportActive(const ImportExportCallback<bool>::Import_t &importCallback);
 
-    typedef MemberCaller<ToggleShown, void(const BoolImportCallback &), &ToggleShown::exportActive> ActiveCaller;
+    typedef MemberCaller<ToggleShown, void(const ImportExportCallback<bool>::Import_t &), &ToggleShown::exportActive> ActiveCaller;
 
     void set(bool shown);