/* 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; }