summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gui_object.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-07-11 20:32:33 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-07-11 20:32:33 +0000
commit6dc74f8c871752b05eb7def894bd44e38d76c3f4 (patch)
tree58f1b847c5771b32b1e078d378631348855c1345 /gtk2_ardour/gui_object.h
parent58a3d6c72030a90c54e5582b75ed520536749504 (diff)
clean up GUIObjectState API, and use bools when setting "visible" property rather than string (not that it matters); don't unconditionally set visible to true unless a non-hidden track/bus has no visibility property already
git-svn-id: svn://localhost/ardour2/branches/3.0@9843 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/gui_object.h')
-rw-r--r--gtk2_ardour/gui_object.h50
1 files changed, 9 insertions, 41 deletions
diff --git a/gtk2_ardour/gui_object.h b/gtk2_ardour/gui_object.h
index a109e625ae..025be30fab 100644
--- a/gtk2_ardour/gui_object.h
+++ b/gtk2_ardour/gui_object.h
@@ -29,6 +29,11 @@
#include "pbd/id.h"
class GUIObjectState {
+ private:
+ typedef boost::variant<int64_t,std::string> Variant;
+ typedef std::map<std::string,Variant> PropertyMap;
+ typedef std::map<std::string,PropertyMap> StringPropertyMap;
+
public:
GUIObjectState() {}
~GUIObjectState();
@@ -41,59 +46,22 @@ class GUIObjectState {
GUIObjectState& operator= (const GUIObjectState& other);
- private:
- typedef boost::variant<int64_t,std::string> Variant;
- typedef std::map<std::string,Variant> PropertyMap;
- typedef std::map<std::string,PropertyMap> StringPropertyMap;
-
- StringPropertyMap _property_maps;
-
- template<typename T> T get (const std::string& id, const std::string& prop_name, const T& type_determination_placeholder, bool* empty = 0) {
- StringPropertyMap::iterator i = _property_maps.find (id);
-
- if (i == _property_maps.end()) {
- if (empty) {
- *empty = true;
- }
- return T();
- }
-
- const PropertyMap& pmap (i->second);
- PropertyMap::const_iterator p = pmap.find (prop_name);
-
- if (p == pmap.end()) {
- return T();
- }
-
- return boost::get<T> (p->second);
- }
-
- void clear_maps ();
-
- public:
- int get_int (const std::string& id, const std::string& prop_name) {
- int i = 0;
- return get (id, prop_name, i);
- }
-
- std::string get_string (const std::string& id, const std::string& prop_name) {
- std::string s;
- return get (id, prop_name, s);
- }
+ std::string get_string (const std::string& id, const std::string& prop_name, bool* empty = 0);
template<typename T> void set (const std::string& id, const std::string& prop_name, const T& val) {
StringPropertyMap::iterator i = _property_maps.find (id);
if (i != _property_maps.end()) {
i->second[prop_name] = val;
- // std::cerr << id << " REset " << prop_name << " = [" << val << "]\n";
} else {
_property_maps[id] = PropertyMap();
_property_maps[id][prop_name] = val;
- // std::cerr << id << " set " << prop_name << " = [" << val << "]\n";
}
}
+ private:
+ StringPropertyMap _property_maps;
+ void clear_maps ();
};