int main(int argc, char **argv) { if (!gtk_init_check(&argc, &argv)) { g_message("Could not init gtk. Skipping test"); return 77; /* magic value to ignore test */ } g_print ("Testing string to enum... "); if (glade_enum_from_string(GTK_TYPE_ANCHOR_TYPE, "GTK_ANCHOR_NORTH_WEST") != GTK_ANCHOR_NORTH_WEST) { g_print("failed\n"); return 1; } g_print("passed\n"); g_print ("Testing nickname string to enum... "); if (glade_enum_from_string(GTK_TYPE_ANCHOR_TYPE, "north-west") != GTK_ANCHOR_NORTH_WEST) { g_print("failed\n"); return 1; } g_print("passed\n"); g_print ("Testing string to enum (single component)... "); if (glade_flags_from_string(GTK_TYPE_ATTACH_OPTIONS, "GTK_EXPAND") != GTK_EXPAND) { g_print("failed\n"); return 1; } g_print("passed\n"); g_print ("Testing nicknamestring to enum (single component)... "); if (glade_flags_from_string(GTK_TYPE_ATTACH_OPTIONS, "expand") != GTK_EXPAND) { g_print("failed\n"); return 1; } g_print("passed\n"); g_print ("Testing string to flag component ordering... "); if ((glade_flags_from_string(GTK_TYPE_ATTACH_OPTIONS, "expand|fill") != (GTK_EXPAND | GTK_FILL)) || (glade_flags_from_string(GTK_TYPE_ATTACH_OPTIONS, "fill|expand") != (GTK_EXPAND | GTK_FILL))) { g_print("failed\n"); return 1; } g_print("passed\n"); g_print ("All tests passed\n"); return 0; }
static void mate_add_dock_item (GladeXML *xml, GtkWidget *parent, GladeWidgetInfo *info, GladeChildInfo *childinfo) { MateComponentDockPlacement placement; guint band, offset; int position; MateComponentDockItemBehavior behavior; int i; GtkWidget *child; GtkWidget *toplevel; band = offset = position = 0; placement = MATECOMPONENT_DOCK_TOP; behavior = MATECOMPONENT_DOCK_ITEM_BEH_NORMAL; for (i = 0; i < childinfo->n_properties; i++) { const char *name = childinfo->properties[i].name; const char *value = childinfo->properties[i].value; if (!strcmp (name, "placement")) placement = glade_enum_from_string ( MATECOMPONENT_TYPE_DOCK_PLACEMENT, value); else if (!strcmp (name, "band")) band = strtoul (value, NULL, 10); else if (!strcmp (name, "position")) position = strtol (value, NULL, 10); else if (!strcmp (name, "offset")) offset = strtoul (value, NULL, 10); else if (!strcmp (name, "behavior")) behavior = glade_flags_from_string ( MATECOMPONENT_TYPE_DOCK_ITEM_BEHAVIOR, value); } child = glade_xml_build_widget (xml, childinfo->child); toplevel = gtk_widget_get_ancestor (parent, MATE_TYPE_APP); matecomponent_dock_item_set_behavior (MATECOMPONENT_DOCK_ITEM (child), behavior); if (toplevel != NULL) { mate_app_add_dock_item ( MATE_APP (toplevel), MATECOMPONENT_DOCK_ITEM (child), placement, band, position, offset); } else { matecomponent_dock_add_item (MATECOMPONENT_DOCK (parent), MATECOMPONENT_DOCK_ITEM (child), placement, band, position, offset, FALSE); } }
static void dock_item_set_behavior (GladeXML *xml, GtkWidget *widget, const char *name, const char *value) { BonoboDockItem *dock_item = BONOBO_DOCK_ITEM (widget); gchar *old_name; old_name = dock_item->name; dock_item->name = NULL; bonobo_dock_item_construct (dock_item, old_name, glade_flags_from_string ( BONOBO_TYPE_DOCK_ITEM_BEHAVIOR, value)); g_free (old_name); }