Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:15:24

0001 #ifndef _XmDropDown_h_
0002 #define _XmDropDown_h_
0003 
0004 #if defined(VMS) || defined(__VMS)
0005 #include <X11/apienvset.h>
0006 #endif
0007 
0008 #include <Xm/ManagerP.h>
0009 #include <Xm/DropDown.h>
0010 
0011 #ifdef __cplusplus
0012 extern "C" {
0013 #endif
0014 
0015 #define FIX_1446
0016 
0017 #define XmDropDown_UP       ((unsigned char) 0)
0018 #define XmDropDown_UNPOSTED XmDropDown_UP
0019 #define XmDropDown_DOWN         ((unsigned char) 1)
0020 #define XmDropDown_POSTED       XmDropDown_DOWN         
0021 #define XmDropDown_IN_PROGRESS  ((unsigned char) 2)
0022 #define XmDropDown_BEGIN_POPUP_FROM_TEXT  ((unsigned char) 3)
0023 #ifdef FIX_1446
0024 #define XmDropDown_AFTER_UNPOST     ((unsigned char) 4)
0025 #endif
0026 #define XmDropDown_h_space(w)   (((XmDropDownWidget)(w))->combo.h_space)
0027 #define XmDropDown_v_space(w)   (((XmDropDownWidget)(w))->combo.v_space)
0028 #define XmDropDown_popup_offset(w)  \
0029    (((XmDropDownWidget)(w))->combo.popup_offset)
0030 #define XmDropDown_verify(w)    (((XmDropDownWidget)(w))->combo.verify)
0031 #define XmDropDown_editable(w)  (((XmDropDownWidget)(w))->combo.editable)
0032 #define XmDropDown_show_label(w)    \
0033     (((XmDropDownWidget)(w))->combo.show_label)
0034 #define XmDropDown_customized_combo_box(w)  \
0035    (((XmDropDownWidget)(w))->combo.customized_combo_box)
0036 #define XmDropDown_use_text_field(w)    \
0037    (((XmDropDownWidget)(w))->combo.use_text_field)
0038 #define XmDropDown_popup_shell(w)   (((XmDropDownWidget)(w))->combo.popup_shell)
0039 #define XmDropDown_popup_cursor(w)  \
0040     (((XmDropDownWidget)(w))->combo.popup_cursor)
0041 #define XmDropDown_translations(w)  \
0042     (((XmDropDownWidget)(w))->combo.translations)
0043 #define XmDropDown_verify_text_callback(w)  \
0044    (((XmDropDownWidget)(w))->combo.verify_text_callback)
0045 #define XmDropDown_verify_text_failed_callback(w)   \
0046    (((XmDropDownWidget)(w))->combo.verify_text_failed_callback)
0047 #define XmDropDown_update_text_callback(w)  \
0048    (((XmDropDownWidget)(w))->combo.update_text_callback)
0049 #define XmDropDown_update_shell_callback(w) \
0050    (((XmDropDownWidget)(w))->combo.update_shell_callback)
0051 #define XmDropDown_visible_items(w) \
0052    (((XmDropDownWidget)(w))->combo.visible_items)
0053 #define XmDropDown_new_visual_style(w)  \
0054    (((XmDropDownWidget)(w))->combo.new_visual_style)
0055 
0056 #define XmDropDown_old_text(w)      (((XmDropDownWidget)(w))->combo.old_text)
0057 #define XmDropDown_focus_owner(w)   (((XmDropDownWidget)(w))->combo.focus_owner)
0058 #define XmDropDown_focus_state(w)   (((XmDropDownWidget)(w))->combo.focus_state)
0059 #define XmDropDown_list_state(w)    (((XmDropDownWidget)(w))->combo.list_state)
0060 #define XmDropDown_text_x(w)        (((XmDropDownWidget)(w))->combo.text_x)
0061 #define XmDropDown_list(w)          (((XmDropDownWidget)(w))->combo.list)
0062 #define XmDropDown_label(w)         (((XmDropDownWidget)(w))->combo.label)
0063 #define XmDropDown_text(w)          (((XmDropDownWidget)(w))->combo.text)
0064 #define XmDropDown_arrow(w)         (((XmDropDownWidget)(w))->combo.arrow)
0065 
0066 #define XmDropDown_autoTraversal(w) (((XmDropDownWidget)(w))->combo.autoTraversal)
0067 #define XmDropDown_activateOnFill(w)    \
0068     (((XmDropDownWidget)(w))->combo.activateOnFill)
0069 #define XmDropDown_doActivate(w)    (((XmDropDownWidget)(w))->combo.doActivate)
0070 #define XmDropDown_inValueChanged(w)    \
0071     (((XmDropDownWidget)(w))->combo.inValueChanged)
0072 
0073 
0074 /* Should return True to ignore invalid entry warning. Combination Box
0075  *  does not currently use this. Presumes do it in subclasses 
0076  */
0077 typedef Boolean (*XmDropDownTextProc)(Widget w, char *text);
0078 
0079 typedef Boolean (*XmDropDownTextListMapProc)(
0080     Widget w,       /* combo box */
0081     Widget text,    /* text */
0082     Widget list     /* list */
0083 );
0084 
0085 /* Version number for the first Revision  */
0086 #define XmDropDownExtensionVersion 2
0087 
0088 typedef struct {
0089         /* standard extension fields */
0090     XtPointer           next_extension;
0091     XrmQuark                    record_type;
0092     long                        version;
0093     Cardinal                    record_size;
0094 
0095     /* extra fields */
0096     XmDropDownTextProc      verify;
0097     XmDropDownTextProc      update;
0098     XmDropDownTextListMapProc   setTextFromList;
0099     XmDropDownTextListMapProc   setListFromText;
0100 } XmDropDownClassPartExtension;
0101 
0102 typedef struct {
0103     XtPointer extension;    /* Just in case we need it later. */
0104 } XmDropDownClassPart;
0105 
0106 typedef struct _XmDropDownClassRec {
0107     CoreClassPart       core_class;
0108     CompositeClassPart      composite_class;
0109     ConstraintClassPart     constraint_class;
0110     XmManagerClassPart      manager_class;
0111     XmDropDownClassPart     combo_class;
0112 } XmDropDownClassRec;
0113 
0114 typedef struct {
0115     /* resources */
0116 
0117     Dimension h_space;      /* The amount of space to leave between */
0118     Dimension v_space;      /* widgets and the box edges. */
0119     int popup_offset;       /* The offset of the popup offset from the
0120                    left edge of the text widget. */
0121     Boolean verify;     /* Verify the contents of the Text widget
0122                    on leave or CR when this is True. */
0123     Boolean editable;       /* Allow the text field to be edited? */
0124     Boolean show_label;     /* Whether or not to show the label. */
0125     Boolean customized_combo_box; /* Is this a customized combo box. */
0126     Boolean use_text_field; /* Use XmTextField of XmText for textual input */
0127     Widget popup_shell;     /* The id of the popup shell. */
0128     Cursor popup_cursor;    /* Cursor for the Popup Window.  */
0129     XtTranslations translations; /* The translation table for all children. */
0130 
0131     /*
0132      * Callbacks to verify, and update the text and shell widgets.
0133      */
0134 
0135     XtCallbackList verify_text_callback;
0136     XtCallbackList verify_text_failed_callback;
0137     XtCallbackList update_text_callback;
0138     XtCallbackList update_shell_callback;
0139 
0140     /* private state */
0141 
0142     String old_text;        /* The old text value. */
0143     Window focus_owner;     /* Previous owner and state of the focus. */
0144     int focus_state;
0145 
0146     unsigned char list_state;   /* XmDropDown_UP, XmDropDown_DOWN or XmDropDown_IN_PROGRESS. */
0147 
0148     Position text_x;        /* X location of the text widget. */
0149 
0150     Widget list;        /* List contained in the popup shell. */
0151 
0152     Widget label;       /* The three children of the combo box. */
0153     Widget text; 
0154     Widget arrow;
0155 
0156     int visible_items;      /* only to set/get XmNvisibleItemCount, which is
0157                 ** a sop for non-customized combobox users */
0158     
0159     Boolean new_visual_style;
0160 
0161     Boolean autoTraversal;  /* traverse next on return */
0162     int activateOnFill;     /* activate when we fill this many chars */
0163     Boolean doActivate;     /* do activate on next value changed */
0164     Boolean inValueChanged; /* recursion prevention */
0165 
0166     Widget      vsb;
0167     Widget      hsb;
0168     Boolean     scrolling;
0169 } XmDropDownPart;
0170 
0171 typedef struct _XmDropDownRec {
0172     CorePart        core;
0173     CompositePart   composite;
0174     ConstraintPart  constraint;
0175     XmManagerPart   manager;
0176     XmDropDownPart combo;
0177 } XmDropDownRec;
0178 
0179 extern XmDropDownClassRec xmDropDownClassRec;
0180 
0181 #ifdef __cplusplus
0182 }   /* Closes scope of 'extern "C"' declaration */
0183 #endif
0184 
0185 #if defined(VMS) || defined(__VMS)
0186 #include <X11/apienvrst.h>
0187 #endif
0188 
0189 #endif /* _XmDropDownP_h_ */