home *** CD-ROM | disk | FTP | other *** search
- /* 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;
- }
-