/* ResetServer_globals.h */

/* Libraries */

struct GfxBase				*GfxBase	= NULL;
struct DosLibrary			*DosBase	= NULL;
struct IntuitionBase	*IntuitionBase	= NULL;
struct Library				*DiskFontBase	= NULL;
struct Library				*IconBase	= NULL;
struct Library				*GadToolsBase	= NULL;
struct Library				*ImageBase	= NULL;
struct ClassLibrary   *TabBase= NULL;

/* Screen and Window */

struct Screen *Screen=NULL;
struct Window *APP_Window=NULL;
STRPTR PubScreenName=NULL;
STRPTR APP_TitleWindow="Reset.server emulator (c) 1997 Paweî Marciniak <pmarciniak@lodz.home.pl>";
APTR  VisualInfo = NULL;

ULONG			IClass;
UWORD			Code, Qualifier;
struct Gadget	*IObject;

/* Font */

struct TextAttr *Font, ScreenFont;
struct TextFont	*APP_Font;

WORD FontX=NULL;
WORD FontY=NULL;
UWORD OffX, OffY;

/* MSG */
STRPTR MSG_GAD_WARNING="_Send ResetWarning";
STRPTR MSG_GAD_HEADER="Header";
STRPTR MSG_GAD_PNAME="Program names";
STRPTR MSG_GAD_HIST="History";
STRPTR MSG_GAD_PATH="Path and filename";
STRPTR MSG_GAD_PRTDEV="Device name";
STRPTR MSG_GAD_PRTUNIT="Device unit";
STRPTR MSG_GAD_SAVE="_Save";
STRPTR MSG_GAD_USE="_Use";
STRPTR MSG_GAD_UNDO="Un_Do";
STRPTR MSG_TXT_PATH="RAM:HistoryList.rse";
STRPTR MSG_TXT_HEADER="***History List***\n";
STRPTR MSG_TXT_ABOUT="1bResetServer Emulator\n\nThis is ResetServer emulator\nIdea and programing\nbPaweî Marciniak <pmarciniak@lodz.home.pl>\n\nResetServer Emulator © 1997-1998 Paweî Marciniak\nThis program uses image.library\nImage.library © Paweî Marciniak. All rights reserved\nThis is Freeware program, for more details see doc";
STRPTR MSG_TXT_AUTOR="1bAutor\nPaweî Marciniak\nbAdress\nStaffa 44B/7 st. 95-100 Zgierz POLAND\nbTelephon\n+48-42-7167260\nbe-mail\npmarciniak@lodz.home.pl";
STRPTR MSG_TXT_ADDPORT="%s add port 0x%LX";
STRPTR MSG_TXT_REMPORT="%s rem port 0x%LX";
STRPTR MSG_TXT_DONE="%s port 0x%lx done";
STRPTR MSG_TXT_PRTDEV="printer.device";
STRPTR MSG_TXT_FILEPREF="History file preferences";
STRPTR MSG_TXT_PRTPREF="Printer device preferences";
/* Requesters */
STRPTR MSG_REQ_INFO_TITLE="About";
STRPTR MSG_REQ_INFO_TEXT="This is ResetServerEmulator 1.0\nResetServer and ResetServerEmu\nCopyright 1997 Paweî Marciniak\n<pmarciniak@lodz.home.pl>\nAll rights reserved\nThis program is Freeware";
STRPTR MSG_REQ_INFO_BUTTON="OK";
STRPTR MSG_REQ_QUIT_TITLE="Quit?";
STRPTR MSG_REQ_QUIT_TEXT="Are you sure to quit?";
STRPTR MSG_REQ_QUIT_BUTTON="Yes|No";
STRPTR MSG_REQ_ERR_TITLE="Warning";
STRPTR MSG_REQ_ERR_WRITE="Couldn't write History List to:\n%s";
STRPTR MSG_REQ_ERR_PRINT="Couldn't print History List";
STRPTR MSG_REQ_ERR_BUTTON="OK";

/*Gadget */

struct Gadget *APP_GList, *APP_GList2;
struct Gadget				*g;
struct NewGadget		ng;

struct Gadget	*gad_button, *gad_text, *gad_pname, *gad_hist, *gad_tab;
struct Gadget	*gad_path, *gad_header, *gad_prtdev, *gad_prtunit, *gad_save, *gad_use, *gad_undo;

#define GD_WARNING 1
#define GD_TEXT 2
#define GD_LVIEW 3
#define GD_HIST 4
#define GD_TAB 5

#define GD_PATH 101
#define GD_HEADER 102
#define GD_SAVE 103
#define GD_USE 104
#define GD_UNDO 105
#define GD_PRTDEV 106
#define GD_PRTUNIT 107

TabLabel labels[] =
{
  {"Emulator", -1, -1, -1, -1, NULL},
  {"Prefs", -1, -1, -1, -1, NULL},
  {"Autor", -1, -1, -1, -1, NULL},
  {"About program", -1, -1, -1, -1, NULL},
  NULL
};

/* Menu definitions */

#define TITLE_PROJECT 0
#define MENU_ABOUT 0
#define MENU_QUIT 2
#define TITLE_EDIT 1
#define MENU_SAVEHIST 0
#define MENU_CLEARHIST 1
#define MENU_PRINT 2
#define TITLE_HELP 2
#define MENU_HELP 0

static struct NewMenu mbld[] =
{
	{NM_TITLE,"Project", 0 ,0,0,0},
	{ NM_ITEM,"About","?",0,0,0},
	{ NM_ITEM,NM_BARLABEL, 0 ,0,0,0},
	{ NM_ITEM,"Quit","Q",0,0,0},
	{NM_TITLE,"Edit", 0 ,0,0,0},
	{ NM_ITEM,"Save History","S",0,0,0},
	{ NM_ITEM,"Clear History","C",0,0,0},
	{ NM_ITEM,"Print History","P",0,0,0},
	{NM_TITLE,"Help", 0 ,0,0,0},
	{ NM_ITEM,"Please help me!","Help",NM_COMMANDSTRING | NM_ITEMDISABLED,0,0},
	{  NM_END,0,0,0,0,0}
};

struct Menu *MenuStrip;

/* Prototypes */

int SetupScreen( void );
void CloseDownScreen( void );
int OpenDisplay( WORD, WORD );
void CloseDisplay(void );
UWORD ComputeX( UWORD );
UWORD ComputeY( UWORD );
void ComputeFont( void );
LONG OpenLibraries( void );
void CloseLibraries( void );
int OpenFonts( void );
void CloseFonts( void );
