Merge from emacs-24; up to 2013-01-03T02:31:36Z!rgm@gnu.org
[bpt/emacs.git] / oldXMenu / SetSel.c
1 /* Copyright Massachusetts Institute of Technology 1985 */
2
3 #include "copyright.h"
4
5
6 /*
7 * XMenu: MIT Project Athena, X Window system menu package
8 *
9 * XMenuSetSelection - Set a menu selection to be active or inactive.
10 *
11 * Author: Tony Della Fera, DEC
12 * August, 1985
13 *
14 */
15
16 #include "XMenuInt.h"
17
18 int
19 XMenuSetSelection(register XMenu *menu, register int p_num, register int s_num, int active)
20 /* Menu object to be modified. */
21 /* Pane number to be modified. */
22 /* Selection number to modified. */
23 /* Make selection active? */
24 {
25 register XMPane *p_ptr; /* XMPane pointer. */
26 register XMSelect *s_ptr; /* XMSelect pointer. */
27
28 /*
29 * Find the right pane.
30 */
31 p_ptr = _XMGetPanePtr(menu, p_num);
32 if (p_ptr == NULL) return(XM_FAILURE);
33
34 /*
35 * Find the right selection.
36 */
37 s_ptr = _XMGetSelectionPtr(p_ptr, s_num);
38 if (s_ptr == NULL) return(XM_FAILURE);
39
40 /*
41 * Set its active switch.
42 */
43 s_ptr->active = active;
44
45 /*
46 * Return the selection number just set.
47 */
48 _XMErrorCode = XME_NO_ERROR;
49 return(s_num);
50 }
51