/* 
 * Motif Tools Library, Version 2.0
 * $Id: ChooserP.h,v 2.10 1994/07/04 03:03:50 david Exp $
 * 
 * Written by David Flanagan.
 * Copyright (c) 1992, 1993, 1994 by Dovetail Systems.
 * All Rights Reserved.  See the file COPYRIGHT for details.
 * This is not free software.  See the file SHAREWARE for details.
 * There is no warranty for this software.  See NO_WARRANTY for details.
 */

#ifndef _XmtChooserP_h
#define _XmtChooserP_h

#include <X11/IntrinsicP.h>
#include <Xm/RowColumnP.h>

#include <Xmt/Chooser.h>
#include <Xmt/Symbols.h>

typedef struct _XmtChooserClassPart {
    XtPointer extension;
} XmtChooserClassPart;

typedef struct _XmtChooserClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ConstraintClassPart	constraint_class;
    XmManagerClassPart	manager_class;
    XmRowColumnClassPart row_column_class;
    XmtChooserClassPart chooser_class;
} XmtChooserClassRec;

externalref XmtChooserClassRec xmtChooserClassRec;
    
typedef struct _XmtChooserPart {
    /* resources */
    XmtChooserType type;
    int num_items;
    String *strings;
    Pixmap *pixmaps;
    Pixmap *select_pixmaps;
    Pixmap *insensitive_pixmaps;
    XtPointer values;
    String *value_strings;
    String value_type;
    int value_size;
    XmFontList font_list;
    int visible_items;
    int state;
    String symbol_name;
    unsigned char label_type;
    XtCallbackList callback;
    Widget *item_widgets;
    /* internal state */
    Widget list, pane, option;
    XmtSymbol symbol;
    Boolean ignore_symbol_notify;
    int insensitive;
} XmtChooserPart;

typedef struct _XmtChooserRec {
    CorePart core;
    CompositePart composite;
    ConstraintPart constraint;
    XmManagerPart manager;
    XmRowColumnPart row_column;
    XmtChooserPart chooser;
} XmtChooserRec;

#endif /* _XmtChooserP_h */
