25858
+ ��膩��鰹申鐃順�渇��膩��� 1 #include "copyright.h"
+ ��膩��鰹申鐃順�渇��膩��� 2
88123
+ ��膩��鰹申鐃順�渇��膩��� 3 /* $Header: /u/src/emacs/19.0/oldXMenu/RCS/ChgPane.c,v 1.1 1992/04/11 22:10:17 jimb Exp $ */
25858
+ ��膩��鰹申鐃順�渇��膩��� 4 /* Copyright Massachusetts Institute of Technology 1985 */
+ ��膩��鰹申鐃順�渇��膩��� 5
+ ��膩��鰹申鐃順�渇��膩��� 6 /*
+ ��膩��鰹申鐃順�渇��膩��� 7 * XMenu: MIT Project Athena, X Window system menu package
+ ��膩��鰹申鐃順�渇��膩��� 8 *
+ ��膩��鰹申鐃順�渇��膩��� 9 * XMenuChangePane - Change the label of a menu pane.
+ ��膩��鰹申鐃順�渇��膩��� 10 *
+ ��膩��鰹申鐃順�渇��膩��� 11 * Author: Tony Della Fera, DEC
+ ��膩��鰹申鐃順�渇��膩��� 12 * December 19, 1985
+ ��膩��鰹申鐃順�渇��膩��� 13 *
+ ��膩��鰹申鐃順�渇��膩��� 14 */
+ ��膩��鰹申鐃順�渇��膩��� 15
+ ��膩��鰹申鐃順�渇��膩��� 16 #include "XMenuInt.h"
+ ��膩��鰹申鐃順�渇��膩��� 17
+ ��膩��鰹申鐃順�渇��膩��� 18 int
+ ��膩��鰹申鐃順�渇��膩��� 19 XMenuChangePane(menu, p_num, label)
+ ��膩��鰹申鐃順�渇��膩��� 20 register XMenu *menu; /* Menu object to be modified. */
+ ��膩��鰹申鐃順�渇��膩��� 21 register int p_num; /* Pane number to be modified. */
+ ��膩��鰹申鐃順�渇��膩��� 22 char *label; /* Selection label. */
+ ��膩��鰹申鐃順�渇��膩��� 23 {
+ ��膩��鰹申鐃順�渇��膩��� 24 register XMPane *p_ptr; /* XMPane pointer. */
+ ��膩��鰹申鐃順�渇��膩��� 25
+ ��膩��鰹申鐃順�渇��膩��� 26 int label_length; /* Label length in characters. */
+ ��膩��鰹申鐃順�渇��膩��� 27 int label_width; /* Label width in pixels. */
+ ��膩��鰹申鐃順�渇��膩��� 28
+ ��膩��鰹申鐃順�渇��膩��� 29 /*
+ ��膩��鰹申鐃順�渇��膩��� 30 * Check for NULL pointers!
+ ��膩��鰹申鐃順�渇��膩��� 31 */
+ ��膩��鰹申鐃順�渇��膩��� 32 if (label == NULL) {
+ ��膩��鰹申鐃順�渇��膩��� 33 _XMErrorCode = XME_ARG_BOUNDS;
+ ��膩��鰹申鐃順�渇��膩��� 34 return(XM_FAILURE);
+ ��膩��鰹申鐃順�渇��膩��� 35 }
+ ��膩��鰹申鐃順�渇��膩��� 36
+ ��膩��鰹申鐃順�渇��膩��� 37 /*
+ ��膩��鰹申鐃順�渇��膩��� 38 * Find the right pane.
+ ��膩��鰹申鐃順�渇��膩��� 39 */
+ ��膩��鰹申鐃順�渇��膩��� 40 p_ptr = _XMGetPanePtr(menu, p_num);
+ ��膩��鰹申鐃順�渇��膩��� 41 if (p_ptr == NULL) return(XM_FAILURE);
+ ��膩��鰹申鐃順�渇��膩��� 42
+ ��膩��鰹申鐃順�渇��膩��� 43 /*
+ ��膩��鰹申鐃順�渇��膩��� 44 * Determine label size.
+ ��膩��鰹申鐃順�渇��膩��� 45 */
+ ��膩��鰹申鐃順�渇��膩��� 46 label_length = strlen(label);
+ ��膩��鰹申鐃順�渇��膩��� 47 label_width = XTextWidth(menu->p_fnt_info, label, label_length);
+ ��膩��鰹申鐃順�渇��膩��� 48
+ ��膩��鰹申鐃順�渇��膩��� 49 /*
+ ��膩��鰹申鐃順�渇��膩��� 50 * Change the pane data.
+ ��膩��鰹申鐃順�渇��膩��� 51 */
+ ��膩��鰹申鐃順�渇��膩��� 52 p_ptr->label = label;
+ ��膩��鰹申鐃順�渇��膩��� 53 p_ptr->label_width = label_width;
+ ��膩��鰹申鐃順�渇��膩��� 54 p_ptr->label_length = label_length;
+ ��膩��鰹申鐃順�渇��膩��� 55
+ ��膩��鰹申鐃順�渇��膩��� 56 /*
+ ��膩��鰹申鐃順�渇��膩��� 57 * Schedule a recompute.
+ ��膩��鰹申鐃順�渇��膩��� 58 */
+ ��膩��鰹申鐃順�渇��膩��� 59 menu->recompute = 1;
+ ��膩��鰹申鐃順�渇��膩��� 60
+ ��膩��鰹申鐃順�渇��膩��� 61 /*
+ ��膩��鰹申鐃順�渇��膩��� 62 * Return the pane number just changed.
+ ��膩��鰹申鐃順�渇��膩��� 63 */
+ ��膩��鰹申鐃順�渇��膩��� 64 _XMErrorCode = XME_NO_ERROR;
+ ��膩��鰹申鐃順�渇��膩��� 65 return(p_num);
+ ��膩��鰹申鐃順�渇��膩��� 66 }