home *** CD-ROM | disk | FTP | other *** search
- /* $XConsortium: List.h,v 1.20 91/07/26 20:07:51 converse Exp $
- *
- * Copyright 1989 Massachusetts Institute of Technology
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. M.I.T. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T.
- * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
- /* This is the List widget, it is useful to display a list, without the
- * overhead of having a widget for each item in the list. It allows
- * the user to select an item in a list and notifies the application through
- * a callback function.
- *
- * Created: 8/13/88
- * By: Chris D. Peterson
- * MIT X Consortium
- */
-
- #ifndef _XawList_h
- #define _XawList_h
-
- /***********************************************************************
- *
- * List Widget
- *
- ***********************************************************************/
-
- #include <X11/Xaw/Simple.h>
- #include <X11/Xfuncproto.h>
-
- /* Resources:
-
- Name Class RepType Default Value
- ---- ----- ------- -------------
- background Background Pixel XtDefaultBackground
- border BorderColor Pixel XtDefaultForeground
- borderWidth BorderWidth Dimension 1
- callback Callback XtCallbackList NULL **6
- columnSpacing Spacing Dimension 6
- cursor Cursor Cursor left_ptr
- cursorName Cursor String NULL
- defaultColumns Columns int 2 **5
- destroyCallback Callback Pointer NULL
- font Font XFontStruct* XtDefaultFont
- forceColumns Columns Boolean False **5
- foreground Foreground Pixel XtDefaultForeground
- height Height Dimension 0 **1
- insensitiveBorder Insensitive Pixmap Gray
- internalHeight Height Dimension 2
- internalWidth Width Dimension 4
- list List String * NULL **2
- longest Longest int 0 **3 **4
- mappedWhenManaged MappedWhenManaged Boolean True
- numberStrings NumberStrings int 0 **4
- pasteBuffer Boolean Boolean False
- pointerColor Foreground Pixel XtDefaultForeground
- pointerColorBackground Background Pixel XtDefaultBackground
- rowSpacing Spacing Dimension 4
- sensitive Sensitive Boolean True
- verticalList Boolean Boolean False
- width Width Dimension 0 **1
- x Position Position 0
- y Position Position 0
-
- **1 - If the Width or Height of the list widget is zero (0) then the value
- is set to the minimum size necessay to fit the entire list.
-
- If both Width and Height are zero then they are adjusted to fit the
- entire list that is created width the number of default columns
- specified in the defaultColumns resource.
-
- **2 - This is an array of strings the specify elements of the list.
- This resource must be specified.
- (What good is a list widget without a list?? :-)
-
- **3 - Longest is the length of the widest string in pixels.
-
- **4 - If either of these values are zero (0) then the list widget calculates
- the correct value.
-
- (This allows you to make startup faster if you already have
- this information calculated)
-
- NOTE: If the numberStrings value is zero the list must
- be NULL terminated.
-
- **5 - By setting the List.Columns resource you can force the application to
- have a given number of columns.
-
- **6 - This returns the name and index of the item selected in an
- XawListReturnStruct that is pointed to by the client_data
- in the CallbackProc.
-
- */
-
-
- /*
- * Value returned when there are no highlighted objects.
- */
-
- #define XAW_LIST_NONE -1
-
- #define XtCList "List"
- #define XtCSpacing "Spacing"
- #define XtCColumns "Columns"
- #define XtCLongest "Longest"
- #define XtCNumberStrings "NumberStrings"
-
- #define XtNcursor "cursor"
- #define XtNcolumnSpacing "columnSpacing"
- #define XtNdefaultColumns "defaultColumns"
- #define XtNforceColumns "forceColumns"
- #define XtNlist "list"
- #define XtNlongest "longest"
- #define XtNnumberStrings "numberStrings"
- #define XtNpasteBuffer "pasteBuffer"
- #define XtNrowSpacing "rowSpacing"
- #define XtNverticalList "verticalList"
-
- /* Class record constants */
-
- extern WidgetClass listWidgetClass;
-
- typedef struct _ListClassRec *ListWidgetClass;
- typedef struct _ListRec *ListWidget;
-
- /* The list return structure. */
-
- typedef struct _XawListReturnStruct {
- String string;
- int list_index;
- } XawListReturnStruct;
-
- /******************************************************************
- *
- * Exported Functions
- *
- *****************************************************************/
-
- _XFUNCPROTOBEGIN
-
- /* Function Name: XawListChange.
- * Description: Changes the list being used and shown.
- * Arguments: w - the list widget.
- * list - the new list.
- * nitems - the number of items in the list.
- * longest - the length (in Pixels) of the longest element
- * in the list.
- * resize - if TRUE the the list widget will
- * try to resize itself.
- * Returns: none.
- * NOTE: If nitems of longest are <= 0 then they will be caluculated.
- * If nitems is <= 0 then the list needs to be NULL terminated.
- */
-
- extern void XawListChange(
- #if NeedFunctionPrototypes
- Widget /* w */,
- String* /* list */,
- int /* nitems */,
- int /* longest */,
- #if NeedWidePrototypes
- /* Boolean */ int /* resize */
- #else
- Boolean /* resize */
- #endif
- #endif
- );
-
- /* Function Name: XawListUnhighlight
- * Description: unlights the current highlighted element.
- * Arguments: w - the widget.
- * Returns: none.
- */
-
- extern void XawListUnhighlight(
- #if NeedFunctionPrototypes
- Widget /* w */
- #endif
- );
-
- /* Function Name: XawListHighlight
- * Description: Highlights the given item.
- * Arguments: w - the list widget.
- * item - the item to highlight.
- * Returns: none.
- */
-
- extern void XawListHighlight(
- #if NeedFunctionPrototypes
- Widget /* w */,
- int /* item */
- #endif
- );
-
-
- /* Function Name: XawListShowCurrent
- * Description: returns the currently highlighted object.
- * Arguments: w - the list widget.
- * Returns: the info about the currently highlighted object.
- */
-
- extern XawListReturnStruct * XawListShowCurrent(
- #if NeedFunctionPrototypes
- Widget /* w */
- #endif
- );
-
- _XFUNCPROTOEND
-
- #endif /* _XawList_h */
- /* DON'T ADD STUFF AFTER THIS #endif */
-