/*
 * Copyright 1990 by Baylor College of Medicine ALL RIGHTS RESERVED. 
 *
 * This program is subject to a license agreement between 
 * Baylor College of Medicine and MIT. Any use inconsistent with
 * said license and any use by persons other than the faculty, 
 * students and staff at MIT or any use on a computer not operated 
 * as part of the Athena Computing Environment (ACE) is expressly 
 * prohibited.
 */
#ifndef _PROPS_H_
#define _PROPS_H_

#define VNS_NULL         0
#define VNS_NOTEBOOK     1
#define VNS_PAGE         2
#define VNS_OBJECT       3
#define VNS_NEW_NOTEBOOK 4
#define VNS_NEW_PAGE     5
#define VNS_NEW_OBJECT   6

#define PM_UPDATE "update"
#define PM_MODIFY "modify"

typedef struct _VnsProp *VnsProp;

typedef struct _VnsProp
{
	char *name;         /* name for the properties */
	int type;           /* type of property */
	int sub_type;       /* sub type of property type */
	Widget buttons;     /* buttons */
	Widget vp;          /* viewport */
	void (*update)();   /* update callback function */
	void (*modify)();   /* modify callback function */
	VnsProp next;       /* pointer to next property */
} VnsPropRec;

/* public functions */
void VnsPropInitialize();
VnsProp VnsPropCreate();
void VnsPropPopup();
void VnsPropPopdown();
void VnsPropNotebook();
void VnsPropNewNotebook();
void VnsPropPage();
void VnsPropObject();
void VnsPropAddColor();
void VnsPropAddFonts();
void VnsPropReset();
void VnsPropDisplay();
void VnsPropAddUpdate();
void VnsPropAddModify();
void VnsPropSetColor();
char *VnsPropGetColor();
char *VnsPropGetFont();

#endif
