#ifndef INSTALLERNG_GUILIB_DATA_H
#define INSTALLERNG_GUILIB_DATA_H

#ifndef MAKE_ID
#define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
#endif

/********************************************************************/

extern struct Library *MUIMasterBase;

/********************************************************************/

#define DEBUG_MAKRO KPrintF("installergui.library: "__FUNC__"\n", 0);

/********************************************************************/

// protos for libraries support functions
APTR  guistuff_InitRadio(BOOL selected, BOOL disabled);  // create a radio button
BOOL  guistuff_NewContent(APTR application, APTR newobject);  // put the new content into the gui
APTR  guistuff_InitSimpleText(char *text);  // create a simple floattext object with the given text
void  guistuff_MXTwoFun(register __a1 APTR *data);  // handles two buttons as mutual exclusive
void  guistuff_MXThreeFun(register __a1 APTR *data);  // handles three buttons as mutual exclusive
void  guistuff_SetValFun(register __a1 APTR *data);  // poke the value data[1] to address stored in data[0]
void  guistuff_Refresh(APTR application);  // refresh the gui
char *guistuff_AskFile_AskDir(APTR application, struct FunctionEnvironment *localenv, BOOL askdir);  //
char *guistuff_CenterText(char *text); // center text for a floattext object (replace every LF with '\33c'
BOOL  guistuff_HandleGUIEvent(APTR application, long event); // ..

/********************************************************************/

struct Application
{
  APTR      app_Application;
  APTR      app_MainWindow;
  APTR      app_MainRoot;
  APTR      app_CurrentObject;
  APTR      app_HelpText;
  APTR      app_MkdirWindow;
  APTR      app_MkdirName;
  APTR      app_MkdirRelatedDirlist;
  APTR      app_ButtonProceed;
  APTR      app_ButtonCancel;
  APTR      app_GaugeWindow;
  APTR      app_GaugeSrc;
  APTR      app_GaugeDest;
  APTR      app_GaugeGauge;
  APTR      app_ParseGauge;

  BOOL      app_SWING_Mode;
  BOOL      app_TRAP_Mode;

  char    **app_Texts;
  char     *app_Title;
  ULONG    *app_GlobalEnv;

  long      app_Error;
  long      app_Quit;
  long      app_CurrentGUIEvent;

  APTR      app_DirlistList;
  long      app_DirlistWalker;
};

#endif

