Annotation of researchv9/X11/src/X.V11R1/lib/oldXMenu/ChgPane.c, revision 1.1.1.1

1.1       root        1: #include <X11/copyright.h>
                      2: 
                      3: /* $Header: ChgPane.c,v 1.2 87/09/10 20:30:33 chris Exp $ */
                      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: 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 lenght 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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.