home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
600-699
/
ff623.lha
/
AIB
/
Source
/
gadgets.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-03-21
|
2KB
|
109 lines
/* gadget stuff */
#include "aib.h"
#include "extern.h"
/* defines... */
/* prototypes */
void gad_opts (struct Gadget *, UWORD);
void prepare_newgad (void);
void locate_gadget(int);
/* globals */
/****************************************************************************/
void gad_opts (struct Gadget *gad, UWORD code)
{
switch (gad->GadgetID) {
/** init menu... */
case G1_user:
strcpy(currgad->name,((struct StringInfo*)gad->SpecialInfo)->Buffer);
break;
case G1_left:
currgad->l=((struct StringInfo *)gad->SpecialInfo)->LongInt;
break;
case G1_top:
currgad->t=((struct StringInfo *)gad->SpecialInfo)->LongInt;
break;
case G1_widt:
currgad->w=((struct StringInfo *)gad->SpecialInfo)->LongInt;
break;
case G1_height:
currgad->h=((struct StringInfo *)gad->SpecialInfo)->LongInt;
break;
case G1_text:
strcpy(currgad->text,((struct StringInfo*)gad->SpecialInfo)->Buffer);
break;
case GA_disa:
currgad->dis = (currgad->dis)?FALSE:TRUE;
break;
case GT_Under:
strcpy(currgad->under,((struct StringInfo*)gad->SpecialInfo)->Buffer);
break;
case G1_chfont:
currgad->cfont = (currgad->cfont)?FALSE:TRUE;
break;
case G1_type:
currgad->type=code;
break;
/* parameters menu... */
}
}
/***********************************************************************/
void locate_gadget (int index)
{
struct maingad *temp = topgad;
while (temp->id != index && temp->next) temp = temp->next;
currgad = temp;
}
/************************************************************************/
void prepare_newgad (void)
{
struct maingad *temp=topgad;
if (!topgad) {
currgad=topgad=(struct maingad *)calloc(sizeof(struct maingad),1);
currgad->prev = NULL;
currgad->id = 0 ;
}
else {
while(temp->next) temp=temp->next;
temp->next = (struct maingad *)calloc(sizeof(struct maingad),1);
currgad=temp->next;
currgad->id = temp->id+1;
currgad->prev = temp;
}
currgad->next = NULL;
currgad->text[0] = NULL;
currgad->name[0] = NULL;
currgad->under = NULL;
currgad->type = 0;
}