/* Application.h */

#include "Structures/CDStruct.h"
#include "Structures/Scroll.h"
#include "Structures/AppWin.h"
#include "Structures/AppAsl.h"

struct Application
{
        Screen                  *screen;		/* PublicScreen, */
                                                        /* auch um zu testen ob */
                                                        /* Application geöffnet ist */
        List                    *pubscreenlist;         /* Liste aller Public-Screens */

        UWORD                   hotkeymode;             /* Was tun bei Hotkey und Application offen? */
        UWORD                   Flags;                  /* Flags für Application s.o. */
        APTR                    visualinfo;             /* VisualInfo für GadTools */
        TextAttr                *font;                  /* benutzter font */

        struct MsgPort  *idcmp;                                 /* shared IDCMP */
        struct MsgPort  *broker_mp;                             /* Messageport für Broker */
        struct MsgPort  *appicon_mp;                    /* Messageport für's AppIcon */
        struct MsgPort  *scrnotify_mp;                  /* Messageport für Screennotify Events */
        struct MsgPort  *arexx_mp;                              /* öffentlicher ARexxport 'ACDPLAY' */

        struct CDStruct *cdstr;                                 /* Zeiger auf CDStruct-Struktur */
                                                                                        /* <- bis hierhin nicht ändern! */
        struct Scroll   *scroller;                              /* für den Scroller im About-Fenster */

        struct AppWin   appwin[ANZ_WINDOWS];    /* für jedes Window ein Feld */
        struct AppAsl   appasl[ANZ_ASL];                /* Daten für ASL-Requester */
        Menu                    *menustrip;                             /* Menü für alle Fenster */

        BYTE                    edit_pos;                       /* Welche Position im Edit-Window? */

	BOOL			magicwbmode;
	
	UWORD			hidemode;
        UWORD                   flag_tool;                      /* Flags von speziellen Tooltypes */
        UWORD                   flag_main;                      /* Enthält Flags für die GUI-Elemente in MAIN */

	UWORD			panelwidth, panelheight;
	UWORD			*paneldata;

        CxObj                   *broker;                                /* Commodity-Broker */
        CxObj                   *filter_popkey;
        CxObj                   *sender_popkey;
        CxObj                   *translate_popkey;
        CxObj                   *filter_timer;
        CxObj                   *sender_timer;
        BYTE                    cx_priority;                    /* Priorität -128 bis 127 */
        BOOL                    cx_popup;                               /* Beim Start öffnen? */

        APTR                    snhandle_wbench;                /* Zeiger auf ScreenNotifyHandle für WB-Events */
 /*     APTR                    snhandle_closescr;      */      /* Zeiger auf ScreenNotifyHandle für CloseScreen()-Events */

        struct List             *arexxdir;                              /* Zeiger auf Dateinamenliste */

        struct AppIcon  *appicon;                               /* Alles für's AppIcon */
        struct DiskObject       *diskobj;
        char                    *progname;                              /* Zeiger auf Programmnamen */
        struct Window   *orgprwin;                              /* Zeiger auf das Fenster das ursprünglich in der Process-Struktur stand */
                                                                                        /* NICHT VERÄNDERN! */
        char                    pubscreenname[MAXPUBSCREENNAME + 1]; /* Name des Public-Screens */
        char                    winmaintitlebuf[MAXCDNAME + 50 + 3];            /* Möglicherweise keine gute Umsetzung, */
        char                    wintitlestitlebuf[MAXCDNAME + MAXARTISTNAME + 3];       /* schreib' mal Deine Meinung.. */
        char                    timeshowbuf[30];                /* für die Zeitanzeige */
                                                                                        /* ab 20 beginnt der andere Gad-Buffer */
        char                    cx_popkey[41];                  /* Input Description String */
};
