added atk.xpm to $(libgladeuiinclude_HEADERS)

* src/Makefile.am: added atk.xpm to $(libgladeuiinclude_HEADERS)

	* doc/gladeui-sections.txt: Updated with new apis.

	* widgets/gtk+.xml.in: Listed all atk action properties needed for the gtk
	  catalog.

	* src/glade-property-class.c, src/glade.h:
	  o Added GLADE_TAG_ATK_ACTION & GLADE_TAG_ATK_PROPERTY tag support and
	    stripped out introspection on atk properties.
	  o Synonymous '-' and '_' in property names at catalog load time.

	* src/main.c: backed out the "GTK_MODULES=$GTK_MODULES:gail" module loading thing.

	* src/glade-widget.c: Synonymous '-' and '_' in glade_widget_get_[packing_]property().
This commit is contained in:
Tristan Van Berkom 2006-04-26 15:13:25 +00:00
parent 51e05628e0
commit cc9d9e932d
15 changed files with 383 additions and 461 deletions

View File

@ -1,3 +1,21 @@
2006-04-25 Tristan Van Berkom <tvb@gnome.org>
* src/Makefile.am: added atk.xpm to $(libgladeuiinclude_HEADERS)
* doc/gladeui-sections.txt: Updated with new apis.
* widgets/gtk+.xml.in: Listed all atk action properties needed for the gtk
catalog.
* src/glade-property-class.c, src/glade.h:
o Added GLADE_TAG_ATK_ACTION & GLADE_TAG_ATK_PROPERTY tag support and
stripped out introspection on atk properties.
o Synonymous '-' and '_' in property names at catalog load time.
* src/main.c: backed out the "GTK_MODULES=$GTK_MODULES:gail" module loading thing.
* src/glade-widget.c: Synonymous '-' and '_' in glade_widget_get_[packing_]property().
2006-04-25 Tristan Van Berkom <tvb@gnome.org>
* src/glade-builtins.c: Allowed negative custom integer specs.

View File

@ -302,12 +302,10 @@ 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
glade_property_class_is_object
glade_property_class_void_value
glade_property_class_make_gvalue_from_string
glade_property_class_make_string_from_gvalue
glade_property_class_make_gvalue_from_vl
@ -319,6 +317,7 @@ glade_property_class_get_displayable_value
glade_property_class_make_adjustment
glade_property_class_match
glade_property_class_void_value
glade_property_class_atk_realname
glade_property_class_list_atk_relations
<SUBSECTION Standard>
GLADE_PROPERTY_CLASS
@ -345,6 +344,7 @@ glade_property_get
glade_property_add_object
glade_property_remove_object
glade_property_sync
glade_property_load
glade_property_read
glade_property_write
glade_property_get_tooltip
@ -569,10 +569,13 @@ glade_util_count_placeholders
glade_util_find_iter_by_widget
glade_util_basenames_match
glade_util_purify_list
glade_util_removed_from_list
glade_util_added_in_list
glade_util_canonical_path
glade_util_copy_file
glade_util_file_is_writeable
glade_util_load_library
glade_util_class_implements_interface
</SECTION>

View File

@ -33,7 +33,12 @@ to initialize the Glade core.
@gladeapp: the object which received the signal.
<!-- ##### FUNCTION glade_app_new ##### -->
<!-- ##### ARG GladeApp:active-project ##### -->
<para>
</para>
<!-- ##### FUNCTION glade_app_get ##### -->
<para>
</para>
@ -46,6 +51,7 @@ to initialize the Glade core.
</para>
<!-- # Unused Parameters # -->
@app:
@ -54,8 +60,9 @@ to initialize the Glade core.
</para>
@app:
@window:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_get_window ##### -->
@ -63,8 +70,9 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_get_editor ##### -->
@ -72,8 +80,9 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_get_add_class ##### -->
@ -81,8 +90,9 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_get_alt_class ##### -->
@ -90,8 +100,9 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_get_palette ##### -->
@ -99,8 +110,9 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_get_clipboard ##### -->
@ -108,8 +120,9 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_get_clipboard_view ##### -->
@ -117,17 +130,9 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- ##### FUNCTION glade_app_get_active_project ##### -->
<para>
</para>
<!-- # Unused Parameters # -->
@app:
@Returns:
<!-- ##### FUNCTION glade_app_set_project ##### -->
@ -135,8 +140,17 @@ to initialize the Glade core.
</para>
@app:
@project:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_get_project ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_app_add_project ##### -->
@ -144,8 +158,9 @@ to initialize the Glade core.
</para>
@app:
@project:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_remove_project ##### -->
@ -153,8 +168,9 @@ to initialize the Glade core.
</para>
@app:
@project:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_get_projects ##### -->
@ -162,8 +178,9 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_get_config ##### -->
@ -171,8 +188,9 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_is_project_loaded ##### -->
@ -180,9 +198,10 @@ to initialize the Glade core.
</para>
@app:
@project_path:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_show_properties ##### -->
@ -190,8 +209,9 @@ to initialize the Glade core.
</para>
@app:
@raise:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_hide_properties ##### -->
@ -199,6 +219,7 @@ to initialize the Glade core.
</para>
<!-- # Unused Parameters # -->
@app:
@ -207,39 +228,8 @@ to initialize the Glade core.
</para>
@app:
@view:
<!-- ##### FUNCTION glade_app_command_copy ##### -->
<para>
</para>
@app:
<!-- ##### FUNCTION glade_app_command_cut ##### -->
<para>
</para>
@app:
<!-- ##### FUNCTION glade_app_command_paste ##### -->
<para>
</para>
@app:
<!-- ##### FUNCTION glade_app_command_delete ##### -->
<para>
</para>
<!-- # Unused Parameters # -->
@app:
@ -248,6 +238,7 @@ to initialize the Glade core.
</para>
<!-- # Unused Parameters # -->
@app:
@ -256,16 +247,61 @@ to initialize the Glade core.
</para>
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_command_copy ##### -->
<para>
</para>
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_command_cut ##### -->
<para>
</para>
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_command_paste ##### -->
<para>
</para>
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_command_delete ##### -->
<para>
</para>
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_command_delete_clipboard ##### -->
<para>
</para>
<!-- ##### FUNCTION glade_app_config_save ##### -->
<para>
</para>
@app:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_set_transient_parent ##### -->
@ -273,8 +309,9 @@ to initialize the Glade core.
</para>
@app:
@parent:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_get_transient_parent ##### -->
@ -282,8 +319,9 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_set_accel_group ##### -->
@ -291,8 +329,9 @@ to initialize the Glade core.
</para>
@app:
@accel_group:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_update_instance_count ##### -->
@ -300,8 +339,9 @@ to initialize the Glade core.
</para>
@app:
@project:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_undo_button_new ##### -->
@ -309,8 +349,9 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_app_redo_button_new ##### -->
@ -318,173 +359,12 @@ to initialize the Glade core.
</para>
@app:
@Returns:
<!-- ##### FUNCTION glade_default_app_set ##### -->
<para>
</para>
<!-- # Unused Parameters # -->
@app:
<!-- ##### FUNCTION glade_default_app_get_window ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_default_app_get_editor ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_default_app_get_add_class ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_default_app_get_alt_class ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_default_app_get_palette ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_default_app_get_clipboard ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_default_app_get_active_project ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_default_app_update_ui ##### -->
<para>
</para>
<!-- ##### FUNCTION glade_default_app_get_selection ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_default_app_get_projects ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_default_app_show_properties ##### -->
<para>
</para>
@raise:
<!-- ##### FUNCTION glade_default_app_hide_properties ##### -->
<para>
</para>
<!-- ##### FUNCTION glade_default_app_set_transient_parent ##### -->
<para>
</para>
@parent:
<!-- ##### FUNCTION glade_default_app_get_transient_parent ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_default_app_command_cut ##### -->
<para>
</para>
<!-- ##### FUNCTION glade_default_app_command_copy ##### -->
<para>
</para>
<!-- ##### FUNCTION glade_default_app_command_paste ##### -->
<para>
</para>
<!-- ##### FUNCTION glade_default_app_command_delete ##### -->
<para>
</para>
<!-- ##### FUNCTION glade_default_app_command_delete_clipboard ##### -->
<para>
</para>
<!-- ##### FUNCTION glade_default_app_is_selected ##### -->
<para>
</para>
@object:
@Returns:
<!-- ##### FUNCTION glade_default_app_selection_set ##### -->
<!-- ##### FUNCTION glade_app_selection_add ##### -->
<para>
</para>
@ -493,7 +373,7 @@ to initialize the Glade core.
@emit_signal:
<!-- ##### FUNCTION glade_default_app_selection_add ##### -->
<!-- ##### FUNCTION glade_app_selection_remove ##### -->
<para>
</para>
@ -502,7 +382,30 @@ to initialize the Glade core.
@emit_signal:
<!-- ##### FUNCTION glade_default_app_selection_remove ##### -->
<!-- ##### FUNCTION glade_app_selection_changed ##### -->
<para>
</para>
<!-- ##### FUNCTION glade_app_get_selection ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_app_selection_clear ##### -->
<para>
</para>
@emit_signal:
<!-- ##### FUNCTION glade_app_selection_set ##### -->
<para>
</para>
@ -511,34 +414,12 @@ to initialize the Glade core.
@emit_signal:
<!-- ##### FUNCTION glade_default_app_selection_clear ##### -->
<para>
</para>
@emit_signal:
<!-- ##### FUNCTION glade_default_app_selection_changed ##### -->
<para>
</para>
<!-- ##### FUNCTION glade_default_app_undo_button_new ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION glade_default_app_redo_button_new ##### -->
<!-- ##### FUNCTION glade_app_is_selected ##### -->
<para>
</para>
@object:
@Returns:

View File

@ -39,8 +39,7 @@ va_lists etc (back and forth).
@construct_only:
@common:
@packing:
@atk_property:
@atk_relation:
@atk_type:
@translatable:
@visible_lines:
@save:
@ -52,6 +51,16 @@ va_lists etc (back and forth).
@set_function:
@get_function:
<!-- ##### ENUM GPCAtkType ##### -->
<para>
</para>
@GPC_ATK_NONE:
@GPC_ATK_PROPERTY:
@GPC_ATK_RELATION:
@GPC_ATK_ACTION:
<!-- ##### USER_FUNCTION GladeVerifyPropertyFunc ##### -->
<para>
@ -132,16 +141,6 @@ va_lists etc (back and forth).
@Returns:
<!-- ##### FUNCTION glade_property_class_void_value ##### -->
<para>
</para>
@class:
@value:
@Returns:
<!-- ##### FUNCTION glade_property_class_make_gvalue_from_string ##### -->
<para>
@ -183,6 +182,26 @@ va_lists etc (back and forth).
@vl:
<!-- ##### FUNCTION glade_property_class_get_from_gvalue ##### -->
<para>
</para>
@class:
@value:
@Varargs:
<!-- ##### FUNCTION glade_property_class_make_gvalue ##### -->
<para>
</para>
@class:
@Varargs:
@Returns:
<!-- ##### FUNCTION glade_property_class_update_from_node ##### -->
<para>
@ -227,3 +246,31 @@ va_lists etc (back and forth).
@Returns:
<!-- ##### FUNCTION glade_property_class_void_value ##### -->
<para>
</para>
@class:
@value:
@Returns:
<!-- ##### FUNCTION glade_property_class_atk_realname ##### -->
<para>
</para>
@atk_name:
@Returns:
<!-- ##### FUNCTION glade_property_class_list_atk_relations ##### -->
<para>
</para>
@owner_type:
@Returns:

View File

@ -218,6 +218,14 @@ the #GladePropertyClass describes how a #GladeProperty will function.
@property:
<!-- ##### FUNCTION glade_property_load ##### -->
<para>
</para>
@property:
<!-- ##### FUNCTION glade_property_read ##### -->
<para>

View File

@ -305,7 +305,7 @@ This is where all of that really usefull miscalanious stuff lands up.
@Returns:
<!-- ##### FUNCTION glade_util_added_in_list ##### -->
<!-- ##### FUNCTION glade_util_removed_from_list ##### -->
<para>
</para>
@ -315,7 +315,7 @@ This is where all of that really usefull miscalanious stuff lands up.
@Returns:
<!-- ##### FUNCTION glade_util_removed_from_list ##### -->
<!-- ##### FUNCTION glade_util_added_in_list ##### -->
<para>
</para>
@ -344,16 +344,6 @@ 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>
@ -372,3 +362,13 @@ 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:

View File

@ -35,7 +35,6 @@ classes; it also provides an abstraction later to container apis.
@children:
@child_packings:
@module:
@in_palette:
@post_create_function:
@get_internal_child:
@launch_editor:

View File

@ -99,7 +99,8 @@ libgladeuiinclude_HEADERS = \
glade-app.h \
glade-builtins.h \
glade-fixed-manager.h \
fixed_bg.xpm
fixed_bg.xpm \
atk.xpm
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libgladeui-1.0.pc glade-3.pc

View File

@ -106,6 +106,16 @@ static const GPCAtkPropertyTab relation_names_table[] = {
N_("Indicates that an object is a parent window of another object") }
};
/**
* glade_property_class_atk_realname:
* @atk_name: The id of the atk property
*
* Translates a GladePropertyClass->id to the name that should be
* saved into the glade file.
*
* Returns: a pointer to a constant string.
*/
G_CONST_RETURN gchar *
glade_property_class_atk_realname (const gchar *atk_name)
{
@ -983,65 +993,8 @@ glade_property_class_get_from_gvalue (GladePropertyClass *class,
va_end (vl);
}
/**
* glade_property_class_new_atk_action:
* @name: The atk action name
* @def: The default desctription
* @owner_type: The #GType of the owning widget class.
*
* Returns: a newly created atk action #GladePropertyClass
* for the said criteria.
*/
GladePropertyClass *
glade_property_class_new_atk_action (const gchar *name,
const gchar *def,
GType owner_type)
{
const GPCAtkPropertyTab *action_tab = NULL;
GladePropertyClass *property_class;
gint i;
g_return_val_if_fail (name != NULL, NULL);
/* Find our hard-coded table entry */
for (i = 0; i < G_N_ELEMENTS (action_names_table); i++)
{
if (!strcmp (name, action_names_table[i].prop_name))
action_tab = &action_names_table[i];
}
if (action_tab == NULL)
{
g_warning ("Unrecognized atk action '%s' on class %s",
name, g_type_name (owner_type));
return NULL;
}
property_class = glade_property_class_new ();
property_class->pspec = glade_standard_string_spec();
property_class->pspec->owner_type = owner_type;
property_class->id = g_strdup (action_tab->id);
property_class->name = g_strdup (_(action_tab->name));
property_class->tooltip = g_strdup (_(action_tab->tooltip));
property_class->atk_type = GPC_ATK_ACTION;
property_class->ignore = TRUE;
property_class->visible_lines = 2;
property_class->def =
glade_property_class_make_gvalue_from_string
(property_class, def, NULL);
property_class->orig_def =
glade_property_class_make_gvalue_from_string
(property_class, def, NULL);
return property_class;
}
/**
* glade_property_class_new_atk_relation:
* glade_property_class_list_atk_relations:
* @owner_type: The #GType of the owning widget class.
*
* Returns: a #GList of newly created atk relation #GladePropertyClass.
@ -1404,6 +1357,7 @@ glade_property_class_update_from_node (GladeXmlNode *node,
return FALSE;
g_free (buff);
/* If Disabled="TRUE" we set *property_class to NULL, but we return TRUE.
* The caller may want to remove this property from its list.
*/
@ -1534,6 +1488,13 @@ glade_property_class_update_from_node (GladeXmlNode *node,
class->ignore = glade_xml_get_property_boolean (node, GLADE_TAG_IGNORE, class->ignore);
class->resource = glade_xml_get_property_boolean (node, GLADE_TAG_RESOURCE, class->resource);
/* No atk introspection here.
*/
if (glade_xml_get_property_boolean (node, GLADE_TAG_ATK_ACTION, FALSE))
class->atk_type = GPC_ATK_ACTION;
else if (glade_xml_get_property_boolean (node, GLADE_TAG_ATK_PROPERTY, FALSE))
class->atk_type = GPC_ATK_PROPERTY;
/* Special case pixbuf here.
*/
if (class->pspec->value_type == GDK_TYPE_PIXBUF)
@ -1580,7 +1541,7 @@ glade_property_class_match (GladePropertyClass *class,
/**
* glade_property_class_match:
* glade_property_class_void_value:
* @class: a #GladePropertyClass
*
* Returns: Whether @value for this @class is voided; a voided value

View File

@ -12,6 +12,7 @@ G_BEGIN_DECLS
#define GLADE_IS_PROPERTY_CLASS(gpc) (gpc != NULL)
#define GPC_OBJECT_DELIMITER ", "
#define GPC_PROPERTY_NAMELEN 512 /* Enough space for a property name I think */
typedef struct _GladePropertyClass GladePropertyClass;
@ -191,10 +192,6 @@ LIBGLADEUI_API
GladePropertyClass *glade_property_class_new (void);
LIBGLADEUI_API
GladePropertyClass *glade_property_class_new_from_spec (GParamSpec *spec);
LIBGLADEUI_API
GladePropertyClass *glade_property_class_new_atk_action (const gchar *name,
const gchar *def,
GType owner_type);
LIBGLADEUI_API
GList *glade_property_class_list_atk_relations (GType owner_type);
LIBGLADEUI_API

View File

@ -131,84 +131,6 @@ gwc_props_from_pspecs (GParamSpec **specs, gint n_specs)
return g_list_reverse (list);
}
static GList *
gwc_list_atk_actions (GladeWidgetClass *class, AtkAction *action)
{
GladePropertyClass *pclass;
GList *actions = NULL;
gint n_actions, i;
const gchar *name, *def;
n_actions = atk_action_get_n_actions (action);
for (i = 0; i < n_actions; i++)
{
name = atk_action_get_name (action, i);
def = atk_action_get_description (action, i);
pclass = glade_property_class_new_atk_action
(name, def, class->type);
actions = g_list_prepend (actions, pclass);
}
return g_list_reverse (actions);
}
static GList *
gwc_list_atk_properties (GladeWidgetClass *class)
{
GladePropertyClass *pclass;
GObjectClass *object_class;
GObject *object;
GParamSpec *spec;
AtkObject *accessible;
GList *list, *atk_list = NULL;
/* Atk props are only applied on instantiatable classes */
if (G_TYPE_IS_INSTANTIATABLE (class->type) == FALSE ||
G_TYPE_IS_ABSTRACT (class->type))
return NULL;
object = g_object_new (class->type, NULL);
if ((accessible =
atk_implementor_ref_accessible(ATK_IMPLEMENTOR (object))) != NULL)
{
object_class = G_OBJECT_GET_CLASS (accessible);
/* Get the desctiption pspec and add it (also touch up visible-lines) */
spec = g_object_class_find_property
(object_class, "accessible_description");
pclass = glade_property_class_new_from_spec (spec);
/* multiple lines on the desctription */
pclass->visible_lines = 2;
atk_list = g_list_prepend (atk_list, pclass);
/* Get the name pspec and add it */
spec = g_object_class_find_property (object_class,
"accessible_name");
pclass = glade_property_class_new_from_spec (spec);
atk_list = g_list_prepend (atk_list, pclass);
if (ATK_IS_ACTION (accessible))
{
list = gwc_list_atk_actions (class, ATK_ACTION (accessible));
atk_list = g_list_concat (atk_list, list);
}
list = glade_property_class_list_atk_relations (class->type);
atk_list = g_list_concat (atk_list, list);
g_object_unref (G_OBJECT (accessible));
}
// XXX FIXME: Leek :( g_object_unref (object);
// g_object_unref causes segfaults here... why ?
return atk_list;
}
static GList *
glade_widget_class_list_properties (GladeWidgetClass *class)
{
@ -232,10 +154,10 @@ glade_widget_class_list_properties (GladeWidgetClass *class)
list = gwc_props_from_pspecs (specs, n_specs);
g_free (specs);
/* list atk properties if applicable */
/* list the (hard-coded) atk relation properties if applicable */
if (glade_util_class_implements_interface (class->type,
ATK_TYPE_IMPLEMENTOR))
atk_list = gwc_list_atk_properties (class);
atk_list = glade_property_class_list_atk_relations (class->type);
return g_list_concat (list, atk_list);
}
@ -413,6 +335,9 @@ glade_widget_class_update_properties_from_node (GladeXmlNode *node,
if (!id)
continue;
/* property names from catalogs also need to have the '-' form */
glade_util_replace (id, '_', '-');
/* find the property in our list, if not found append a new property */
for (list = *properties; list && list->data; list = list->next)
{

View File

@ -1516,15 +1516,20 @@ glade_widget_get_project (GladeWidget *widget)
GladeProperty *
glade_widget_get_property (GladeWidget *widget, const gchar *id_property)
{
GList *list;
static gchar id_buffer[GPC_PROPERTY_NAMELEN] = { 0, };
GList *list;
GladeProperty *property;
g_return_val_if_fail (GLADE_IS_WIDGET (widget), NULL);
g_return_val_if_fail (id_property != NULL, NULL);
/* "-1" to always leave a trailing '\0' charachter */
strncpy (id_buffer, id_property, GPC_PROPERTY_NAMELEN - 1);
glade_util_replace (id_buffer, '_', '-');
for (list = widget->properties; list; list = list->next) {
property = list->data;
if (strcmp (property->class->id, id_property) == 0)
if (strcmp (property->class->id, id_buffer) == 0)
return property;
}
return glade_widget_get_pack_property (widget, id_property);
@ -1540,15 +1545,20 @@ glade_widget_get_property (GladeWidget *widget, const gchar *id_property)
GladeProperty *
glade_widget_get_pack_property (GladeWidget *widget, const gchar *id_property)
{
GList *list;
static gchar id_buffer[GPC_PROPERTY_NAMELEN] = { 0, };
GList *list;
GladeProperty *property;
g_return_val_if_fail (GLADE_IS_WIDGET (widget), NULL);
g_return_val_if_fail (id_property != NULL, NULL);
/* "-1" to always leave a trailing '\0' charachter */
strncpy (id_buffer, id_property, GPC_PROPERTY_NAMELEN - 1);
glade_util_replace (id_buffer, '_', '-');
for (list = widget->packing_properties; list; list = list->next) {
property = list->data;
if (strcmp (property->class->id, id_property) == 0)
if (strcmp (property->class->id, id_buffer) == 0)
return property;
}
return NULL;

View File

@ -131,6 +131,8 @@ typedef struct _GladeProject GladeProject;
#define GLADE_TAG_VISIBLE_LINES "visible-lines"
#define GLADE_TAG_RESOURCE "resource"
#define GLADE_TAG_INIT_FUNCTION "init-function"
#define GLADE_TAG_ATK_ACTION "atk-action"
#define GLADE_TAG_ATK_PROPERTY "atk-property"
#define GLADE_NUMERICAL_STEP_INCREMENT 1
#define GLADE_FLOATING_STEP_INCREMENT 0.01F

View File

@ -69,18 +69,6 @@ main (int argc, char *argv[])
GOptionContext *option_context;
GOptionGroup *option_group;
GError *error = NULL;
gchar *modules, *new_modules;
/* We need to ensure that gail is loaded, so that we can query accessibility
info. I can't see a GTK+ function to do that. For now we just add the
modules we need to the GTK_MODULES environment variable. It doesn't
matter if modules appear twice. */
modules = (char*) g_getenv ("GTK_MODULES");
new_modules = g_strdup_printf ("%s%s%s",
modules ? modules : "",
modules ? G_SEARCHPATH_SEPARATOR_S : "",
"gail");
g_setenv ("GTK_MODULES", new_modules, TRUE);
#ifdef ENABLE_NLS
setlocale (LC_ALL, "");
@ -116,7 +104,7 @@ main (int argc, char *argv[])
g_print ("%s\n", error->message);
g_error_free (error);
exit (1);
return -1;
}

View File

@ -54,6 +54,21 @@
<property id="style" disabled="True"/>
<property id="sensitive" ignore="True"/>
<property id="has-default" ignore="True" common="True"/>
<!-- Atk name and description properties -->
<property id="accessible-name" _name="Accessible Name" ignore="True" atk-property="True" translatable="True">
<_tooltip>Object instance's name formatted for assistive technology access</_tooltip>
<spec>glade_standard_string_spec</spec>
<visible-lines>2</visible-lines>
</property>
<property id="accessible-description" _name="Accessible Description" ignore="True" atk-property="True" translatable="True">
<_tooltip>Description of an object, formatted for assistive technology access</_tooltip>
<spec>glade_standard_string_spec</spec>
<visible-lines>2</visible-lines>
</property>
</properties>
</glade-widget-class>
@ -156,8 +171,8 @@
<property id="allow-grow" disabled="True" />
<property id="resize-mode" disabled="True" />
<property id="screen" disabled="True" />
<property id="role" translatable="False"/>
<property id="icon-name" translatable="False"/>
<property id="role"/>
<property id="icon-name"/>
<property id="resizable" ignore="True" />
<property id="decorated" ignore="True" />
<property id="title" ignore="True" />
@ -194,17 +209,23 @@
<glade-widget-class name="GtkMenuItem" generic-name="menuitem" _title="Menu Item">
<post-create-function>glade_gtk_menu_item_post_create</post-create-function>
<properties>
<property id="label" _name="Label">
<_tooltip>The text of the menu item</_tooltip>
<spec>glade_standard_string_spec</spec>
<set-function>glade_gtk_menu_item_set_label</set-function>
</property>
<property id="use-underline" _name="Use Underline">
<spec>glade_standard_boolean_spec</spec>
<set-function>glade_gtk_menu_item_set_use_underline</set-function>
</property>
</properties>
<properties>
<property id="label" _name="Label">
<_tooltip>The text of the menu item</_tooltip>
<spec>glade_standard_string_spec</spec>
<set-function>glade_gtk_menu_item_set_label</set-function>
</property>
<property id="use-underline" _name="Use Underline">
<spec>glade_standard_boolean_spec</spec>
<set-function>glade_gtk_menu_item_set_use_underline</set-function>
</property>
<!-- Atk click property -->
<property id="atk-click" _name="Click" ignore="True" atk-action="True">
<_tooltip>Set the desctription of the Click atk action</_tooltip>
<spec>glade_standard_string_spec</spec>
<visible-lines>2</visible-lines>
</property>
</properties>
<children>
<child>
<type>GtkMenu</type>
@ -365,7 +386,17 @@
</properties>
</glade-widget-class>
<glade-widget-class name="GtkEntry" generic-name="entry" _title="Text Entry"/>
<glade-widget-class name="GtkEntry" generic-name="entry" _title="Text Entry">
<properties>
<!-- Atk activate property -->
<property id="atk-activate" _name="Activate" ignore="True" atk-action="True">
<_tooltip>Set the desctription of the Activate atk action</_tooltip>
<spec>glade_standard_string_spec</spec>
<visible-lines>2</visible-lines>
</property>
</properties>
</glade-widget-class>
<glade-widget-class name="GtkTextView" generic-name="textview" _title="Text View">
<properties>
<property id="justification">
@ -421,6 +452,27 @@
<value id="GTK_RELIEF_NONE" _name="None"/>
</displayable-values>
</property>
<!-- Atk click property -->
<property id="atk-click" _name="Click" ignore="True" atk-action="True">
<_tooltip>Set the desctription of the Click atk action</_tooltip>
<spec>glade_standard_string_spec</spec>
<visible-lines>2</visible-lines>
</property>
<!-- Atk press property -->
<property id="atk-press" _name="Press" ignore="True" atk-action="True">
<_tooltip>Set the desctription of the Press atk action</_tooltip>
<spec>glade_standard_string_spec</spec>
<visible-lines>2</visible-lines>
</property>
<!-- Atk release property -->
<property id="atk-release" _name="Release" ignore="True" atk-action="True">
<_tooltip>Set the desctription of the Release atk action</_tooltip>
<spec>glade_standard_string_spec</spec>
<visible-lines>2</visible-lines>
</property>
</properties>
<children>
@ -505,6 +557,13 @@
<_tooltip>The items in this combo box</_tooltip>
<set-function>glade_gtk_combo_box_set_items</set-function>
</property>
<!-- Atk press property -->
<property id="atk-press" _name="Press" ignore="True" atk-action="True">
<_tooltip>Set the desctription of the Press atk action</_tooltip>
<spec>glade_standard_string_spec</spec>
<visible-lines>2</visible-lines>
</property>
</properties>
</glade-widget-class>
@ -552,7 +611,7 @@
<glade-widget-class name="GtkImage" generic-name="image" _title="Image">
<post-create-function>glade_gtk_image_post_create</post-create-function>
<properties>
<property id="stock" visible="False" translatable="False">
<property id="stock" visible="False">
<set-function>glade_gtk_image_set_real_stock</set-function>
</property>
<property id="glade-type" _name="Edit Type" save="False">
@ -564,14 +623,14 @@
<property id="pixmap" disabled="True"/>
<property id="image" disabled="True"/>
<property id="mask" disabled="True"/>
<property id="pixbuf" _name="File Name" translatable="False"/>
<property id="pixbuf" _name="File Name"/>
<property id="glade-stock" _name="Stock Image" save="False">
<_tooltip>A builtin stock image</_tooltip>
<spec>glade_standard_stock_spec</spec>
<_tooltip>The stock item for this image</_tooltip>
<set-function>glade_gtk_image_set_stock</set-function>
</property>
<property id="icon-name" _name="Icon Name" translatable="False">
<property id="icon-name" _name="Icon Name">
<set-function>glade_gtk_image_set_icon_name</set-function>
</property>
</properties>
@ -867,6 +926,13 @@
<properties>
<property id="label" visible="False"/>
<property id="label-widget" disabled="True"/>
<!-- Atk activate property -->
<property id="atk-activate" _name="Activate" ignore="True" atk-action="True">
<_tooltip>Set the desctription of the Activate atk action</_tooltip>
<spec>glade_standard_string_spec</spec>
<visible-lines>2</visible-lines>
</property>
</properties>
<children>
<child>
@ -993,7 +1059,7 @@
</glade-widget-class>
<!-- Gtk+ Obsolete -->
<glade-widget-class name="GtkRuler" _title="Ruler">
<glade-widget-class name="GtkRuler" generic-name="ruler" _title="Ruler">
<properties>
<property default="10.0" id="upper"/>
<property default="5.0" id="position"/>
@ -1010,6 +1076,13 @@
<get-internal-child-function>glade_gtk_combo_get_internal_child</get-internal-child-function>
<properties>
<property id="size" disabled="True"/>
<!-- Atk press property -->
<property id="atk-press" _name="Press" ignore="True" atk-action="True">
<_tooltip>Set the desctription of the Press atk action</_tooltip>
<spec>glade_standard_string_spec</spec>
<visible-lines>2</visible-lines>
</property>
</properties>
<children>
@ -1020,7 +1093,16 @@
</children>
</glade-widget-class>
<glade-widget-class name="GtkOptionMenu" generic-name="optionmenu" _title="Option Menu"/>
<glade-widget-class name="GtkOptionMenu" generic-name="optionmenu" _title="Option Menu">
<properties>
<!-- Atk press property -->
<property id="atk-press" _name="Press" ignore="True" atk-action="True">
<_tooltip>Set the desctription of the Press atk action</_tooltip>
<spec>glade_standard_string_spec</spec>
<visible-lines>2</visible-lines>
</property>
</properties>
</glade-widget-class>
<glade-widget-class name="GtkList" generic-name="list" _title="List">
<children>
@ -1068,9 +1150,9 @@
<glade-widget-class name="GtkFileSelection" generic-name="fileselection" _title="File Selection"/>
<glade-widget-class name="Custom" generic-name="custom" _title="Custom widget">
<properties>
<property id="creation-function" translatable="False"/>
<property id="string1" translatable="False"/>
<property id="string2" translatable="False"/>
<property id="creation-function"/>
<property id="string1"/>
<property id="string2"/>
</properties>
</glade-widget-class>