home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d5xx
/
d547
/
powersource.lha
/
PowerSource
/
source.lzh
/
source
/
con.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-09-15
|
7KB
|
220 lines
/*----------------------------------------------------------------------*
con.c version 3.0 - © Copyright 1990-91 Jaba Development
Author : Jan van den Baard
Purpose: startup configuration window
*----------------------------------------------------------------------*/
/*
* configuration window gadgets e.c.t.
*/
static SHORT WPairs[] =
{ 2,1,246,1,246,97,2,97,2,1 };
static SHORT WPairs1[] =
{ 2,1,246,1,246,12,2,12,2,1 };
static struct Border WBorder1 =
{ 0,0,0,0,JAM1,5,WPairs1,NULL };
static struct Border WBorder =
{ 0,0,0,0,JAM1,5,WPairs,&WBorder1 };
static struct IntuiText WText2 =
{ 0,1,JAM2,10,3,NULL,(UBYTE *)"Please specify",NULL };
static struct IntuiText WText1 =
{ 0,1,JAM2,67,40,NULL,(UBYTE *)"Screen depth :",&WText2 };
static struct IntuiText WText =
{ 0,1,JAM2,54,15,NULL,(UBYTE *)"Edit gadgets for :",&WText1 };
static SHORT WBPairs[] =
{ 0,0,234,0,234,12,0,12,0,0 };
static struct Border WBBorder =
{ -1,-1,0,0,JAM1,5,WBPairs,NULL };
static struct IntuiText WBText =
{ 0,1,JAM2,79,2,NULL,(UBYTE *)"WORKBENCH",NULL };
static struct Gadget WB =
{ NULL,7,66,233,11,SELECTED,GADGIMMEDIATE+TOGGLESELECT,BOOLGADGET,
(APTR)&WBBorder,NULL,&WBText,31L,NULL,9,NULL };
static SHORT OKIDOKIPairs[] =
{ 0,0,114,0,114,12,0,12,0,0 };
static struct Border OKIDOKIBorder =
{ -1,-1,0,0,JAM1,5,OKIDOKIPairs,NULL };
static struct IntuiText OKIDOKIText =
{ 0,1,JAM2,49,2,NULL,(UBYTE *)"OK",NULL };
static struct Gadget OKIDOKI =
{ &WB,7,82,113,11,NULL,RELVERIFY,BOOLGADGET,
(APTR)&OKIDOKIBorder,NULL,&OKIDOKIText,NULL,NULL,8,NULL };
static struct IntuiText CNCText =
{ 0,1,JAM2,33,2,NULL,(UBYTE *)"CANCEL",NULL };
static struct Gadget CNC =
{ &OKIDOKI,127,82,113,11,NULL,RELVERIFY,BOOLGADGET,
(APTR)&OKIDOKIBorder,NULL,&CNCText,NULL,NULL,7,NULL };
static SHORT DPairs[] =
{ 0,0,29,0,29,12,0,12,0,0 };
static struct Border DBorder =
{ -1,-1,0,0,JAM1,5,DPairs,NULL };
static struct IntuiText D5Text =
{ 0,1,JAM2,10,2,NULL,(UBYTE *)"5",NULL };
static struct Gadget D5 =
{ &CNC,212,50,28,11,NULL,GADGIMMEDIATE+TOGGLESELECT,BOOLGADGET,
(APTR)&DBorder,NULL,&D5Text,143L,NULL,6,NULL };
static struct IntuiText D4Text =
{ 0,1,JAM2,10,2,NULL,(UBYTE *)"4",NULL };
static struct Gadget D4 =
{ &D5,160,50,28,11,NULL,GADGIMMEDIATE+TOGGLESELECT,BOOLGADGET,
(APTR)&DBorder,NULL,&D4Text,151L,NULL,5,NULL };
static struct IntuiText D3Text =
{ 0,1,JAM2,10,2,NULL,(UBYTE *)"3",NULL };
static struct Gadget D3 =
{ &D4,108,50,28,11,NULL,GADGIMMEDIATE+TOGGLESELECT,BOOLGADGET,
(APTR)&DBorder,NULL,&D3Text,155L,NULL,4,NULL };
static struct IntuiText D2Text =
{ 0,1,JAM2,10,2,NULL,(UBYTE *)"2",NULL };
static struct Gadget D2 =
{ &D3,58,50,28,11,NULL,GADGIMMEDIATE+TOGGLESELECT,BOOLGADGET,
(APTR)&DBorder,NULL,&D2Text,157L,NULL,3,NULL };
static struct IntuiText D1Text =
{ 0,1,JAM2,10,2,NULL,(UBYTE *)"1",NULL };
static struct Gadget D1 =
{ &D2,7,50,28,11,NULL,GADGIMMEDIATE+TOGGLESELECT,BOOLGADGET,
(APTR)&DBorder,NULL,&D1Text,158L,NULL,2,NULL };
static SHORT WRPairs[] =
{ 0,0,114,0,114,12,0,12,0,0 };
static struct Border WRBorder =
{ -1,-1,0,0,JAM1,5,WRPairs,NULL };
static struct IntuiText REQText =
{ 0,1,JAM2,19,2,NULL,(UBYTE *)"REQUESTER",NULL };
static struct Gadget REQ =
{ &D1,127,25,113,11,NULL,GADGIMMEDIATE+TOGGLESELECT,BOOLGADGET,
(APTR)&WRBorder,NULL,&REQText,1L,NULL,1,NULL };
static struct IntuiText WNDText =
{ 0,1,JAM2,33,2,NULL,(UBYTE *)"WINDOW",NULL };
static struct Gadget WND =
{ &REQ,7,25,113,11,SELECTED,GADGIMMEDIATE+TOGGLESELECT,BOOLGADGET,
(APTR)&WRBorder,NULL,&WNDText,2L,NULL,0,NULL };
static struct NewWindow nw_conf =
{ 197,60,249,99,3,2,GADGETUP+GADGETDOWN,ACTIVATE+RMBTRAP+NOCAREREFRESH+BORDERLESS,
NULL,NULL,NULL,NULL,NULL,0,0,0,0,WBENCHSCREEN };
/*
* static data
*/
static struct Window *w;
static UWORD gad_id;
/*
* globals
*/
extern struct Gadget *Gadget;
extern struct Screen *MainScreen;
extern struct NewWindow nw_main;
extern BOOL REQUESTER;
extern BOOL WBSCREEN;
extern USHORT DEPTH, Code;
extern ULONG Class;
extern char wdt[80],wlb[MAXLABEL];
/*
* open the configuration window
*/
LONG get_config(custom)
ULONG custom;
{
if(custom) {
nw_conf.LeftEdge = (MainScreen->Width >> 1) - 124;
nw_conf.TopEdge = (MainScreen->Height >> 1) - 49;
nw_conf.Screen = MainScreen;
nw_conf.Type = CUSTOMSCREEN;
} else {
nw_conf.LeftEdge = 197;
nw_conf.TopEdge = 60;
nw_conf.Screen = NULL;
nw_conf.Type = WBENCHSCREEN;
}
if(NOT(w = OpenWindow(&nw_conf)))
close_up(" - ERROR: Can't open the configurations window !");
draw(w,&WND,&WBorder,&WText);
if(custom) {
disable_window();
buisy();
DeSelectGList(w,&WND,NULL,-1L);
if(WBSCREEN) SelectGadget(w,&WB,NULL);
else if(DEPTH == 1) SelectGadget(w,&D1,NULL);
else if(DEPTH == 2) SelectGadget(w,&D2,NULL);
else if(DEPTH == 3) SelectGadget(w,&D3,NULL);
else if(DEPTH == 4) SelectGadget(w,&D4,NULL);
else SelectGadget(w,&D5,NULL);
if(REQUESTER) SelectGadget(w,&REQ,NULL);
else SelectGadget(w,&WND,NULL);
}
do {
Wait(1 << w->UserPort->mp_SigBit);
while(read_msg(w)) {
gad_id = Gadget->GadgetID;
switch(gad_id) {
case 9:
case 6:
case 5:
case 4:
case 3:
case 2: MutualExclude(w,Gadget,&D1,NULL);
SelectGadget(w,Gadget,NULL);
break;
case 1:
case 0: MutualExclude(w,Gadget,&WND,NULL);
SelectGadget(w,Gadget,NULL);
break;
}
}
} while((gad_id != 7)&&(gad_id != 8));
CloseWindow(w);
if(gad_id == 8) {
if(SelectTest(&WND)) {
REQUESTER = FALSE;
nw_main.Flags = FLAGS_NM;
strcpy((char *)&wdt,"Work Window");
strcpy((char *)&wlb,"new_window");
} else {
REQUESTER = TRUE;
nw_main.Flags = FLAGS_RQ;
strcpy((char *)&wdt,"Requester");
strcpy((char *)&wlb,"requester");
}
if(SelectTest(&D1)) { DEPTH = 1; WBSCREEN = FALSE; }
else if(SelectTest(&D2)) { DEPTH = 2; WBSCREEN = FALSE; }
else if(SelectTest(&D3)) { DEPTH = 3; WBSCREEN = FALSE; }
else if(SelectTest(&D4)) { DEPTH = 4; WBSCREEN = FALSE; }
else if(SelectTest(&WB)) { DEPTH = 2; WBSCREEN = TRUE; }
else { DEPTH = 5; WBSCREEN = FALSE; }
if(custom) {
enable_window();
ok();
}
return TRUE;
}
if(custom) {
enable_window();
ok();
return FALSE;
}
close_up(" - BYE BYE......");
}