1: #include <X/mit-copyright.h>
2:
3: /* $Header: XMenuChgPane.c,v 10.8 86/02/01 16:14:29 tony Rel $ */
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 "XMenuInternal.h"
17:
18:
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 int i; /* Loop counter. */
25: register XMPane *p_ptr; /* XMPane pointer. */
26:
27: int label_length; /* Label lenght in characters. */
28: int label_width; /* Label width in pixels. */
29:
30: /*
31: * Check for NULL pointers!
32: */
33: if (label == NULL) {
34: _XMErrorCode = XME_ARG_BOUNDS;
35: return(XM_FAILURE);
36: }
37:
38: /*
39: * Find the right pane.
40: */
41: p_ptr = _XMGetPanePtr(menu, p_num);
42: if (p_ptr == NULL) return(XM_FAILURE);
43:
44: /*
45: * Determine label size.
46: */
47: label_width = XQueryWidth(label, menu->p_fnt_info->id);
48: label_length = strlen(label);
49:
50: /*
51: * Change the pane data.
52: */
53: p_ptr->label = label;
54: p_ptr->label_width = label_width;
55: p_ptr->label_length = label_length;
56:
57: /*
58: * Schedule a recompute.
59: */
60: menu->recompute = 1;
61:
62: /*
63: * Return the pane number just changed.
64: */
65: _XMErrorCode = XME_NO_ERROR;
66: return(p_num);
67: }
Defined functions
defined in line
18; used 1 times