*
*  Source machine generated by GadToolsBox V2.0b
*  which is (c) Copyright 1991-1993 Jaba Development
*
*  GUI Designed by : M.Meany, © MMSoftware.
*

    include 'exec/types.i'
    include 'intuition/intuition.i'
    include 'intuition/classes.i'
    include 'intuition/classusr.i'
    include 'intuition/imageclass.i'
    include 'intuition/gadgetclass.i'
    include 'libraries/gadtools.i'
    include 'graphics/displayinfo.i'
    include 'graphics/gfxbase.i'

    XREF    _GadToolsBase
    XREF    _IntuitionBase
    XREF    _GfxBase
    XREF    _SysBase

OpenScreenTagList    EQU    -612
OpenWindowTagList    EQU    -606
CloseScreen          EQU    -66
CloseWindow          EQU    -72
PrintIText           EQU    -216
LockPubScreen        EQU    -510
UnlockPubScreen      EQU    -516
SetMenuStrip         EQU    -264
ClearMenuStrip       EQU    -54
GetVisualInfoA       EQU    -126
FreeVisualInfo       EQU    -132
CreateContext        EQU    -114
CreateGadgetA        EQU    -30
GT_RefreshWindow     EQU    -84
FreeGadgets          EQU    -36
CreateMenusA         EQU    -48
LayoutMenusA         EQU    -66
FreeMenus            EQU    -54
OpenDiskFont         EQU    -30
CloseFont            EQU    -78
DrawBevelBoxA        EQU    -120
FreeClass            EQU    -714
NewObjectA           EQU    -636
DisposeObject        EQU    -642
TextLength           EQU    -54
CopyMem              EQU    -624
FindTagItem          EQU    -30
IntuiTextLength      EQU    -330
Forbid               EQU    -132
Permit               EQU    -138

GD_PaletteGadg                         EQU    0
GD_SelColTxtGadg                       EQU    1
GD_QuitGadg                            EQU    2
GD_CheckPalGadg                        EQU    3
GD_NameGadg                            EQU    4
GD_AgeGadg                             EQU    5
GD_SexGadg                             EQU    6
GD_CreditGadg                          EQU    7
GD_CompLVGadg                          EQU    8
GD_ScrollGadg                          EQU    9
GD_SlideGadg                           EQU    10
GD_Gadget110                           EQU    11

Project0_CNT    EQU    12

    XDEF    Scr
    XDEF    VisualInfo
    XDEF    PubScreenName
    XDEF    Project0Wnd
    XDEF    Project0GList
    XDEF    Project0Menus
    XDEF    Project0Gadgets
    XDEF    Project0Left
    XDEF    Project0Top
    XDEF    Project0Width
    XDEF    Project0Height

Scr:
    DC.L    0
VisualInfo:
    DC.L    0
PubScreenName:
    DC.L    0
Project0Wnd:
    DC.L    0
Project0GList:
    DC.L    0
Project0Menus:
    DC.L    0
MTags0:
    DC.L    GTMN_FrontPen,0,TAG_DONE
MTags1:
    DC.L    GTMN_TextAttr,topaz8,TAG_DONE
Project0Gadgets:
    DCB.L    12,0
BufNewGad:
    DC.W    0,0,0,0
    DC.L    0,0
    DC.W    0
    DC.L    0,0,0
TD:
    DC.L    TAG_DONE
Project0Left:
    DC.W    0
Project0Top:
    DC.W    16
Project0Width:
    DC.W    640
Project0Height:
    DC.W    143

Project0GTypes:
    DC.W    PALETTE_KIND
    DC.W    TEXT_KIND
    DC.W    BUTTON_KIND
    DC.W    CHECKBOX_KIND
    DC.W    STRING_KIND
    DC.W    INTEGER_KIND
    DC.W    MX_KIND
    DC.W    CYCLE_KIND
    DC.W    LISTVIEW_KIND
    DC.W    SCROLLER_KIND
    DC.W    SLIDER_KIND
    DC.W    TEXT_KIND

Project0NGads:
    DC.W    18,6,217,25
    DC.L    0,0
    DC.W    GD_PaletteGadg
    DC.L    0,0,0
    DC.W    89,36,145,13
    DC.L    SelColTxtGadgText,0
    DC.W    GD_SelColTxtGadg
    DC.L    PLACETEXT_LEFT,0,0
    DC.W    527,124,79,15
    DC.L    QuitGadgText,0
    DC.W    GD_QuitGadg
    DC.L    PLACETEXT_IN,0,0
    DC.W    208,55,26,11
    DC.L    CheckPalGadgText,0
    DC.W    GD_CheckPalGadg
    DC.L    PLACETEXT_LEFT,0,0
    DC.W    88,71,147,14
    DC.L    NameGadgText,0
    DC.W    GD_NameGadg
    DC.L    PLACETEXT_LEFT,0,0
    DC.W    89,89,146,13
    DC.L    AgeGadgText,0
    DC.W    GD_AgeGadg
    DC.L    PLACETEXT_LEFT,0,0
    DC.W    218,104,17,9
    DC.L    0,0
    DC.W    GD_SexGadg
    DC.L    PLACETEXT_LEFT,0,0
    DC.W    258,7,162,12
    DC.L    0,0
    DC.W    GD_CreditGadg
    DC.L    0,0,0
    DC.W    259,35,161,56
    DC.L    CompLVGadgText,0
    DC.W    GD_CompLVGadg
    DC.L    PLACETEXT_ABOVE,0,0
    DC.W    493,16,17,92
    DC.L    ScrollGadgText,0
    DC.W    GD_ScrollGadg
    DC.L    PLACETEXT_ABOVE,0,0
    DC.W    559,17,15,91
    DC.L    SlideGadgText,0
    DC.W    GD_SlideGadg
    DC.L    PLACETEXT_ABOVE,0,0
    DC.W    274,120,200,14
    DC.L    Gadget110Text,0
    DC.W    GD_Gadget110
    DC.L    PLACETEXT_ABOVE,0,0

Project0GTags:
    DC.L    GTPA_Depth,2
    DC.L    GTPA_Color,1
    DC.L    GTPA_ColorOffset,0
    DC.L    TAG_DONE
    DC.L    GTTX_Border,1
    DC.L    TAG_DONE
    DC.L    TAG_DONE
    DC.L    GTCB_Checked,1
    DC.L    TAG_DONE
    DC.L    GA_TabCycle,0
    DC.L    GTST_MaxChars,30
    DC.L    TAG_DONE
    DC.L    GTIN_Number,0
    DC.L    GTIN_MaxChars,2
    DC.L    TAG_DONE
    DC.L    GTMX_Labels,SexGadgLabels
    DC.L    TAG_DONE
    DC.L    GTCY_Labels,CreditGadgLabels
    DC.L    TAG_DONE
    DC.L    GTLV_Labels,CompLVGadgList
    DC.L    GTLV_ShowSelected,0
    DC.L    TAG_DONE
    DC.L    GTSC_Top,1
    DC.L    GTSC_Total,500
    DC.L    GTSC_Visible,20
    DC.L    GTSC_Arrows,8
    DC.L    PGA_Freedom,LORIENT_VERT
    DC.L    GA_RelVerify,1
    DC.L    TAG_DONE
    DC.L    PGA_Freedom,LORIENT_VERT
    DC.L    GA_RelVerify,1
    DC.L    TAG_DONE
    DC.L    GTTX_Text,Gadget110String
    DC.L    GTTX_Border,1
    DC.L    TAG_DONE


Gadget110String:
    DC.B    'M.Meany, Nov 93.',0
    CNOP    0,2

SelColTxtGadgText:
    DC.B    'Selected',0

QuitGadgText:
    DC.B    'Quit',0

CheckPalGadgText:
    DC.B    'Allow Colour Selection',0

NameGadgText:
    DC.B    'Name',0

AgeGadgText:
    DC.B    'Age',0

CompLVGadgText:
    DC.B    'Computer',0

ScrollGadgText:
    DC.B    'Scroll',0

SlideGadgText:
    DC.B    'Slide',0

Gadget110Text:
    DC.B    'ACC Example by',0

    CNOP    0,2

    XDEF    SexGadgLabels

SexGadgLabels:
    DC.L    SexGadgLab0
    DC.L    SexGadgLab1
    DC.L    SexGadgLab2
    DC.L    0

    XDEF    CreditGadgLabels

CreditGadgLabels:
    DC.L    CreditGadgLab0
    DC.L    CreditGadgLab1
    DC.L    CreditGadgLab2
    DC.L    CreditGadgLab3
    DC.L    CreditGadgLab4
    DC.L    0

SexGadgLab0:    DC.B    'Male',0
SexGadgLab1:    DC.B    'Female',0
SexGadgLab2:    DC.B    'Unsure!',0

    CNOP    0,2

CreditGadgLab0:    DC.B    '** Credits **',0
CreditGadgLab1:    DC.B    'Programming by',0
CreditGadgLab2:    DC.B    'M.Meany',0
CreditGadgLab3:    DC.B    'GadToolsBox by',0
CreditGadgLab4:    DC.B    'Jaba Development',0

    CNOP    0,2

CompLVGadgNodes0:
    DC.L    CompLVGadgNodes1
    DC.L    CompLVGadgList
    DC.B    0,0
    DC.L    CompLVGadgName0

CompLVGadgName0:
    DC.B    'A500   WB1.2',0
    CNOP    0,2

CompLVGadgNodes1:
    DC.L    CompLVGadgNodes2
    DC.L    CompLVGadgNodes0
    DC.B    0,0
    DC.L    CompLVGadgName1

CompLVGadgName1:
    DC.B    'A500   WB1.3',0
    CNOP    0,2

CompLVGadgNodes2:
    DC.L    CompLVGadgNodes3
    DC.L    CompLVGadgNodes1
    DC.B    0,0
    DC.L    CompLVGadgName2

CompLVGadgName2:
    DC.B    'A500+  WB2.04',0
    CNOP    0,2

CompLVGadgNodes3:
    DC.L    CompLVGadgNodes4
    DC.L    CompLVGadgNodes2
    DC.B    0,0
    DC.L    CompLVGadgName3

CompLVGadgName3:
    DC.B    'A2000  WB1.3',0
    CNOP    0,2

CompLVGadgNodes4:
    DC.L    CompLVGadgNodes5
    DC.L    CompLVGadgNodes3
    DC.B    0,0
    DC.L    CompLVGadgName4

CompLVGadgName4:
    DC.B    'A1500  WB1.3',0
    CNOP    0,2

CompLVGadgNodes5:
    DC.L    CompLVGadgNodes6
    DC.L    CompLVGadgNodes4
    DC.B    0,0
    DC.L    CompLVGadgName5

CompLVGadgName5:
    DC.B    'A1500  WB2.04',0
    CNOP    0,2

CompLVGadgNodes6:
    DC.L    CompLVGadgNodes7
    DC.L    CompLVGadgNodes5
    DC.B    0,0
    DC.L    CompLVGadgName6

CompLVGadgName6:
    DC.B    'A600   WB2.05',0
    CNOP    0,2

CompLVGadgNodes7:
    DC.L    CompLVGadgNodes8
    DC.L    CompLVGadgNodes6
    DC.B    0,0
    DC.L    CompLVGadgName7

CompLVGadgName7:
    DC.B    'A1200  WB3.0',0
    CNOP    0,2

CompLVGadgNodes8:
    DC.L    CompLVGadgNodes9
    DC.L    CompLVGadgNodes7
    DC.B    0,0
    DC.L    CompLVGadgName8

CompLVGadgName8:
    DC.B    'A3000  WB3.0',0
    CNOP    0,2

CompLVGadgNodes9:
    DC.L    CompLVGadgNodes10
    DC.L    CompLVGadgNodes8
    DC.B    0,0
    DC.L    CompLVGadgName9

CompLVGadgName9:
    DC.B    'A4000  WB3.0 030',0
    CNOP    0,2

CompLVGadgNodes10:
    DC.L    CompLVGadgList+4
    DC.L    CompLVGadgNodes9
    DC.B    0,0
    DC.L    CompLVGadgName10

CompLVGadgName10:
    DC.B    'A4000  WB3.0 040',0
    CNOP    0,2

    XDEF    CompLVGadgList

CompLVGadgList:
    DC.L    CompLVGadgNodes0,0,CompLVGadgNodes10

    XDEF    topaz8

topaz8:
    DC.L    topazFName8
    DC.W    8
    DC.B    $00,$01

topazFName8:
    DC.B    'topaz.font',0
    CNOP    0,2

    XDEF    Project0WindowTags

Project0WindowTags:
Project0L:
    DC.L    WA_Left,0
Project0T:
    DC.L    WA_Top,0
Project0W:
    DC.L    WA_Width,0
Project0H:
    DC.L    WA_Height,0
    DC.L    WA_IDCMP,PALETTEIDCMP!TEXTIDCMP!BUTTONIDCMP!CHECKBOXIDCMP!STRINGIDCMP!INTEGERIDCMP!MXIDCMP!CYCLEIDCMP!LISTVIEWIDCMP!SCROLLERIDCMP!ARROWIDCMP!SLIDERIDCMP!IDCMP_MENUPICK!IDCMP_CLOSEWINDOW!IDCMP_REFRESHWINDOW
    DC.L    WA_Flags,WFLG_SIZEGADGET!WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH
Project0WG:
    DC.L    WA_Gadgets,0
    DC.L    WA_Title,Project0WTitle
    DC.L    WA_ScreenTitle,Project0STitle
Project0SC:
    DC.L    WA_PubScreen,0
    DC.L    WA_MinWidth,67
    DC.L    WA_MinHeight,21
    DC.L    WA_MaxWidth,640
    DC.L    WA_MaxHeight,256
    DC.L    TAG_DONE

Project0WTitle:
    DC.B    'Work Window',0
    CNOP    0,2

Project0STitle:
    DC.B    'GadToolsBox V2.0b © 1991-1993',0
    CNOP    0,2

    XDEF    Project0NewMenu0

Project0NewMenu0:
    DC.B    NM_TITLE,0
    DC.L    Project0MName0
    DC.L    0
    DC.W    0
    DC.L    0,0

Project0NewMenu1:
    DC.B    NM_ITEM,0
    DC.L    Project0MName1
    DC.L    0
    DC.W    0
    DC.L    0,DoQuit

Project0NewMenu2:
    DC.B    NM_ITEM,0
    DC.L    Project0MName2
    DC.L    0
    DC.W    NM_ITEMDISABLED
    DC.L    0,0

    DC.B    NM_END,0
    DC.L    0,0
    DC.W    0
    DC.L    0,0

Project0MName0:
    DC.B    'Project',0

Project0MName1:
    DC.B    'Quit',0

Project0MName2:
    DC.B    'Dud',0

    CNOP    0,2

    XDEF    SetupScreen

SetupScreen
    movem.l d1-d3/a0-a2/a6,-(sp)
    move.l  _IntuitionBase,a6
    move.l  PubScreenName,a0
    jsr     LockPubScreen(a6)
    move.l  d0,Scr
    tst.l   d0
    beq     SError
    move.l  Scr,a0
    move.l  _GadToolsBase,a6
    lea.l   TD,a1
    jsr     GetVisualInfoA(a6)
    move.l  d0,VisualInfo
    tst.l   d0
    beq     VError
    moveq   #0,d0
SDone:
    movem.l (sp)+,d1-d3/a0-a2/a6
    rts
SError:
    moveq   #1,d0
    bra.s   SDone
VError:
    moveq   #2,d0
    bra.s   SDone

    XDEF    CloseDownScreen

CloseDownScreen:
    movem.l d0-d1/a0-a1/a6,-(sp)
    move.l  _GadToolsBase,a6
    move.l  VisualInfo,a0
    cmpa.l  #0,a0
    beq.s   NoVis
    jsr     FreeVisualInfo(a6)
    move.l  #0,VisualInfo
NoVis:
    move.l  _IntuitionBase,a6
    suba.l  a0,a0
    move.l  Scr,a1
    cmpa.l  #0,a1
    beq.s   NoScr
    jsr     UnlockPubScreen(a6)
    move.l  #0,Scr
NoScr:
    movem.l (sp)+,d0-d1/a0-a1/a6
    rts

    XDEF    OpenProject0Window

OpenProject0Window:
    movem.l d1-d4/a0-a4/a6,-(sp)
    move.l  Scr,a0
    moveq   #0,d3
    moveq   #0,d2
    move.b  sc_WBorLeft(a0),d2
    move.l  sc_Font(a0),a1
    move.w  ta_YSize(a1),d3
    addq.w  #1,d3
    move.b  sc_WBorTop(a0),d0
    ext.w   d0
    add.w   d0,d3
    move.l  _GadToolsBase,a6
    lea.l   Project0GList,a0
    jsr     CreateContext(a6)
    move.l  d0,a3
    tst.l   d0
    beq     Project0CError
    movem.w d2-d3,-(sp)
    moveq   #0,d3
    lea.l   Project0GTags,a4
Project0GL:
    move.l  _SysBase,a6
    lea.l   Project0NGads,a0
    move.l  d3,d0
    mulu    #gng_SIZEOF,d0
    add.l   d0,a0
    lea.l   BufNewGad,a1
    moveq   #gng_SIZEOF,d0
    jsr     CopyMem(a6)
    lea.l   BufNewGad,a0
    move.l  VisualInfo,gng_VisualInfo(a0)
    move.l  #topaz8,gng_TextAttr(a0)
    move.w  gng_LeftEdge(a0),d0
    add.w   (sp),d0
    move.w  d0,gng_LeftEdge(a0)
    move.w  gng_TopEdge(a0),d0
    add.w   2(sp),d0
    move.w  d0,gng_TopEdge(a0)
    move.l  _GadToolsBase,a6
    lea.l   Project0GTypes,a0
    moveq   #0,d0
    move.l  d3,d1
    asl.l   #1,d1
    add.l   d1,a0
    move.w  (a0),d0
    move.l  a3,a0
    lea.l   BufNewGad,a1
    move.l  a4,a2
    jsr     CreateGadgetA(a6)
    tst.l   d0
    bne.s    Project0COK
    movem.w (sp)+,d2-d3
    bra     Project0GError
Project0COK:
    move.l  d0,a3
    move.l  d3,d0
    asl.l   #2,d0
    lea.l   Project0Gadgets,a0
    add.l   d0,a0
    move.l  a3,(a0)
Project0TL:
    tst.l   (a4)
    beq.s   Project0DN
    addq.w  #8,a4
    bra.s   Project0TL
Project0DN:
    addq.w  #4,a4
    addq.w  #1,d3
    cmp.w   #Project0_CNT,d3
    bmi     Project0GL
    movem.w (sp)+,d2-d3
    move.l  Project0GList,Project0WG+4
    move.l  _GadToolsBase,a6
    lea.l   Project0NewMenu0,a0
    lea.l   MTags0,a1
    jsr     CreateMenusA(a6)
    move.l  d0,Project0Menus
    tst.l   d0
    beq     Project0MError
    move.l  d0,a0
    move.l  VisualInfo,a1
    lea.l   MTags1,a2
    jsr     LayoutMenusA(a6)
    move.l  Scr,Project0SC+4
    moveq   #0,d0
    move.w  Project0Left,d0
    move.l  d0,Project0L+4
    move.w  Project0Top,d0
    move.l  d0,Project0T+4
    move.w  Project0Width,d0
    move.l  d0,Project0W+4
    move.w  Project0Height,d0
    add.w   d3,d0
    move.l  d0,Project0H+4
    move.l  _IntuitionBase,a6
    suba.l  a0,a0
    lea.l   Project0WindowTags,a1
    jsr     OpenWindowTagList(a6)
    move.l  d0,Project0Wnd
    tst.l   d0
    beq     Project0WError
    move.l   Project0Wnd,a0
    move.l   Project0Menus,a1
    jsr      SetMenuStrip(a6)
    move.l  _GadToolsBase,a6
    move.l  Project0Wnd,a0
    suba.l  a1,a1
    jsr     GT_RefreshWindow(a6)
    moveq   #0,d0
Project0Done:
    movem.l (sp)+,d1-d4/a0-a4/a6
    rts
Project0CError:
    moveq   #1,d0
    bra.s   Project0Done
Project0GError:
    moveq   #2,d0
    bra.s   Project0Done
Project0MError:
    moveq   #3,d0
    bra.s   Project0Done
Project0WError:
    moveq   #4,d0
    bra.s   Project0Done

    XDEF    CloseProject0Window

CloseProject0Window:
    movem.l d0-d1/a0-a2/a6,-(sp)
    move.l   _IntuitionBase,a6
    move.l   Project0Menus,a0
    cmpa.l   #0,a0
    beq      Project0NMenu
    move.l   Project0Wnd,a0
    jsr      ClearMenuStrip(a6)
    move.l   _GadToolsBase,a6
    move.l   Project0Menus,a0
    jsr      FreeMenus(a6)
    move.l   #0,Project0Menus
Project0NMenu:
    move.l  _IntuitionBase,a6
    move.l  Project0Wnd,a0
    cmpa.l  #0,a0
    beq     Project0NWnd
    jsr     CloseWindow(a6)
    move.l  #0,Project0Wnd
Project0NWnd:
    move.l  _GadToolsBase,a6
    move.l  Project0GList,a0
    cmpa.l  #0,a0
    beq     Project0NGad
    jsr     FreeGadgets(a6)
    move.l  #0,Project0GList
Project0NGad:
    movem.l (sp)+,d0-d1/a0-a2/a6
    rts


    end
