12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #include "copyright.h"
- #include <config.h>
- #include "XMenuInt.h"
- int
- XMenuChangeSelection(Display *display, register XMenu *menu, register int p_num, register int s_num, char *data, int data_sw, char *label, int label_sw)
-
-
-
-
-
-
-
-
- {
- register XMPane *p_ptr;
- register XMSelect *s_ptr;
- int label_length;
- int label_width;
-
- if (label == NULL) {
- _XMErrorCode = XME_ARG_BOUNDS;
- return(XM_FAILURE);
- }
-
- p_ptr = _XMGetPanePtr(menu, p_num);
- if (p_ptr == NULL) return(XM_FAILURE);
-
- s_ptr = _XMGetSelectionPtr(p_ptr, s_num);
- if (s_ptr == NULL) return(XM_FAILURE);
-
- if (label_sw) {
-
- label_length = strlen(label);
- label_width = XTextWidth(menu->s_fnt_info, label, label_length);
-
- s_ptr->label = label;
- s_ptr->label_width = label_width;
- s_ptr->label_length = label_length;
-
- menu->recompute = 1;
- }
-
- if (data_sw) s_ptr->data = data;
-
- _XMErrorCode = XME_NO_ERROR;
- return(s_num);
- }
|