diff options
author | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2020-09-01 18:12:49 -0300 |
---|---|---|
committer | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2020-09-03 20:47:17 -0300 |
commit | c0fd18643a54bd6a0cf5008054b77ff0231261a7 (patch) | |
tree | f40e36beea9c869deb7d4cee953709b261d809e3 | |
parent | d662716d37bf60cb1c6730658b0fdae5bf0f1287 (diff) | |
download | glade-c0fd18643a54bd6a0cf5008054b77ff0231261a7.tar.gz |
GladePropertyDef, GladeSignalDef: support deprecated since
Add support for deprecated since version
-rw-r--r-- | gladeui/glade-property-def.c | 29 | ||||
-rw-r--r-- | gladeui/glade-property-def.h | 29 | ||||
-rw-r--r-- | gladeui/glade-signal-def.c | 43 | ||||
-rw-r--r-- | gladeui/glade-signal-def.h | 25 |
4 files changed, 114 insertions, 12 deletions
diff --git a/gladeui/glade-property-def.c b/gladeui/glade-property-def.c index 8d70c43d..c3989e65 100644 --- a/gladeui/glade-property-def.c +++ b/gladeui/glade-property-def.c @@ -179,7 +179,10 @@ struct _GladePropertyDef guint deprecated : 1; /* True if this property is deprecated */ - gdouble weight; /* This will determine the position of this property in + guint16 deprecated_since_major; + guint16 deprecated_since_minor; + + gdouble weight; /* This will determine the position of this property in * the editor. */ @@ -239,6 +242,8 @@ glade_property_def_new (GladeWidgetAdaptor *adaptor, property_def->version_since_major = GLADE_WIDGET_ADAPTOR_VERSION_SINCE_MAJOR (adaptor); property_def->version_since_minor = GLADE_WIDGET_ADAPTOR_VERSION_SINCE_MINOR (adaptor); property_def->deprecated = GLADE_WIDGET_ADAPTOR_DEPRECATED (adaptor); + property_def->deprecated_since_major = 0; + property_def->deprecated_since_minor = 0; return property_def; } @@ -1573,6 +1578,22 @@ glade_property_def_since_minor (GladePropertyDef *property_def) return property_def->version_since_minor; } +guint16 +glade_property_def_deprecated_since_major (GladePropertyDef *property_def) +{ + g_return_val_if_fail (GLADE_IS_PROPERTY_DEF (property_def), 0); + + return property_def->deprecated_since_major; +} + +guint16 +glade_property_def_deprecated_since_minor (GladePropertyDef *property_def) +{ + g_return_val_if_fail (GLADE_IS_PROPERTY_DEF (property_def), 0); + + return property_def->deprecated_since_minor; +} + void _glade_property_def_reset_version (GladePropertyDef *property_def) { @@ -1580,6 +1601,8 @@ _glade_property_def_reset_version (GladePropertyDef *property_def) property_def->version_since_major = 0; property_def->version_since_minor = 0; + property_def->deprecated_since_major = 0; + property_def->deprecated_since_minor = 0; } gboolean @@ -2204,6 +2227,10 @@ glade_property_def_update_from_node (GladeXmlNode *node, &property_def->version_since_major, &property_def->version_since_minor); + glade_xml_get_property_version (node, GLADE_TAG_DEPRECATED_SINCE, + &property_def->deprecated_since_major, + &property_def->deprecated_since_minor); + property_def->deprecated = glade_xml_get_property_boolean (node, GLADE_TAG_DEPRECATED, diff --git a/gladeui/glade-property-def.h b/gladeui/glade-property-def.h index 8076fca0..4e8e5b58 100644 --- a/gladeui/glade-property-def.h +++ b/gladeui/glade-property-def.h @@ -49,6 +49,21 @@ G_BEGIN_DECLS (glade_property_def_since_minor (GLADE_PROPERTY_DEF (def)) <= minor_version) : \ (glade_property_def_since_major (GLADE_PROPERTY_DEF (def)) <= major_version)) +/** + * GLADE_PROPERTY_DEF_DEPRECATED_SINCE_CHECK: + * @def: A #GladePropertyDef + * @major: The major version to check + * @minor: The minor version to check + * + * Evaluates to %TRUE if @def is deprecated in its owning library version-@major.@minor. + * + */ +#define GLADE_PROPERTY_DEF_DEPRECATED_SINCE_CHECK(def, major, minor) \ + ((glade_property_def_deprecated_since_major (def) || glade_property_def_deprecated_since_minor (def)) ? \ + ((glade_property_def_deprecated_since_major (def) == major) ? \ + (glade_property_def_deprecated_since_minor (def) <= minor) : \ + (glade_property_def_deprecated_since_major (def) <= major)) : \ + FALSE) #define GLADE_PROPERTY_DEF_OBJECT_DELIMITER ", " @@ -86,17 +101,17 @@ void glade_property_def_set_ignore (GladeProperty gboolean glade_property_def_get_ignore (GladePropertyDef *property_def); void glade_property_def_set_name (GladePropertyDef *property_def, const gchar *name); -const gchar *glade_property_def_get_name (GladePropertyDef *property_def); +const gchar *glade_property_def_get_name (GladePropertyDef *property_def); void glade_property_def_set_tooltip (GladePropertyDef *property_def, const gchar *tooltip); -const gchar *glade_property_def_get_tooltip (GladePropertyDef *property_def); -const gchar *glade_property_def_id (GladePropertyDef *property_def); +const gchar *glade_property_def_get_tooltip (GladePropertyDef *property_def); +const gchar *glade_property_def_id (GladePropertyDef *property_def); gboolean glade_property_def_themed_icon (GladePropertyDef *property_def); void glade_property_def_set_construct_only (GladePropertyDef *property_def, gboolean construct_only); gboolean glade_property_def_get_construct_only (GladePropertyDef *property_def); -const GValue *glade_property_def_get_default (GladePropertyDef *property_def); -const GValue *glade_property_def_get_original_default (GladePropertyDef *property_def); +const GValue *glade_property_def_get_default (GladePropertyDef *property_def); +const GValue *glade_property_def_get_original_default (GladePropertyDef *property_def); gboolean glade_property_def_translatable (GladePropertyDef *property_def); gboolean glade_property_def_needs_sync (GladePropertyDef *property_def); @@ -113,11 +128,13 @@ gboolean glade_property_def_transfer_on_paste (GladeProperty gboolean glade_property_def_custom_layout (GladePropertyDef *property_def); gdouble glade_property_def_weight (GladePropertyDef *property_def); -const gchar *glade_property_def_create_type (GladePropertyDef *property_def); +const gchar *glade_property_def_create_type (GladePropertyDef *property_def); guint16 glade_property_def_since_major (GladePropertyDef *property_def); guint16 glade_property_def_since_minor (GladePropertyDef *property_def); gboolean glade_property_def_deprecated (GladePropertyDef *property_def); +guint16 glade_property_def_deprecated_since_major (GladePropertyDef *property_def); +guint16 glade_property_def_deprecated_since_minor (GladePropertyDef *property_def); GValue *glade_property_def_make_gvalue_from_string (GladePropertyDef *property_def, const gchar *string, diff --git a/gladeui/glade-signal-def.c b/gladeui/glade-signal-def.c index 9c5116a0..f23c5acc 100644 --- a/gladeui/glade-signal-def.c +++ b/gladeui/glade-signal-def.c @@ -39,7 +39,9 @@ struct _GladeSignalDef const gchar *type; /* Name of the object class that this signal * belongs to eg GtkButton */ - guint deprecated : 1; /* True if this signal is deprecated */ + guint deprecated : 1; /* True if this signal is deprecated */ + guint16 deprecated_since_major; + guint16 deprecated_since_minor; }; G_DEFINE_BOXED_TYPE(GladeSignalDef, glade_signal_def, glade_signal_def_clone, glade_signal_def_free) @@ -84,6 +86,8 @@ glade_signal_def_new (GladeWidgetAdaptor *adaptor, def->version_since_major = GLADE_WIDGET_ADAPTOR_VERSION_SINCE_MAJOR (adaptor); def->version_since_minor = GLADE_WIDGET_ADAPTOR_VERSION_SINCE_MINOR (adaptor); def->deprecated = GLADE_WIDGET_ADAPTOR_DEPRECATED (adaptor); + def->deprecated_since_major = 0; + def->deprecated_since_minor = 0; return def; } @@ -134,6 +138,10 @@ glade_signal_def_update_from_node (GladeSignalDef *signal_def, &signal_def->version_since_major, &signal_def->version_since_minor); + glade_xml_get_property_version (node, GLADE_TAG_DEPRECATED_SINCE, + &signal_def->deprecated_since_major, + &signal_def->deprecated_since_minor); + signal_def->deprecated = glade_xml_get_property_boolean (node, GLADE_TAG_DEPRECATED, @@ -257,6 +265,39 @@ glade_signal_def_since_minor (GladeSignalDef *signal_def) } /** + * glade_signal_def_deprecated_since_major: + * @signal_def: a #GladeSignalDef + * + * Get the major version that deprecated this signal. + * + * Returns: the major version + */ +guint16 +glade_signal_def_deprecated_since_major (GladeSignalDef *signal_def) +{ + g_return_val_if_fail (signal_def != NULL, 0); + + return signal_def->deprecated_since_major; +} + +/** + * glade_signal_def_deprecated_since_minor: + * @signal_def: a #GladeSignalDef + * + * Get the minor version that deprecated this signal. + * + * Returns: the minor version + */ +guint16 +glade_signal_def_deprecated_since_minor (GladeSignalDef *signal_def) +{ + g_return_val_if_fail (signal_def != NULL, 0); + + return signal_def->deprecated_since_minor; +} + + +/** * glade_signal_def_set_deprecated: * @signal_def: a #GladeSignalDef * @deprecated: %TRUE if the signal is deprecated diff --git a/gladeui/glade-signal-def.h b/gladeui/glade-signal-def.h index 0532af4a..d13ed5af 100644 --- a/gladeui/glade-signal-def.h +++ b/gladeui/glade-signal-def.h @@ -29,7 +29,7 @@ G_BEGIN_DECLS /** - * GLADE_SIGNALS_DEF_VERSION_CHECK: + * GLADE_SIGNAL_DEF_VERSION_CHECK: * @klass: A #GladeSignalDef * @major_version: The major version to check * @minor_version: The minor version to check @@ -37,11 +37,26 @@ G_BEGIN_DECLS * Evaluates to %TRUE if @klass is available in its owning library version-@major_verion.@minor_version. * */ -#define GLADE_SIGNALS_DEF_VERSION_CHECK(klass, major_version, minor_version) \ +#define GLADE_SIGNAL_DEF_VERSION_CHECK(klass, major_version, minor_version) \ ((glade_signal_def_since_major (GLADE_SIGNAL_DEF (klass)) == major_version) ? \ (glade_signal_def_since_minor (GLADE_SIGNAL_DEF (klass)) <= minor_version) : \ (glade_signal_def_since_major (GLADE_SIGNAL_DEF (klass)) <= major_version)) +/** + * GLADE_SIGNAL_DEF_DEPRECATED_SINCE_CHECK: + * @klass: A #GladeSignalDef + * @major: The major version to check + * @minor: The minor version to check + * + * Evaluates to %TRUE if @klass is available in its owning library version-@major.@minor. + * + */ +#define GLADE_SIGNAL_DEF_DEPRECATED_SINCE_CHECK(def, major, minor) \ + ((glade_signal_def_deprecated_since_major (def) || glade_signal_def_deprecated_since_minor (def)) ? \ + ((glade_signal_def_deprecated_since_major (def) == major) ? \ + (glade_signal_def_deprecated_since_minor (def) <= minor) : \ + (glade_signal_def_deprecated_since_major (def) <= major)) : \ + FALSE) #define GLADE_SIGNAL_DEF(klass) ((GladeSignalDef *)(klass)) @@ -60,8 +75,8 @@ void glade_signal_def_update_from_node (GladeSignalDef const gchar *domain); GladeWidgetAdaptor *glade_signal_def_get_adaptor (const GladeSignalDef *signal_def); -const gchar *glade_signal_def_get_name (const GladeSignalDef *signal_def); -const gchar *glade_signal_def_get_object_type_name (const GladeSignalDef *signal_def); +const gchar *glade_signal_def_get_name (const GladeSignalDef *signal_def); +const gchar *glade_signal_def_get_object_type_name (const GladeSignalDef *signal_def); GSignalFlags glade_signal_def_get_flags (const GladeSignalDef *signal_def); void glade_signal_def_set_since (GladeSignalDef *signal_def, @@ -69,6 +84,8 @@ void glade_signal_def_set_since (GladeSignalDef guint16 since_minor); guint16 glade_signal_def_since_major (GladeSignalDef *signal_def); guint16 glade_signal_def_since_minor (GladeSignalDef *signal_def); +guint16 glade_signal_def_deprecated_since_major (GladeSignalDef *signal_def); +guint16 glade_signal_def_deprecated_since_minor (GladeSignalDef *signal_def); void glade_signal_def_set_deprecated (GladeSignalDef *signal_def, gboolean deprecated); |