static GtkTooltips * create_yellow_tooltips() { GtkTooltips *tip; /* First create a default Tooltip */ tip = gtk_tooltips_new(); #ifndef HAVE_GTK_2 GdkColor *t_back; t_back = (GdkColor*)g_malloc( sizeof(GdkColor)); /* Try to get the colors */ if ( gdk_color_parse("linen", t_back)){ if(gdk_colormap_alloc_color(gdk_colormap_get_system(), t_back, FALSE, TRUE)) { gtk_tooltips_set_colors(tip, t_back, NULL); } } #endif return tip; }
/* This function is unimplemented because tooltip colors are * instead determined by the theme. */ int clip_GTK_TOOLTIPSSETCOLORS(ClipMachine * ClipMachineMemory) { C_widget *ctt = _fetch_cw_arg(ClipMachineMemory); ClipVar *mback = _clip_spar(ClipMachineMemory, 2); ClipVar *mfore = _clip_spar(ClipMachineMemory, 3); GdkColor back, fore, *pback = NULL, *pfore = NULL; CHECKCWID(ctt, GTK_IS_TOOLTIPS); CHECKOPT(2, MAP_type_of_ClipVarType); CHECKOPT(3, MAP_type_of_ClipVarType); if (mback && mback->ClipType_t_of_ClipVar.ClipVartype_type_of_ClipType == MAP_type_of_ClipVarType) _map_colors_to_gdk(ClipMachineMemory, mback, pback = &back); if (mfore && mfore->ClipType_t_of_ClipVar.ClipVartype_type_of_ClipType == MAP_type_of_ClipVarType) _map_colors_to_gdk(ClipMachineMemory, mfore, pfore = &fore); gtk_tooltips_set_colors(GTK_TOOLTIPS(ctt->widget), pback, pfore); return 0; err: return 1; }
GtkWidget* get_viewer_toolbar(GtkWidget *parent) { GtkWidget *toolbar, *pixmap_wid, *button; GdkPixmap *pixmap; GdkBitmap *mask; GtkStyle *style; gboolean fit_screen; style = gtk_widget_get_style(parent); toolbar = gtk_toolbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS); gtk_tooltips_set_colors( GTK_TOOLBAR(toolbar)->tooltips, get_viewer_tooltips_bgcolor(parent->window, gdk_window_get_colormap(parent->window)), &style->fg[GTK_STATE_NORMAL]); gtk_tooltips_set_delay(GTK_TOOLBAR(toolbar)->tooltips, 100); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)browse_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Browse"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_browse), NULL); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)fullscreen_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Full screen"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_full_screen), NULL); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)save_image_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); saveimage_button = gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Save Image"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_save_image), NULL); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)prev_image_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); prev_button = gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Previous Image"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_prev_image), NULL); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)next_image_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); next_button = gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Next Image"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_next_image), NULL); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)slideshow_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); slideshow_button = gtk_toolbar_append_element( GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_TOGGLEBUTTON, NULL, NULL, _("Stop/Resume Slideshow"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_slideshow_toggled), NULL); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)refresh_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Refresh"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_refresh), NULL); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)screen_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); button = gtk_toolbar_append_element( GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_TOGGLEBUTTON, NULL, NULL, _("Fit Screen"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_fitscreen_toggled), NULL); fit_screen = rc_get_boolean("fit_screen"); gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), fit_screen); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)rotate_left_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Rotate -90"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_rotate), (gint *) LEFT); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)rotate_right_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Rotate +90"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_rotate), (gint *) RIGHT); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)right_left_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Reflect Right/Left"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_reflect), (gint *) RIGHTLEFT); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)up_down_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Reflect Up/Down"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_reflect), (gint *) UPDOWN); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)exit_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Exit"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(close_gtksee), NULL); return toolbar; }