749N/A/*
749N/A * $XConsortium: ListP.h,v 1.12 89/12/11 15:09:04 kit Exp $
749N/A *
749N/A * Copyright 1989 Massachusetts Institute of Technology
749N/A *
749N/A * Permission to use, copy, modify, distribute, and sell this software and its
749N/A * documentation for any purpose is hereby granted without fee, provided that
749N/A * the above copyright notice appear in all copies and that both that
749N/A * copyright notice and this permission notice appear in supporting
749N/A * documentation, and that the name of M.I.T. not be used in advertising or
749N/A * publicity pertaining to distribution of the software without specific,
749N/A * written prior permission. M.I.T. makes no representations about the
749N/A * suitability of this software for any purpose. It is provided "as is"
749N/A * without express or implied warranty.
749N/A *
749N/A * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
749N/A * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T.
749N/A * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
749N/A * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
749N/A * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
749N/A * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
749N/A *
749N/A * Author: Chris D. Peterson, MIT X Consortium
749N/A */
749N/A
749N/A
749N/A/*
749N/A * ListP.h - Private definitions for List widget
749N/A *
749N/A * This is the List widget, it is useful to display a list, without the
749N/A * overhead of having a widget for each item in the list. It allows
749N/A * the user to select an item in a list and notifies the application through
749N/A * a callback function.
749N/A *
749N/A * Created: 8/13/88
749N/A * By: Chris D. Peterson
749N/A * MIT - Project Athena
749N/A */
749N/A
749N/A#ifndef _XawListP_h
749N/A#define _XawListP_h
749N/A
749N/A/***********************************************************************
749N/A *
749N/A * List Widget Private Data
749N/A *
749N/A ***********************************************************************/
749N/A
749N/A#include <./Xaw3_1SimpleP.h>
749N/A#include <./Xaw3_1List.h>
749N/A
749N/A#define NO_HIGHLIGHT XAW_LIST_NONE
749N/A#define OUT_OF_RANGE -1
749N/A#define OKAY 0
749N/A
749N/A/* New fields for the List widget class record */
749N/A
749N/Atypedef struct {int foo;} ListClassPart;
749N/A
749N/A/* Full class record declaration */
749N/Atypedef struct _ListClassRec {
749N/A CoreClassPart core_class;
749N/A SimpleClassPart simple_class;
749N/A ListClassPart list_class;
749N/A} ListClassRec;
749N/A
749N/Aextern ListClassRec listClassRec;
749N/A
749N/A/* New fields for the List widget record */
749N/Atypedef struct {
749N/A /* resources */
749N/A Pixel foreground;
749N/A Dimension internal_width,
749N/A internal_height,
749N/A column_space,
749N/A row_space;
749N/A int default_cols;
749N/A Boolean force_cols,
749N/A paste,
749N/A vertical_cols;
749N/A int longest;
749N/A int nitems; /* number of items in the list. */
749N/A XFontStruct *font;
749N/A String * list;
749N/A XtCallbackList callback;
749N/A
749N/A /* private state */
749N/A
749N/A int is_highlighted, /* set to the item currently highlighted. */
749N/A highlight, /*set to the item that should be highlighted.*/
749N/A col_width, /* width of each column. */
749N/A row_height, /* height of each row. */
749N/A nrows, /* number of rows in the list. */
749N/A ncols; /* number of columns in the list. */
749N/A GC normgc, /* a couple o' GC's. */
749N/A revgc,
749N/A graygc; /* used when inactive. */
749N/A
749N/A} ListPart;
749N/A
749N/A
749N/A/****************************************************************
749N/A *
749N/A * Full instance record declaration
749N/A *
749N/A ****************************************************************/
749N/A
749N/Atypedef struct _ListRec {
749N/A CorePart core;
749N/A SimplePart simple;
749N/A ListPart list;
749N/A} ListRec;
749N/A
749N/A#endif /* _XawListP_h */