summaryrefslogtreecommitdiff
path: root/glib/src/value_basictypes.cc.m4
diff options
context:
space:
mode:
authorMarcin Kolny <marcin.kolny@gmail.com>2016-03-21 20:23:11 +0100
committerMarcin Kolny <marcin.kolny@gmail.com>2016-04-01 20:22:34 +0200
commite17b42eae4d336e0da0ca5bee2613711116cea5f (patch)
tree300f5b5d721896b28b6e6d55245961e2918494ee /glib/src/value_basictypes.cc.m4
parent48f03ef26ff57a96b305c06cfa0b19fd873cb971 (diff)
downloadglibmm-e17b42eae4d336e0da0ca5bee2613711116cea5f.tar.gz
Glib::Property: allow to set property nick, blurb and flags.
* .gitignore: add paramflags generated files to ignore list. * glib/glibmm.h: add paramflags header to include list. * glib/glibmm/property.{cc|}h: add constructors allowing set nick, blurb. Add getters for this values. and flags of property. * glib/glibmm/value.{cc|h}: * glib/src/filelist.am: add paramflags to a build. * glib/src/enums.{ccg|hg}: add GParamFlags enum wrapper. * glib/glibmm/value_basictypes.{cc|h}.m4: add overloaded create_param_spec() for setting additional property parameters. This patch fixes bug #755256
Diffstat (limited to 'glib/src/value_basictypes.cc.m4')
-rw-r--r--glib/src/value_basictypes.cc.m412
1 files changed, 10 insertions, 2 deletions
diff --git a/glib/src/value_basictypes.cc.m4 b/glib/src/value_basictypes.cc.m4
index fd5f775e..ec37c61e 100644
--- a/glib/src/value_basictypes.cc.m4
+++ b/glib/src/value_basictypes.cc.m4
@@ -47,10 +47,18 @@ $1 Value<$1>::get() const
GParamSpec* Value<$1>::create_param_spec(const Glib::ustring& name) const
{
+ return create_param_spec(name, Glib::ustring(), Glib::ustring(),
+ Glib::PARAM_READWRITE);
+}
+
+GParamSpec* Value<$1>::create_param_spec(const Glib::ustring& name, const Glib::ustring& nick,
+ const Glib::ustring& blurb, Glib::ParamFlags flags) const
+{
return g_param_spec_[]ifelse($2,schar,char,$2)(
- name.c_str(), nullptr, nullptr,ifelse($2,pointer,,[
+ name.c_str(), nick.empty() ? nullptr : nick.c_str(),
+ blurb.empty() ? nullptr : blurb.c_str(), ifelse($2,pointer,,[
ifelse($3,,,[$3, $4, ])[]g_value_get_$2(&gobject_),])
- GParamFlags(G_PARAM_READABLE | G_PARAM_WRITABLE));
+ static_cast<GParamFlags>(flags));
}
])