/*
 *  Source generated with GadToolsBox V1.3
 *  which is (c) Copyright 1991,92 Jaba Development
 */

#include <exec/types.h>
#include <intuition/intuition.h>
#include <intuition/classes.h>
#include <intuition/classusr.h>
#include <intuition/imageclass.h>
#include <intuition/gadgetclass.h>
#include <libraries/gadtools.h>
#include <graphics/displayinfo.h>
#include <graphics/gfxbase.h>
#include <clib/exec_protos.h>
#include <clib/intuition_protos.h>
#include <clib/gadtools_protos.h>
#include <clib/graphics_protos.h>
#include <string.h>

#define GD_version                             0
#define GD_Revision                            1
#define GD_minor                               2
#define GD_stage                               3
#define GD_nrrev                               4
#define GD_country                             5
#define GD_versstr                             6
#define GD_reserved                            7

struct Screen        *Scr = NULL;
APTR                  VisualInfo = NULL;
struct Window        *Project0Wnd = NULL;
struct Gadget        *Project0GList = NULL;
struct Gadget        *Project0Gadgets[8];
UWORD                 Project0Left = 100;
UWORD                 Project0Top = 58;
UWORD                 Project0Width = 430;
UWORD                 Project0Height = 97;
UBYTE                *Project0Wdt = "Version";

struct TextAttr topaz8 = {
    ( STRPTR )"topaz.font", 8, 0x00, 0x41 };

long SetupScreen( void )
{
    if ( NOT( Scr = LockPubScreen( "Workbench" )))
        return( 1L );

    if ( NOT( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
        return( 2L );

    return( NULL );
}

void CloseDownScreen( void )
{
    if ( VisualInfo ) {
        FreeVisualInfo( VisualInfo );
        VisualInfo = NULL;
    }

    if ( Scr        ) {
        UnlockPubScreen( NULL, Scr );
        Scr = NULL;
    }
}

long OpenProject0Window( void )
{
    struct NewGadget     ng;
    struct Gadget       *g;
    UWORD               offx, offy;

    offx = Scr->WBorLeft;
    offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;

    if ( NOT( g = CreateContext( &Project0GList )))
        return( 1L );

    ng.ng_LeftEdge        =    offx + 88;
    ng.ng_TopEdge         =    offy + 7;
    ng.ng_Width           =    50;
    ng.ng_Height          =    14;
    ng.ng_GadgetText      =    (UBYTE *)"Version";
    ng.ng_TextAttr        =    &topaz8;
    ng.ng_GadgetID        =    GD_version;
    ng.ng_Flags           =    PLACETEXT_LEFT;
    ng.ng_VisualInfo      =    VisualInfo;

    g = CreateGadget( NUMBER_KIND, g, &ng, GTNM_Border, TRUE, TAG_DONE );

    Project0Gadgets[ 0 ] = g;

    ng.ng_LeftEdge        =    offx + 226;
    ng.ng_GadgetText      =    (UBYTE *)"Revision";
    ng.ng_GadgetID        =    GD_Revision;

    g = CreateGadget( NUMBER_KIND, g, &ng, GTNM_Border, TRUE, TAG_DONE );

    Project0Gadgets[ 1 ] = g;

    ng.ng_LeftEdge        =    offx + 348;
    ng.ng_GadgetText      =    (UBYTE *)"Minor";
    ng.ng_GadgetID        =    GD_minor;

    g = CreateGadget( NUMBER_KIND, g, &ng, GTNM_Border, TRUE, TAG_DONE );

    Project0Gadgets[ 2 ] = g;

    ng.ng_LeftEdge        =    offx + 88;
    ng.ng_TopEdge         =    offy + 28;
    ng.ng_Width           =    101;
    ng.ng_GadgetText      =    (UBYTE *)"Stage";
    ng.ng_GadgetID        =    GD_stage;

    g = CreateGadget( TEXT_KIND, g, &ng, GTST_MaxChars, 5, GTTX_Border, TRUE, TAG_DONE );

    Project0Gadgets[ 3 ] = g;

    ng.ng_LeftEdge        =    offx + 348;
    ng.ng_Width           =    50;
    ng.ng_GadgetText      =    (UBYTE *)"Non Released Rev";
    ng.ng_GadgetID        =    GD_nrrev;

    g = CreateGadget( NUMBER_KIND, g, &ng, GTNM_Border, TRUE, TAG_DONE );

    Project0Gadgets[ 4 ] = g;

    ng.ng_LeftEdge        =    offx + 89;
    ng.ng_TopEdge         =    offy + 49;
    ng.ng_Width           =    71;
    ng.ng_GadgetText      =    (UBYTE *)"Country";
    ng.ng_GadgetID        =    GD_country;

    g = CreateGadget( NUMBER_KIND, g, &ng, GTNM_Border, TRUE, TAG_DONE );

    Project0Gadgets[ 5 ] = g;

    ng.ng_LeftEdge        =    offx + 250;
    ng.ng_Width           =    148;
    ng.ng_GadgetText      =    (UBYTE *)"Version";
    ng.ng_GadgetID        =    GD_versstr;

    g = CreateGadget( TEXT_KIND, g, &ng, GTST_MaxChars, 5, GTTX_Border, TRUE, TAG_DONE );

    Project0Gadgets[ 6 ] = g;

    ng.ng_LeftEdge        =    offx + 89;
    ng.ng_TopEdge         =    offy + 69;
    ng.ng_Width           =    311;
    ng.ng_GadgetText      =    (UBYTE *)"Reserved";
    ng.ng_GadgetID        =    GD_reserved;

    g = CreateGadget( TEXT_KIND, g, &ng, GTST_MaxChars, 5, GTTX_Border, TRUE, TAG_DONE );

    Project0Gadgets[ 7 ] = g;

    if ( NOT g )
        return( 2L );

    if ( NOT( Project0Wnd = OpenWindowTags( NULL,
                    WA_Left,          Project0Left,
                    WA_Top,           Project0Top,
                    WA_Width,         Project0Width,
                    WA_Height,        Project0Height + offy,
                    WA_IDCMP,         NUMBERIDCMP|TEXTIDCMP|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
                    WA_Flags,         WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH,
                    WA_Gadgets,       Project0GList,
                    WA_Title,         Project0Wdt,
                    WA_ScreenTitle,   "ResGrepVersion",
                        TAG_DONE )))
        return( 4L );

    GT_RefreshWindow( Project0Wnd, NULL );

    return( NULL );
}

void CloseProject0Window( void )
{
    if ( Project0Wnd        ) {
        CloseWindow( Project0Wnd );
        Project0Wnd = NULL;
    }

    if ( Project0GList      ) {
        FreeGadgets( Project0GList );
        Project0GList = NULL;
    }
}

