Mercurial > emacs
view oldXMenu/FindPane.c @ 112043:dffe14ef6b65
Reduce GTK tool-bar switching delay by avoiding selective show/hide of widgets.
* src/gtkutil.c (xg_get_tool_bar_widgets): Use NULL for a missing
image or label in the container.
(xg_make_tool_item): Replace VERT_ONLY arg with HORIZ, TEXT_IMAGE.
(xg_show_toolbar_item): Function deleted.
(xg_tool_item_stale_p): New function.
(update_frame_tool_bar): Calculate tool-bar style once per call.
Instead of hiding text labels, omit them. Don't use
xg_show_toolbar_item; create new GtkToolItems from scratch if
necessary, instead of trying to re-use them. This avoids an
annoying animation when changing tool-bars.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 01 Jan 2011 01:02:36 -0500 |
parents | 5cc91198ffb2 |
children | ef719132ddfa |
line wrap: on
line source
/* Copyright Massachusetts Institute of Technology 1985 */ #include "copyright.h" /* * XMenu: MIT Project Athena, X Window system menu package * * XMenuFindPane - Find the first menu pane who's label matches a * particular string. * * Author: Tony Della Fera, DEC * January 22, 1986 * */ #include "XMenuInt.h" int XMenuFindPane(register XMenu *menu, register char *label) { register XMPane *p_ptr; register int i = 0; /* * Check for NULL pointers! */ if (label == NULL) { _XMErrorCode = XME_ARG_BOUNDS; return(XM_FAILURE); } /* * Find the pane who's label matches the given label. */ for ( p_ptr = menu->p_list->next; p_ptr != menu->p_list; p_ptr = p_ptr->next ){ if (p_ptr->label_length == 0) { if (*label == '\0') { _XMErrorCode = XME_NO_ERROR; return (i); } } else { if (strncmp (label, p_ptr->label, p_ptr->label_length) == 0) { _XMErrorCode = XME_NO_ERROR; return (i); } } i++; } /* * If we get here then we have not found * a match. */ _XMErrorCode = XME_P_NOT_FOUND; return (XM_FAILURE); } /* arch-tag: b6c94285-0d1d-4569-a071-b34b63c67a54 (do not change this comment) */