/* WIDE AREA INFORMATION SERVER SOFTWARE:
   No guarantees or restrictions.  See the readme file for the full standard
   disclaimer.

   This is part of the X user-interface for the WAIS software.  Do with it
   as you please.

   jonathan@Think.COM
 *
 * $Log:	xwais.h,v $
 * Revision 1.2  92/08/04  18:16:20  epeisach
 * Define strstr on platforms that need
 * 
 * 
 * Revision 1.15  92/04/30  12:23:34  jonathan
 * Removed redundant includes.
 * 
 * Revision 1.14  92/04/28  15:34:12  jonathan
 * Cleaned up includes.  More to go I'm sure.
 * 
 * Revision 1.13  92/03/23  16:10:53  jonathan
 * named a lot of buttons.
 * 
 * Revision 1.12  92/03/17  14:21:20  jonathan
 * Generally cleaned up.
 * 
 */

#ifndef _H_XWAIS
#define _H_XWAIS

#include "xstuff.h"

#ifdef _IBMR2
#undef SYSV
#undef void
#endif
 
/* usefull definitions */

#define STRINGSIZE	256

#include "cdialect.h"
#include "wais.h"
#include "text.h"
#include "scrolllist.h"
#include "util.h"
#include "scommands.h"

#ifdef XWAIS
#include "display.h"
#include "tcommands.h"
#else
#include "xquestion.h"
#include "qdisplay.h"
#include "qcommands.h"
#include "filereq.h"
#endif

#if defined(K_AND_R) || (defined(BSD) && !defined(USG))
char *strstr _AP((char *src, char *sub));
#endif

#ifdef MAIN
#define ext
#else
#define ext extern
#endif

#define NUM_CURSORS 7

ext Cursor wais_cursors[NUM_CURSORS];

ext char *command_name;

ext char *sdir, *cdir;

#define NO_ITEM_SELECTED -1

#define NUMQLINES 3
#define NUMSLINES 3
#define NUMRLINES 6

/*	externals in xwais.c 	*/

ext struct _app_resources {
    char *questionDirectory;
    char *userSourceDirectory;
    char *commonSourceDirectory;
    char *documentDirectory;
    char *helpFile;
    char *removeSeekerCodes;
    char *rescanInterval;
    char *seedWords;
    char *initialSource;
    char *questionName;
    char *filters;
    int maximumResults;
    Boolean doSearch;
    Boolean defaultsInstalled;
    Boolean showKeys;
} app_resources;

ext XtAppContext app_context;

ext XtIntervalId rescantimerid;

ext int numtosave;

ext Widget top, form; /* top level things for display */

ext Widget
  labelwindow,
  messwidget;

ext ScrollList
  questionwindow,
  sourcewindow,
  typewindow,
  savelist;

ext Widget questionpopup,
  qnamewid, keywordwid, sshell, typeshell,
  savereq, dirnamewidget, filenamewidget;

ext Widget sourcepopup,
  snamewid, serverwid, servicewid, dbwid,
  costwid, unitwid, maintainerwid, descwid;

ext Widget searchButton, addSourceButton, delSourceButton,
  addDocButton, delDocButton, helpButton, abortButton, 
  saveAsButton, doneButton;

ext Widget savebutton, viewbutton, cancelbutton, quitbutton;

ext Widget sourcemenu, sourcebutton;

ext String questionname, config, db;

ext Display *CurDpy;

ext int NumQuestions;

ext Source the_Source;

#ifndef XWAIS
ext XQuestion the_Question;
#endif

ext int maxDocs;

ext String *Question_items;

ext SList Sources;
extern char **Source_items;
ext int NumSources;

ext char** Type_items;

ext TextList allText;

ext Widget LastClicked;
ext Boolean double_click;

ext void Feep();

extern void DoQuit();

#endif
