home *** CD-ROM | disk | FTP | other *** search
- /***********************************************************
- Copyright 1993 Interleaf, Inc.
-
- Permission to use, copy, modify, and distribute this software
- and its documentation for any purpose without fee is granted,
- provided that the above copyright notice appear in all copies
- and that both copyright notice and this permission notice appear
- in supporting documentation, and that the name of Interleaf not
- be used in advertising or publicly pertaining to distribution of
- the software without specific written prior permission.
-
- Interleaf makes no representation about the suitability of this
- software for any purpose. It is provided "AS IS" without any
- express or implied warranty.
- ******************************************************************/
-
- Notes/Issues:
- - The list menu is posted on the select button release. In order to
- be like Windows, the menu would come up on the button press, and allow
- the user to drag immediately, without letting go of the select button.
- When I wrote the widget, I didn't have time to investigate getting this
- drag to work. We would have to simulate the select press inside the
- list, I imagine.
- - No key pattern matching available.
- - Lack of translation table functionality.
-
-
- 1. ComboBox Widget
-
- 1.1 Widget Class Name
-
- ComboBox
-
- 1.2 Synopsis
-
- #include "ComboBox.h"
-
- widget = DtCreateComboBox(parent, name, arglist, num_args);
- XtManageChild(widget);
-
- 1.3 Description
-
- 1.4 Resources
-
- Property Type Init Access
- -------- ---- ---- ------
- XmNactivateCallback CallbackList NULL CSG
- XmNalignment unsigned char XmALIGNMENT_BEGINNING CSG
- XmNarrowSpacing Dimension 0 CSG
- XmNarrowSize Dimension dynamic G
- XmNarrowType unsigned char XmWINDOWS CSG
- XmNcolumns Integer 20 CSG
- XmNfocusCallback CallbackList NULL CSG
- XmNitemCount Unsigned Integer 0 CSG
- XmNitems XmStringTable NULL CSG
- XmNlabelString XmString NULL CSG
- XmNlist Widget NULL G
- XmNlistFontList FontList NULL CSG
- XmNlistMarginHeight Dimension 2 CSG
- XmNlistMarginWidth Dimension 2 CSG
- XmNlistSpacing Dimension 0 CSG
- XmNlosingFocusCallback CallbackList NULL CSG
- XmNmarginHeight Dimension 2 CSG
- XmNmarginWidth Dimension 2 CSG
- XmNmaxLength Unsigned Integer MAXINT CSG
- XmNmenuPostCallback CallbackList NULL CSG
- XmNorientation unsigned char XmRIGHT CSG
- XmNpoppedUp Boolean FALSE G
- XmNrecomputeSize Boolean TRUE CSG
- XmNselectedItem XmString NULL CSG
- XmNselectedPosition Unsigned Integer 0 CSG
- XmNselectionCallback CallbackList NULL CSG
- XmNtextField Widget NULL G
- XmNtopItemPosition Unsigned Integer 1 CSG
- XmNtype unsigned char XmDROP_DOWN_LIST_BOX CSG
- XmNupdateLabel Boolean TRUE CSG
- XmNvisibleItemCount Unsigned Integer 10 CSG
-
- XmNactivateCallback:
- List of callbacks called when the user does KActivate in
- the text-field widget (when ComboBox is
- XmDROP_DOWN_COMBO_BOX). See also XmTextFieldWidget.
-
- XmNalignment:
- Alignment of the text within the non-editable label.
- This only gets used if XmNtype is XmDROP_DOWN_LIST_BOX.
- Values are:
- XmALIGNMENT_CENTER, XmALIGNMENT_BEGINNING,
- XmALIGNMENT_END
- See also XmLabelWidget
-
- XmNarrowSpacing:
- Amount of space between the arrow and the label or
- text-field (in pixels).
-
- XmNarrowSize:
- Height/Width of arrow. This is not a settable resource;
- it is based on the height of the ComboBox (which is
- related to the font used).
-
- XmNarrowType:
- Type of down arrow displayed in the ComboBox. The legal
- values are: XmWINDOWS, XmMOTIF
-
- Xmcolumns:
- This resource is passed on to the text-field widget.
- See also XmTextFieldWidget.
-
- XmNfocusCallback:
- List of callbacks called when the text-field widget accepts
- focus (when ComboBox is editable - XmDROP_DOWN_COMBO_BOX).
- See also XmTextFieldWidget.
-
- XmNitemCount:
- Total number of items. This value must be the number of
- items in XmNitems and must not be negative. It is
- automatically updated by the widget whenever an item
- is added or deleted.
-
- XmNitems:
- A list of xm-strings which will be displayed in the drop
- down list box.
-
- XmNlabelString:
- This is the string that will be used in the label when the
- resource XmNupdateLabel is FALSE. This string will remain
- in the label as long as the XmNupdateLayout resource is
- FALSE, even if the user picks a new item off the list.
-
- XmNlist:
- List widget (which is inside the popup). Gettable only.
-
- XmNlistFontList:
- This resource is passed on to the XmListWidget as the
- XmNfontList resource.
- See also XmListWidget.
-
- XmNlistMarginHeight:
- This resource is passed on to the XmListWidget as the
- XmNlistMarginHeight resource.
- See also XmListWidget.
-
- XmNlistMarginWidth:
- This resource is passed on to the XmListWidget as the
- XmNlistMarginWidth resource.
- See also XmListWidget.
-
- XmNlistSpacing:
- This resource is passed on to the XmListWidget as the
- XmNlistSpacing resource.
- See also XmListWidget.
-
- XmNlosingFocusCallback:
- List of callbacks called when the text-field widget loses
- focus (when ComboBox is editable - XmDROP_DOWN_COMBO_BOX).
- See also XmTextFieldWidget.
-
- XmNmarginHeight:
- Vertical distance from the beginning of the widget to the
- start of the shadow. Used for making this widget
- look like push-buttons, etc.
-
- XmNmarginWidth:
- Horizontal distance from the beginning of the widget to
- the start of the shadow. Used for making this widget
- look like push-buttons, etc.
-
- XmNmaxLength:
- Maximum length of the text string that can be entered into
- a text-field widget. This resource is passed on to the
- text-field (when ComboBox is editable - XmDROP_DOWN_COMBO_BOX).
- See also XmTextFieldWidget.
-
- XmNmenuPostCallback:
- List of callbacks called right before the list menu
- gets put on the screen.
-
- XmNorientation:
- Specifies location of down arrow. Legal values are:
- XmLEFT, XmRIGHT
-
- XmNpoppedUp:
- Returns TRUE if the list menu is mapped; otherwise, FALSE.
-
- XmNrecomputeSize:
- If FALSE, the widget will not try to recompute a new
- size if setting some other resource would cause it
- to grow or shrink.
-
- XmNselectedItem:
- Item currently visible in list. Can be used to
- change selected item. User must make copy of this
- before modifying.
-
- XmNselectedPosition:
- Position of item, within scrolling list, currently
- visible (in label or text-field). Can be used
- to change selected item. Starts at 0.
-
- XmNselectionCallback:
- List of callbacks called when the user selects something
- off the list (the list's XmNdefaultActionCallback or
- XmNbrowseSelectionCallback callbacks).
- See also XmListWidget.
-
- XmNtextField:
- text-field widget used within the ComboBox when
- XmNtype is XmDROP_DOWN_COMBO_BOX.
-
- XmNtopItemPosition:
- This resource is passed on to the XmListWidget as the
- XmNtopItemPosition resource.
- See also XmListWidget.
-
- XmNtype:
- Type of combo-box create. Legal values are:
- XmDROP_DOWN_LIST_BOX (non-editable, uses label)
- XmDROP_DOWN_COMBO_BOX (editable, uses text-field)
-
- XmNupdateLabel:
- If TRUE, the contents of the label will change when the
- user picks a new item off the list. If FALSE, the
- label will not update, and the resource XmNlabelString
- will be used as the label.
-
- XmNvisibleItemCount:
- This resource is passed on to the XmListWidget as the
- XmNvisibleItemCount resource.
- See also XmListWidget.
-
-
- ========================================================================
-
- Functions available for ComboBox widget.
-
- Widget
- DtCreateComboBox(parent, name, args, num_args)
- Widget parent;
- char *name;
- ArgList args;
- int num_args;
- {
- }
-
- Creates an instance of a ComboBox widget.
-
-
- void
- DtComboBoxAddItem(widget, item, position, unique)
- DtComboBoxWidget widget;
- XmString item;
- int position;
- Boolean unique;
-
- Adds the given item to the list at the given position.
- position is an integer specifying the position of the new item in the
- list. A value of 1 makes the new item the first item in the list; a value
- of 2 makes it the second item, and so on. A value of 0 (zero) makes the new
- item the last item in the list.
- If the unique parameter is TRUE, the item will only be added if it doesn't
- already exist. If it is FALSE, the item will always be added.
- See also, XmListSelectItem in the Motif reference manual.
-
-
- void
- DtComboBoxDeletePos(widget, position)
- DtComboBoxWidget widget;
- int position;
-
- Deletes the item at the given position from the list.
- position is an integer specifying the position of the item to delete
- in the list. A value of 1 indicates that the first item in the list is
- to be deleted. A value of 2 indicates the second item, etc. A value of 0
- indicates that the last item is to be deleted. See also,
- XmListSelectItem in the Motif reference manual.
-
- void
- DtComboBoxSetItem(widget, item)
- DtComboBoxWidget widget;
- XmString item;
-
- Puts the given item into the combo-box label or text-field (this will be the
- new value shown). The given item will be positioned at the top of the
- list. This may cause problems if the viewing area is larger than the
- number of items in the list. The new item will not be selected (use
- DtComboBoxSelectItem).
- See also, XmListSetItem in the Motif reference manual.
-
-
- void
- DtComboBoxSelectItem(combo, item)
- DtComboBoxWidget combo;
- XmString item;
-
- Puts the given item into the combo-box label or text-field (this will be the
- new value shown). The currently selected item in the list will be deselected
- and the given item will be selected. See also, XmListSelectItem in the Motif
- reference manual.
-
- ------------------------------------------------------------------------
-
-