#ifndef __XAW_TABLEP_H__
#define __XAW_TABLEP_H__

/*
 *  $Id: TableP.h,v 1.1 1992/01/24 07:35:31 marc Exp $
 */

/* Table widget private .h file, subclass of (my new) List widget.
Subclassed as specified in the R5 intrinsics doc, section 1.6.3 */

/* A reference to the public .h file for the class */

#include <X11/Xaw/Table.h>

/* A reference to the private .h file for the superclass */

#include <X11/Xaw/ListP.h>

/* symbolic identifiers for new representation types */

#define XtRColumnOrder "ColumnOrder"

/* A structure part definition for the new fields that the widget
instance adds to the superclass's instance structure */

typedef struct _TablePart {
   /**** internal state */

   /* table data */
   XawTableInt *lines;
   int *intline;
   int numlines;

   /* highlighted element, if any */
   XawTableReturnStruct hilite; /* only indices here are valid */

   /**** computed information */

   int numcols;
   char **listelems;
   int *tablerow;
   int *tablecol;
   int nlelems;

   /**** from resources */

   /* displaying information */
   XtColumnOrder order;
   XtColumnOrder sorting;
} TablePart;

/* The complete widget instance structure definition */

typedef struct _TableRec {
   CorePart	core;
   SimplePart	simple;
   ListPart	list;
   TablePart	table;
} TableRec;

/* type definitions for proc types used by class methods */

/* none */

/* a structure part definition for the new fields that this widget
adds to it's superclass's class structure */

typedef struct _TableClassPart {
   int nothing;
} TableClassPart;

/* complete widget class structure */

typedef struct _TableClassRec {
   CoreClassPart	core_class;
   SimpleClassPart	simple_class;
   ListClassPart	list_class;
   TableClassPart	table_class;
} TableClassRec;

/* The name of the global variable containing the generic class
variable */

extern TableClassRec tableClassRec;

#endif /* __XAW_TABLEP_H__ */
