home *** CD-ROM | disk | FTP | other *** search
- #include "words.h"
-
- struct EasyStruct AboutReq =
- {
- 0L,0L,(UBYTE *)"About " LYR_NAME,
- (UBYTE *)LYR_NAME " is Copyright ©1993\nby CEKASOFT\nKarlheinz Klingbeil\nElzstr. 42\n7809 Gutach\nGermany\n\n ENJOY !!!",
- (UBYTE *)"incredible | silly | great",
- };
-
- struct EasyStruct ExitReq =
- {
- 0L,0L,(UBYTE *)"Quit " LYR_NAME,
- (UBYTE *)"Really quit ?",
- (UBYTE *)"Yes (L-AMIGA+V) | No (L-AMIGA + B)",
- };
-
-
- int templatestringClicked( void )
- {
- /* routine when gadget "" is clicked. */
- if(*(GetString(Project0Gadgets[GDX_templatestring])))
- {
- list_off(LIST_PT);newpattern(GetString(Project0Gadgets[GDX_templatestring]));list_on(LIST_PT);
-
- GT_SetGadgetAttrs(Project0Gadgets[GDX_templatelist],Project0Wnd,NULL,
- GTLV_Selected,NodeToNum(&winfo.pattern,(struct Node *)winfo.currentpattern),NULL,TAG_DONE);
- }
- if(edit.pattern)
- {
- edit.pattern = 0;
- GT_SetGadgetAttrs(Project0Gadgets[GDX_templatestring],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_deltemplate],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- }
- else ActivateGadget(Project0Gadgets[GD_templatestring],Project0Wnd,NULL);
- return (TRUE);
- }
-
- int wordlistClicked( void )
- {
- /* routine when gadget "Words" is clicked. */
- if(winfo.currentclass)
- {
- winfo.currentword = (struct wordnode *)NumToNode(&winfo.currentclass->cl_Words,Project0Msg.Code);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_delword],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_addword],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- ActivateGadget(Project0Gadgets[GD_wordstring],Project0Wnd,NULL);
- edit.word = 1;
- }
- return (TRUE);
- }
-
- int class_stringClicked( void )
- {
- /* routine when gadget "" is clicked. */
- if(*(GetString(Project0Gadgets[GDX_class_string])))
- {
- list_off(LIST_CL);newclass(GetString(Project0Gadgets[GDX_class_string]));list_on(LIST_CL);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_classlist],Project0Wnd,NULL,
- GTLV_Selected,NodeToNum(&winfo.class,(struct Node *)winfo.currentclass),NULL,TAG_DONE);
- list_off(LIST_WD);
- list_on(LIST_WD);
- }
- if(edit.class)
- {
- edit.class = 0;
- GT_SetGadgetAttrs(Project0Gadgets[GDX_class_string],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_delclass],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_addword],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- }
- else ActivateGadget(Project0Gadgets[GD_class_string],Project0Wnd,NULL);
- return (TRUE);
- }
-
- int classlistClicked( void )
- {
- /* routine when gadget "Classes" is clicked. */
- winfo.currentclass = (struct classnode *)NumToNode(&winfo.class,Project0Msg.Code);
- winfo.currentword = (struct wordnode *)winfo.currentclass->cl_Words.lh_TailPred;
- list_off(LIST_WD);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_class_string],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_delclass],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_addword],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- ActivateGadget(Project0Gadgets[GD_class_string],Project0Wnd,NULL);
- list_on(LIST_CL);
- edit.class = 1;
- return (TRUE);
- }
-
- int wordstringClicked( void )
- {
- /* routine when gadget "" is clicked. */
- if(*(GetString(Project0Gadgets[GDX_wordstring])))
- {
- list_off(LIST_WD);newword(GetString(Project0Gadgets[GDX_wordstring]));list_on(LIST_WD);
- if(winfo.currentclass)
- {
- GT_SetGadgetAttrs(Project0Gadgets[GDX_wordlist],Project0Wnd,NULL,
- GTLV_Selected,NodeToNum(&winfo.currentclass->cl_Words,(struct Node *)winfo.currentword),NULL,TAG_DONE);
- }
- }
- if(edit.word)
- {
- edit.word = 0;
- GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_delword],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- }
- else ActivateGadget(Project0Gadgets[GD_wordstring],Project0Wnd,NULL);
- return (TRUE);
- }
-
- int templatelistClicked( void )
- {
- /* routine when gadget "Pattern" is clicked. */
- winfo.currentpattern = (struct patternnode *)NumToNode(&winfo.pattern,Project0Msg.Code);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_templatestring],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_deltemplate],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- ActivateGadget(Project0Gadgets[GD_templatestring],Project0Wnd,NULL);
- edit.pattern = 1;
- return (TRUE);
- }
-
- int numpatClicked( void )
- {
- long num = GetNumber(Project0Gadgets[GDX_numpat]);
- if(num > 0) NumGen = num;
- else
- {
- GT_SetGadgetAttrs(Project0Gadgets[GDX_numpat],Project0Wnd,NULL,
- GTIN_Number,1,TAG_DONE);
- NumGen = 1;
- }
- return (TRUE);
- }
-
- int generateClicked( void )
- {
- /* routine when gadget "Generate" is clicked. */
- int i;
- int pattern;
- struct Node *n;
- if(edit.pmode)
- {
- if(winfo.numpattern)
- {
- for(i = 0;i < NumGen;i++)
- {
- pattern = (ULONG)RangeRand(winfo.numpattern);
- n = NumToNode(&winfo.pattern,pattern);
- winfo.nach = strdup(n->ln_Name);
- ReplaceLine();
- line_out(winfo.nach);
- free(winfo.nach);
- }
- }
- }
- else
- {
- for(i = 0;i < NumGen;i++)
- {
- for(n = winfo.pattern.lh_Head;n->ln_Succ;n = n->ln_Succ)
- {
- winfo.nach = strdup(n->ln_Name);
- ReplaceLine();
- line_out(winfo.nach);
- free(winfo.nach);
- }
- }
- }
- return (TRUE);
- }
-
- int addtemplateClicked( void )
- {
- /* routine when gadget "Add" is clicked. */
- GT_SetGadgetAttrs(Project0Gadgets[GDX_templatestring],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_templatestring],Project0Wnd,NULL,
- GTST_String,(ULONG)"",TAG_DONE);
- ActivateGadget(Project0Gadgets[GD_templatestring],Project0Wnd,NULL);
- edit.pattern = 0;
- return (TRUE);
- }
-
- int deltemplateClicked( void )
- {
- /* routine when gadget "Delete" is clicked. */
- delpattern();
- GT_SetGadgetAttrs(Project0Gadgets[GDX_templatestring],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_deltemplate],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
-
- return (TRUE);
- }
-
- int addclassClicked( void )
- {
- /* routine when gadget "Add" is clicked. */
- GT_SetGadgetAttrs(Project0Gadgets[GDX_class_string],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_addword],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_class_string],Project0Wnd,NULL,
- GTST_String,(ULONG)"",TAG_DONE);
- ActivateGadget(Project0Gadgets[GD_class_string],Project0Wnd,NULL);
- edit.class = 0;
- return (TRUE);
- }
-
- int delclassClicked( void )
- {
- /* routine when gadget "Delete" is clicked. */
- delclass();
- GT_SetGadgetAttrs(Project0Gadgets[GDX_class_string],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_delclass],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_delword],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_addword],Project0Wnd,NULL,
- GA_Disabled,TRUE,TAG_DONE);
- return (TRUE);
- }
-
- int addwordClicked( void )
- {
- /* routine when gadget "Add" is clicked. */
- GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
- GA_Disabled,FALSE,TAG_DONE);
- GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
- GTST_String,(ULONG)"",TAG_DONE);
- ActivateGadget(Project0Gadgets[GD_wordstring],Project0Wnd,NULL);
- edit.word = 0;
- return (TRUE);
- }
-
- int delwordClicked( void )
- {
- /* routine when gadget "Delete" is clicked. */
- delword();
- return (TRUE);
- }
-
- int modeClicked( void )
- {
- edit.pmode = (edit.pmode) ? 0 : 1;
- return (TRUE);
- }
- int Project0Loadpattern( void )
- {
- edit.l_p = 1;
- edit.l_c = 0;
- loadAll(MODE_LOADFILE,"Loading Patterns...");
- return TRUE;
- }
- int Project0Loadclasses( void )
- {
- edit.l_p = 0;
- edit.l_c = 1;
- loadAll(MODE_LOADFILE,"Loading Classes...");
- return TRUE;
- }
- int Project0appendpattern( void )
- {
- edit.l_p = 1;
- edit.l_c = 0;
- loadAll(MODE_APPENDFILE,"Appending Patterns...");
- return TRUE;
- }
- int Project0appendclasses( void )
- {
- edit.l_p = 0;
- edit.l_c = 1;
- loadAll(MODE_APPENDFILE,"Appending Classes...");
- return TRUE;
- }
- int Project0savepattern( void )
- {
- edit.s_p = 1;
- edit.s_c = 0;
- saveAll(MODE_SAVEFILE,"Lyr-O-Mat... Save Pattern only");
- return TRUE;
- }
- int Project0saveclasses( void )
- {
- edit.s_p = 0;
- edit.s_c = 1;
- saveAll(MODE_SAVEFILE,"Lyr-O-Mat... Save classes only");
- return TRUE;
- }
- int Project0about( void )
- {
- EasyRequestArgs(Project0Wnd,&AboutReq,NULL,NULL);
- return TRUE;
- }
-
- int Project0Loadall( void )
- {
- /* routine when (sub)item "Load words..." is selected. */
- edit.l_p = 1;
- edit.l_c = 1;
- loadAll(MODE_LOADFILE,"Loading Patterns & Classes");
- return (TRUE);
- }
-
- int Project0appendall( void )
- {
- /* routine when (sub)item "Load words..." is selected. */
- edit.l_p = 1;
- edit.l_c = 1;
- loadAll(MODE_APPENDFILE,"Appending Patterns & Classes...");
- return (TRUE);
- }
-
-
- int Project0saveall( void )
- {
- /* routine when (sub)item "Save words..." is selected. */
- edit.s_p = 1;
- edit.s_c = 1;
- saveAll(MODE_SAVEFILE,"Lyr-O-Mat... Save all Data");
- return (TRUE);
- }
-
- int Project0savedefault( void )
- {
- /* routine when (sub)item "Save as Default..." is selected. */
- edit.s_p = 1;
- edit.s_c = 1;
- saveAll(MODE_SAVECONFIG,"Lyr-O-Mat... Save configuration");
- return (TRUE);
- }
-
- int Project0ShowInfo( void )
- {
- Project0ShowPInfo();
- Project0ShowCInfo();
- return TRUE;
- }
-
-
- int Project0Item0( void )
- {
- /* routine when (sub)item "Print" is selected. */
- if(winfo.printfile)
- {
- fclose(winfo.printfile);
- winfo.printfile = NULL;
- }
- else
- {
- winfo.printfile = fopen("prt:","w");
- }
- return (TRUE);
- }
-
- int Project0ConWd( void )
- {
- if(winfo.outfile)
- {
- fclose(winfo.outfile);
- winfo.outfile = NULL;
- }
- else
- {
- winfo.outfile = fopen(winfo.outfilename,"w");
- }
- return (TRUE);
- }
-
- int Project0quit( void )
- {
- /* routine when (sub)item "Quit..." is selected. */
- if( EasyRequestArgs(Project0Wnd,&ExitReq,NULL,NULL) == 1)
- return FALSE;
- else
- return TRUE;
- }
-
- int Project0CloseWindow( void )
- {
- /* routine for "IDCMP_CLOSEWINDOW". */
- return Project0quit();
- }
-
- void line_out(UBYTE *line)
- {
- if(winfo.outfile) fprintf(winfo.outfile,"%s\n",line);
- if(winfo.printfile) fprintf(winfo.printfile,"%s\n",line);
- }
-
- int Project0VanillaKey( void)
- {
- int rc = TRUE;
- switch(Project0Msg.Code)
- {
- case '\n' :
- case ' ' :
- case 'g' :
- case 'G' : generateClicked();
- break;
- case 'q' :
- case 'Q' : rc = Project0quit();
- default : break;
- }
- return rc;
- }
-
- int Project0ShowPInfo( void )
- {
- UBYTE line[256];
- struct Node *p;
- line_out("***************************************");
- line_out("* Lyr-O-Mat Pattern info *");
- line_out("***************************************");
- if(winfo.numpattern)
- {
- sprintf(line,"* %6ld Patterns",winfo.numpattern);
- line_out(line);
- for(p = winfo.pattern.lh_Head;p->ln_Succ;p=p->ln_Succ)
- {
- sprintf(line,"** %s",p->ln_Name);
- line_out(line);
- }
- }
- else
- line_out("* No Patterns");
- line_out("***************************************");
- return(TRUE);
- }
-
- int Project0ShowCInfo( void )
- {
- UBYTE line[256];
- struct Node *p;
- line_out("***************************************");
- line_out("* Lyr-O-Mat Class info *");
- line_out("***************************************");
- if(winfo.numclass)
- {
- sprintf(line,"\n* %6ld Classes",winfo.numclass);
- line_out(line);
- for(p = winfo.class.lh_Head;p->ln_Succ;p=p->ln_Succ)
- {
- struct classnode *c;
- c = (struct classnode *)p;
- if(c->cl_Words.lh_Head->ln_Succ)
- {
- if(c->cl_NumWords > 1)
- sprintf(line,"** Class : %s : %ld words ** %s, %s...",p->ln_Name,c->cl_NumWords,c->cl_Words.lh_Head->ln_Name,c->cl_Words.lh_Head->ln_Succ->ln_Name);
- else
- sprintf(line,"** Class : %s : %ld words ** %s",p->ln_Name,c->cl_NumWords,c->cl_Words.lh_Head->ln_Name);
- line_out(line);
- }
- else line_out("*** No words in this class !!");
- }
- }
- else
- line_out("* No Classes");
- line_out("***************************************");
- return (TRUE);
- }
-
- int Project0WriteIcon(void)
- {
- if(edit.writeicon)
- edit.writeicon = 0;
- else
- edit.writeicon = 1;
- return TRUE;
- }