Commit 00859f54 authored by Tristan Van Berkom's avatar Tristan Van Berkom

Updated


	* TODO: Updated

	* doc/gladeui-sections.txt updated

	* src/glade-app.[ch]: Majorly reduced the api, now GladeApp is a
	  singleton. Added "active-project" signal.

	* src/glade-builtins.[ch]: Removed unused variable. Enhanced objects
	  pspec type to recognize interfaces. Added glade_param_spec_objects_get_type()

	* src/glade-clipboard-view.c: Trying a cute border.

	* src/glade-command.c, src/glade-fixed-manager.c,
	  src/glade-placehodler.c, src/glade-popup.c, src/glade-project-view.c,
	  src/glade-project-window.c:
	  Updated for glade-app changes

	* src/glade-editor-property.c: Implemented objects pspec

	* src/glade-editor.[ch]: Added atk tab, added cuteness.

	* src/glade-gtk.c:
	  o Translated image type names
	  o Added button types (translated)
	  o Support for button label & use-underline properties

	* src/glade-parser.c:
	  o Updated for glade-app changes
	  o Added save support for atk actions and relations.

	* src/glade-project.c:
	  o Updated for glade-app changes
	  o Fixed glade_project_fix_object_props for object lists

	* src/glade-property-class.[ch]:
	  o Hardcoded atk relations and action names
	  o Added glade_property_class_make_gvalue(),
	    glade_property_class_get_from_gvalue(),
	    glade_property_class_new_atk_action(),
	    glade_property_class_list_atk_relations(),
	    glade_property_class_atk_realname()
	  o Fixed glade_property_class_is_object()
	    (object lists qualify)

	* src/glade-property.[ch]:
	  o Integrated property load proceedure into glade-property,
	    loading code much cleaner and less redundant.
	    (Added glade_property_read())
	  o Implemented atk properties (save/load)

	* src/glade-utils.[ch]: Added glade_util_read_prop_name(),
	  glade_util_added_in_list(), glade_util_removed_from_list(),
	  glade_util_class_implements_interface()

	* src/glade-widget-class.c: Introspect atk properties

	* src/glade-widget.c: Simplified load code, moved property load
	  code to glade-property, save atk props properly.

	* src/glade.h: Removed the unused atk-relation tag.

	* src/main.c: Load gail (for atk action introspection)

	* src/atk.xpm: New atk icon

	* widgets/gtk+.xml.in:
	  o GtkLabel label property --> translatable
	  o GtkButton label property --> translatable, multi-line
	  o Added GtkButton "type" property and GtkButton remove-child-function
parent df0658fb
2006-04-24 Tristan Van Berkom <tvb@gnome.org>
* TODO: Updated
* doc/gladeui-sections.txt updated
* src/glade-app.[ch]: Majorly reduced the api, now GladeApp is a
singleton. Added "active-project" signal.
* src/glade-builtins.[ch]: Removed unused variable. Enhanced objects
pspec type to recognize interfaces. Added glade_param_spec_objects_get_type()
* src/glade-clipboard-view.c: Trying a cute border.
* src/glade-command.c, src/glade-fixed-manager.c,
src/glade-placehodler.c, src/glade-popup.c, src/glade-project-view.c,
src/glade-project-window.c:
Updated for glade-app changes
* src/glade-editor-property.c: Implemented objects pspec
* src/glade-editor.[ch]: Added atk tab, added cuteness.
* src/glade-gtk.c:
o Translated image type names
o Added button types (translated)
o Support for button label & use-underline properties
* src/glade-parser.c:
o Updated for glade-app changes
o Added save support for atk actions and relations.
* src/glade-project.c:
o Updated for glade-app changes
o Fixed glade_project_fix_object_props for object lists
* src/glade-property-class.[ch]:
o Hardcoded atk relations and action names
o Added glade_property_class_make_gvalue(),
glade_property_class_get_from_gvalue(),
glade_property_class_new_atk_action(),
glade_property_class_list_atk_relations(),
glade_property_class_atk_realname()
o Fixed glade_property_class_is_object()
(object lists qualify)
* src/glade-property.[ch]:
o Integrated property load proceedure into glade-property,
loading code much cleaner and less redundant.
(Added glade_property_read())
o Implemented atk properties (save/load)
* src/glade-utils.[ch]: Added glade_util_read_prop_name(),
glade_util_added_in_list(), glade_util_removed_from_list(),
glade_util_class_implements_interface()
* src/glade-widget-class.c: Introspect atk properties
* src/glade-widget.c: Simplified load code, moved property load
code to glade-property, save atk props properly.
* src/glade.h: Removed the unused atk-relation tag.
* src/main.c: Load gail (for atk action introspection)
* src/atk.xpm: New atk icon
* widgets/gtk+.xml.in:
o GtkLabel label property --> translatable
o GtkButton label property --> translatable, multi-line
o Added GtkButton "type" property and GtkButton remove-child-function
2006-04-19 Juan Pablo Ugarte <juanpablougarte@gmail.com>
* src/glade-editor-property.c: Simplified code and added comments
......
......@@ -5,10 +5,9 @@ Blockers for glade-3 2.92.0 beta
Tasks:
======
o Implement atk properties (parser already works)
o Toolbar editor / Popup menu editor ?
o Add / Implement gnome widget catalogs (bug 315601)
o Handled startup errors correctly (bug 331797)
o Handle startup errors correctly (bug 331797)
o Implement accelerator keys (bug 331808)
Complex bugs:
......
......@@ -4,7 +4,7 @@
<FILE>glade-app</FILE>
<TITLE>GladeApp</TITLE>
GladeApp
glade_app_new
glade_app_get
glade_app_update_ui
glade_app_set_window
glade_app_get_window
......@@ -14,8 +14,8 @@ glade_app_get_alt_class
glade_app_get_palette
glade_app_get_clipboard
glade_app_get_clipboard_view
glade_app_get_active_project
glade_app_set_project
glade_app_get_project
glade_app_add_project
glade_app_remove_project
glade_app_get_projects
......@@ -24,12 +24,13 @@ glade_app_is_project_loaded
glade_app_show_properties
glade_app_hide_properties
glade_app_add_project_view
glade_app_command_undo
glade_app_command_redo
glade_app_command_copy
glade_app_command_cut
glade_app_command_paste
glade_app_command_delete
glade_app_command_undo
glade_app_command_redo
glade_app_command_delete_clipboard
glade_app_config_save
glade_app_set_transient_parent
glade_app_get_transient_parent
......@@ -37,34 +38,13 @@ glade_app_set_accel_group
glade_app_update_instance_count
glade_app_undo_button_new
glade_app_redo_button_new
glade_default_app_set
glade_default_app_get_window
glade_default_app_get_editor
glade_default_app_get_add_class
glade_default_app_get_alt_class
glade_default_app_get_palette
glade_default_app_get_clipboard
glade_default_app_get_active_project
glade_default_app_update_ui
glade_default_app_get_selection
glade_default_app_get_projects
glade_default_app_show_properties
glade_default_app_hide_properties
glade_default_app_set_transient_parent
glade_default_app_get_transient_parent
glade_default_app_command_cut
glade_default_app_command_copy
glade_default_app_command_paste
glade_default_app_command_delete
glade_default_app_command_delete_clipboard
glade_default_app_is_selected
glade_default_app_selection_set
glade_default_app_selection_add
glade_default_app_selection_remove
glade_default_app_selection_clear
glade_default_app_selection_changed
glade_default_app_undo_button_new
glade_default_app_redo_button_new
glade_app_selection_add
glade_app_selection_remove
glade_app_selection_changed
glade_app_get_selection
glade_app_selection_clear
glade_app_selection_set
glade_app_is_selected
<SUBSECTION Standard>
GLADE_APP
GLADE_IS_APP
......@@ -316,11 +296,13 @@ GladeProjectClass
<FILE>glade-property-class</FILE>
<TITLE>GladePropertyClass</TITLE>
GladePropertyClass
GPCAtkType
GladeVerifyPropertyFunc
GladeGetPropertyFunc
GladeSetPropertyFunc
glade_property_class_new
glade_property_class_new_from_spec
glade_property_class_new_atk_action
glade_property_class_clone
glade_property_class_free
glade_property_class_is_visible
......@@ -330,10 +312,14 @@ glade_property_class_make_gvalue_from_string
glade_property_class_make_string_from_gvalue
glade_property_class_make_gvalue_from_vl
glade_property_class_set_vl_from_gvalue
glade_property_class_get_from_gvalue
glade_property_class_make_gvalue
glade_property_class_update_from_node
glade_property_class_get_displayable_value
glade_property_class_make_adjustment
glade_property_class_match
glade_property_class_void_value
glade_property_class_list_atk_relations
<SUBSECTION Standard>
GLADE_PROPERTY_CLASS
GLADE_IS_PROPERTY_CLASS
......@@ -356,7 +342,10 @@ glade_property_get_value
glade_property_get_default
glade_property_get_va_list
glade_property_get
glade_property_add_object
glade_property_remove_object
glade_property_sync
glade_property_read
glade_property_write
glade_property_get_tooltip
glade_property_set_sensitive
......@@ -442,6 +431,7 @@ glade_widget_class_get_type
GLADE_WIDGET_CLASS
GLADE_IS_WIDGET_CLASS
<SUBSECTION Private>
GPC_OBJECT_DELIMITER
GLADE_VALID_CREATE_REASON
GladeSupportedChild
GladeWidgetClassSignal
......@@ -560,6 +550,7 @@ glade_util_gtk_combo_func
glade_util_gtk_combo_find
glade_util_file_dialog_new
glade_util_replace
glade_util_read_prop_name
glade_util_duplicate_underscores
glade_util_add_selection
glade_util_remove_selection
......
......@@ -192,6 +192,24 @@ the #GladePropertyClass describes how a #GladeProperty will function.
@Varargs:
<!-- ##### FUNCTION glade_property_add_object ##### -->
<para>
</para>
@property:
@object:
<!-- ##### FUNCTION glade_property_remove_object ##### -->
<para>
</para>
@property:
@object:
<!-- ##### FUNCTION glade_property_sync ##### -->
<para>
......@@ -200,6 +218,19 @@ the #GladePropertyClass describes how a #GladeProperty will function.
@property:
<!-- ##### FUNCTION glade_property_read ##### -->
<para>
</para>
@property:
@pclass:
@project:
@info:
@free_value:
@Returns:
<!-- ##### FUNCTION glade_property_write ##### -->
<para>
......
......@@ -135,6 +135,15 @@ This is where all of that really usefull miscalanious stuff lands up.
@b:
<!-- ##### FUNCTION glade_util_read_prop_name ##### -->
<para>
</para>
@str:
@Returns:
<!-- ##### FUNCTION glade_util_duplicate_underscores ##### -->
<para>
......@@ -296,6 +305,26 @@ This is where all of that really usefull miscalanious stuff lands up.
@Returns:
<!-- ##### FUNCTION glade_util_added_in_list ##### -->
<para>
</para>
@old:
@new:
@Returns:
<!-- ##### FUNCTION glade_util_removed_from_list ##### -->
<para>
</para>
@old:
@new:
@Returns:
<!-- ##### FUNCTION glade_util_canonical_path ##### -->
<para>
......@@ -315,6 +344,16 @@ This is where all of that really usefull miscalanious stuff lands up.
@Returns:
<!-- ##### FUNCTION glade_util_class_implements_interface ##### -->
<para>
</para>
@class_type:
@iface_type:
@Returns:
<!-- ##### FUNCTION glade_util_file_is_writeable ##### -->
<para>
......
/* XPM */
static char * glade_atk_xpm[] = {
"20 20 89 1",
" c None",
". c #AEAFAE",
"+ c #FFFFFF",
"@ c #C4C4F1",
"# c #4646D3",
"$ c #8484E2",
"% c #3535D0",
"& c #0000C4",
"* c #D5D5F5",
"= c #6363DB",
"- c #1515C9",
"; c #EEEEFB",
"> c #F7F7FD",
", c #6969DC",
"' c #B7B7EE",
") c #7A7AE0",
"! c #0606C5",
"~ c #DDDDF7",
"{ c #5656D8",
"] c #B2B2ED",
"^ c #6464DB",
"/ c #6868DC",
"( c #9F9FE9",
"_ c #BCBCEF",
": c #7373DE",
"< c #2929CD",
"[ c #EFEFFB",
"} c #2121CC",
"| c #8282E2",
"1 c #E7E7FA",
"2 c #E7E7F9",
"3 c #E6E6F9",
"4 c #F0F0FB",
"5 c #7474DF",
"6 c #FBFBFE",
"7 c #9090E5",
"8 c #CACAF3",
"9 c #FEFEFF",
"0 c #1616C9",
"a c #ACACEC",
"b c #D0D0F4",
"c c #0808C6",
"d c #3636D0",
"e c #FDFDFF",
"f c #E9E9FA",
"g c #E4E4F8",
"h c #E5E5F9",
"i c #C1C1F1",
"j c #4A4AD5",
"k c #9B9BE8",
"l c #EAEAFA",
"m c #E2E2F8",
"n c #0909C6",
"o c #CECEF4",
"p c #F3F3FC",
"q c #1A1ACA",
"r c #A7A7EB",
"s c #F5F5FD",
"t c #5656D7",
"u c #8181E2",
"v c #2424CC",
"w c #0101C4",
"x c #A6A6EA",
"y c #2E2ECF",
"z c #F8F8FD",
"A c #2323CC",
"B c #F4F4FC",
"C c #2222CC",
"D c #1919CA",
"E c #A6A6EB",
"F c #F2F2FC",
"G c #2727CD",
"H c #4E4ED6",
"I c #9696E7",
"J c #0707C6",
"K c #E3E3F9",
"L c #3737D1",
"M c #1313C8",
"N c #8F8FE5",
"O c #7D7DE1",
"P c #3030CF",
"Q c #1010C8",
"R c #AFAFEC",
"S c #FCFCFE",
"T c #5E5EDA",
"U c #4040D3",
"V c #4F4FD6",
"W c #8B8BE4",
"X c #ECECFA",
"....................",
".+++++@#$++++++++++.",
".+++++%&&*+++++++++.",
".+++++=&-;+++++++++.",
".+++++>,'++++++++++.",
".+++++)&!~+++++++++.",
".+++++{&&]+++++++++.",
".+++++^&&/((_++++++.",
".+++~,:&&&&&<++++++.",
".++[}/|&&)1234+++++.",
".++5%67&&&&&&!8++++.",
".+90a+bc&&&&&&de+++.",
".+f&g++hiiiiij&k+++.",
".+l&m++++++++*n-;op.",
".+9qr+++++++stu&vwx.",
".++)yz++++++uABCDE+.",
".++FGH[+++9IJ_+b4++.",
".+++KLM,NOPQR++++++.",
".++++SaTUVWX+++++++.",
"...................."};
This diff is collapsed.
......@@ -64,150 +64,104 @@ LIBGLADEUI_API
GType glade_app_get_type (void) G_GNUC_CONST;
LIBGLADEUI_API
GladeApp* glade_app_new (void);
GladeApp* glade_app_get (void);
LIBGLADEUI_API
void glade_app_update_ui (GladeApp* app);
void glade_app_update_ui (void);
LIBGLADEUI_API
void glade_app_set_window (GladeApp* app, GtkWidget *window);
void glade_app_set_window (GtkWidget *window);
LIBGLADEUI_API
GtkWidget* glade_app_get_window (GladeApp* app);
GtkWidget* glade_app_get_window (void);
LIBGLADEUI_API
GladeEditor* glade_app_get_editor (GladeApp* app);
GladeEditor* glade_app_get_editor (void);
LIBGLADEUI_API
GladeWidgetClass* glade_app_get_add_class (GladeApp* app);
GladeWidgetClass* glade_app_get_add_class (void);
LIBGLADEUI_API
GladeWidgetClass* glade_app_get_alt_class (GladeApp* app);
GladeWidgetClass* glade_app_get_alt_class (void);
LIBGLADEUI_API
GladePalette* glade_app_get_palette (GladeApp* app);
GladePalette* glade_app_get_palette (void);
LIBGLADEUI_API
GladeClipboard* glade_app_get_clipboard (GladeApp* app);
GladeClipboard* glade_app_get_clipboard (void);
LIBGLADEUI_API
GtkWidget* glade_app_get_clipboard_view (GladeApp* app);
GtkWidget* glade_app_get_clipboard_view (void);
LIBGLADEUI_API
GladeProject* glade_app_get_active_project (GladeApp* app);
GladeProject* glade_app_get_project (void);
LIBGLADEUI_API
void glade_app_set_project (GladeApp *app, GladeProject *project);
void glade_app_set_project (GladeProject *project);
LIBGLADEUI_API
void glade_app_add_project (GladeApp *app, GladeProject *project);
void glade_app_add_project (GladeProject *project);
LIBGLADEUI_API
void glade_app_remove_project (GladeApp *app, GladeProject *project);
void glade_app_remove_project (GladeProject *project);
LIBGLADEUI_API
GList* glade_app_get_projects (GladeApp *app);
GList* glade_app_get_projects (void);
LIBGLADEUI_API
GKeyFile* glade_app_get_config (GladeApp *app);
GKeyFile* glade_app_get_config (void);
LIBGLADEUI_API
gboolean glade_app_is_project_loaded (GladeApp *app, const gchar *project_path);
gboolean glade_app_is_project_loaded (const gchar *project_path);
LIBGLADEUI_API
void glade_app_show_properties (GladeApp* app, gboolean raise);
void glade_app_show_properties (gboolean raise);
LIBGLADEUI_API
void glade_app_hide_properties (GladeApp* app);
void glade_app_hide_properties (void);
LIBGLADEUI_API
void glade_app_add_project_view (GladeApp *app, GladeProjectView *view);
void glade_app_add_project_view (GladeProjectView *view);
LIBGLADEUI_API
void glade_app_command_copy (GladeApp *app);
void glade_app_command_copy (void);
LIBGLADEUI_API
void glade_app_command_cut (GladeApp *app);
void glade_app_command_cut (void);
LIBGLADEUI_API
void glade_app_command_paste (GladeApp *app);
void glade_app_command_paste (void);
LIBGLADEUI_API
void glade_app_command_delete (GladeApp *app);
void glade_app_command_delete (void);
LIBGLADEUI_API
void glade_app_command_delete_clipboard (void);
LIBGLADEUI_API
void glade_app_command_undo (GladeApp *app);
void glade_app_command_undo (void);
LIBGLADEUI_API
void glade_app_command_redo (GladeApp *app);
void glade_app_command_redo (void);
LIBGLADEUI_API
gint glade_app_config_save (GladeApp *app);
LIBGLADEUI_API
void glade_app_set_transient_parent (GladeApp *app, GtkWindow *parent);
gint glade_app_config_save (void);
LIBGLADEUI_API
GtkWindow *glade_app_get_transient_parent (GladeApp *app);
void glade_app_set_transient_parent (GtkWindow *parent);
LIBGLADEUI_API
void glade_app_set_accel_group (GladeApp *app, GtkAccelGroup *accel_group);
LIBGLADEUI_API
void glade_app_update_instance_count (GladeApp *app, GladeProject *project);
GtkWindow *glade_app_get_transient_parent (void);
LIBGLADEUI_API
GtkWidget *glade_app_undo_button_new (GladeApp *app);
void glade_app_set_accel_group (GtkAccelGroup *accel_group);
LIBGLADEUI_API
GtkWidget *glade_app_redo_button_new (GladeApp *app);
void glade_app_update_instance_count (GladeProject *project);
/* Default glade application */
LIBGLADEUI_API
void glade_default_app_set (GladeApp *app);
LIBGLADEUI_API
GtkWidget* glade_default_app_get_window (void);
LIBGLADEUI_API
GladeEditor* glade_default_app_get_editor (void);
LIBGLADEUI_API
GladeWidgetClass* glade_default_app_get_add_class (void);
LIBGLADEUI_API
GladeWidgetClass* glade_default_app_get_alt_class (void);
LIBGLADEUI_API
GladePalette* glade_default_app_get_palette (void);
LIBGLADEUI_API
GladeClipboard* glade_default_app_get_clipboard (void);
LIBGLADEUI_API
GladeProject* glade_default_app_get_active_project (void);
LIBGLADEUI_API
void glade_default_app_update_ui (void);
LIBGLADEUI_API
GList* glade_default_app_get_selection (void);
GtkWidget *glade_app_undo_button_new (void);
LIBGLADEUI_API
GList* glade_default_app_get_projects (void);
LIBGLADEUI_API
void glade_default_app_show_properties (gboolean raise);
LIBGLADEUI_API
void glade_default_app_hide_properties (void);
LIBGLADEUI_API
void glade_default_app_set_transient_parent (GtkWindow *parent);
LIBGLADEUI_API
GtkWindow *glade_default_app_get_transient_parent (void);
GtkWidget *glade_app_redo_button_new (void);
LIBGLADEUI_API
GtkWidget *glade_default_app_undo_button_new (void);
LIBGLADEUI_API
GtkWidget *glade_default_app_redo_button_new (void);
/* GladeCommand interface stuff
*/
LIBGLADEUI_API
void glade_default_app_command_cut (void);
LIBGLADEUI_API
void glade_default_app_command_copy (void);
LIBGLADEUI_API
void glade_default_app_command_paste (void);
LIBGLADEUI_API
void glade_default_app_command_delete (void);
LIBGLADEUI_API
void glade_default_app_command_delete_clipboard (void);
GList *glade_app_get_selection (void);
/* These handle selection on a global scope and take care
* of multiple project logic.
*/
LIBGLADEUI_API
gboolean glade_default_app_is_selected (GObject *object);
gboolean glade_app_is_selected (GObject *object);
LIBGLADEUI_API
void glade_default_app_selection_set (GObject *object,
gboolean emit_signal);
void glade_app_selection_set (GObject *object,
gboolean emit_signal);
LIBGLADEUI_API
void glade_default_app_selection_add (GObject *object,
gboolean emit_signal);
void glade_app_selection_add (GObject *object,
gboolean emit_signal);
LIBGLADEUI_API
void glade_default_app_selection_remove (GObject *object,
gboolean emit_signal);
void glade_app_selection_remove (GObject *object,
gboolean emit_signal);
LIBGLADEUI_API
void glade_default_app_selection_clear (gboolean emit_signal);
void glade_app_selection_clear (gboolean emit_signal);
LIBGLADEUI_API
void glade_default_app_selection_changed(void);
void glade_app_selection_changed(void);
G_END_DECLS
......
......@@ -37,7 +37,6 @@ struct _GladeParamSpecObjects {
GParamSpec parent_instance;
GType type;
GPtrArray *objects;
};
......@@ -97,23 +96,143 @@ glade_standard_stock_spec (void)
0, G_PARAM_READWRITE);
}
/****************************************************************
* Built-in GladeParamSpecObjects for object array properties *
* A GList boxed type used by GladeParamSpecObjects and *
* GladeParamSpecAccel *
****************************************************************/
GType
glade_glist_get_type (void)
{
static GType type_id = 0;
static GType type_id = 0;
if (!type_id)
type_id = g_boxed_type_register_static
("GladeGList",
(GBoxedCopyFunc) g_list_copy,
(GBoxedFreeFunc) g_list_free);
return type_id;
}
/****************************************************************
* Built-in GladeParamSpecAccel for accelerator properties *
****************************************************************/
#if 0
static void
param_accel_init (GParamSpec *pspec)
{
GladeParamSpecAccel *ospec = GLADE_PARAM_SPEC_ACCEL (pspec);
ospec->type = G_TYPE_OBJECT;
}
if (!type_id)
type_id = g_boxed_type_register_static ("GladeGList",
(GBoxedCopyFunc) g_list_copy,
(GBoxedFreeFunc) g_list_free);
return type_id;
static void
param_accel_set_default (GParamSpec *pspec,
GValue *value)
{
if (value->data[0].v_pointer != NULL)
{
g_free (value->data[0].v_pointer);
}
value->data[0].v_pointer = NULL;
}
static gboolean
param_accel_validate (GParamSpec *pspec,
GValue *value)
{
GladeParamSpecAccel *ospec = GLADE_PARAM_SPEC_ACCEL (pspec);
GList *accels, *list, *toremove = NULL;
GladeAccelInfo *info;
accel = value->data[0].v_pointer;
for (list = accels; list; list = list->next)
{
info = list->data;
/* Is it a valid key ? */
if (info->key /* XXX */ ||
/* Does the modifier contain any unwanted bits ? */
info->modifier & GLADE_MODIFIER_MASK ||
/* Do we have a signal ? */
info->signal == NULL)
toremove = g_list_prepend (toremove, info);
}
for (list = toremove; list; list = list->next)
{
object = list->data;
accels = g_list_remove (accels, object);
}
if (toremove) g_list_free (toremove);
value->data[0].v_pointer = accels;
return toremove != NULL;
}
static gint
param_accel_values_cmp (GParamSpec *pspec,
const GValue *value1,
const GValue *value2)
{
guint8 *p1 = value1->data[0].v_pointer;
guint8 *p2 = value2->data[0].v_pointer;
/* not much to compare here, try to at least provide stable lesser/greater result */
return p1 < p2 ? -1 : p1 > p2;
}
GType
glade_param_accel_get_type (void)
{
static GType accel_type = 0;
if (accel_type == 0)
{
static /* const */ GParamSpecTypeInfo pspec_info = {
sizeof (GladeParamSpecAccel), /* instance_size */
16, /* n_preallocs */
param_accel_init, /* instance_init */
0xdeadbeef, /* value_type, assigned further down */
NULL, /* finalize */
param_accel_set_default, /* value_set_default */
param_accel_validate, /* value_validate */