home *** CD-ROM | disk | FTP | other *** search
- /* Checked printf/Printf FREE! */
-
- /*
- * Source machine generated by GadToolsBox V2.0
- * which is (c) Copyright 1991-1993 Jaba Development
- *
- * GUI Designed by : -- Unnamed --
- */
-
- #include <exec/types.h>
- #include <intuition/intuition.h>
- #include <intuition/classes.h>
- #include <intuition/classusr.h>
- #include <intuition/imageclass.h>
- #include <intuition/gadgetclass.h>
- #include <libraries/gadtools.h>
- #include <graphics/displayinfo.h>
- #include <graphics/gfxbase.h>
- //#include <proto/exec.h>
- //#include <proto/intuition.h>
- //#include <proto/gadtools.h>
- //#include <proto/graphics.h>
- //#include <proto/utility.h>
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <exec/memory.h>
- #include <dos/dos.h>
- #include <dos/dostags.h>
-
- #include <clib/dos_protos.h>
- #include <clib/exec_protos.h>
- #include <clib/utility_protos.h>
- #include <clib/intuition_protos.h>
- #include <clib/gadtools_protos.h>
- #include <clib/graphics_protos.h>
-
- extern struct IntuitionBase *IntuitionBase;
- extern struct GfxBase *GfxBase;
- extern struct Library *UtilityBase;
- extern struct Library *GadToolsBase;
- extern struct Library *DiskfontBase;
- extern struct Library *AslBase;
- extern struct Library *IFFParseBase;
- extern struct Library *DOSBase;
-
- BOOL handlenewgadgets(ULONG code, ULONG iaddress);
- void getdate(void);
- void checkcheck(void);
- char *dodate(void);
- char *findday(int preset2);
- void adaptlang(void);
-
- #include "getdate.h"
-
- #define ENGLISH 1
- #define FRENCH 2
- #define SPANISH 3
-
- extern char *months_data[13];
- extern char *months_data_french[13];
- extern char *months_data_spanish[13];
- extern char *days_data[7];
- extern char *days_data_french[7];
- extern char *days_data_spanish[7];
-
- extern int language;
-
- char datey[200];
-
- struct ClockData *dte, ndte;
-
- struct Event {
- BOOL used;
- int type; /* Type of event */
- int hours; /* Time of event */
- int minutes;
- int timecode;
- char message[256];
- int day;
- int month;
- int year;
- BOOL enabledate;
- int freq;
- };
-
- extern struct {
- /* Prefs structure used for preferences file format */
-
- char header[10]; /* I.D. Header */
- int vers; /* Version of preferences file */
- int x; /* X dimension of window when saved */
- int y; /* Y dimension of window when saved */
- int width; /* Width of window when saved */
- int height; /* Height of window when saved */
- int planguage; /* Language selected (menu) when saved, low pri */
- int just; /* Justification of text, 0=Left, 1=Centre, 2=Right */
- short date; /* Display date?, 0 = No, 1=Yes */
- short wtf; /* Window to front ? */
- int time_col[8];
- int date_col[8];
- short autoadjust; /* Use automatic adjustment on window ? */
- char backdrop[256]; /* Backdrop image */
- char pub[139]; /* Default public screen */
- char accent[256]; /* Language file for tRanslate */
- char tkey[100];
- char hkey[100];
- struct Event events[11]; /* For the alarm! */
-
- }prefs;
-
-
- extern struct Screen *pubscreen;
- APTR VisualInfo3 = NULL;
- struct Window *Project0Wnd3 = NULL;
- struct Gadget *Project0GList3 = NULL;
- struct Gadget *Project0Gadgets3[10];
- UWORD Project0Left3 = 55;
- UWORD Project0Top3 = 37;
- UWORD Project0Width3 = 456;
- UWORD Project0Height3 = 111;
- UBYTE *Project0Wdt3 = (UBYTE *)"Date settings";
-
- extern int preset;
-
- struct TextAttr topaz83 = {
- ( STRPTR )"topaz.font", 8, 0x00, 0x01 };
-
-
- UBYTE *Freq0Labels[] = {
- (UBYTE *)"Daily",
- (UBYTE *)"Once",
- (UBYTE *)"Weekly",
- (UBYTE *)"Monthly",
- (UBYTE *)"Annually",
- NULL };
-
- UWORD Project0GTypes3[] = {
- INTEGER_KIND,
- INTEGER_KIND,
- INTEGER_KIND,
- SLIDER_KIND,
- SLIDER_KIND,
- SLIDER_KIND,
- BUTTON_KIND,
- CHECKBOX_KIND,
- MX_KIND,
- TEXT_KIND
- };
-
- struct NewGadget Project0NGad3[] = {
- 36, 9, 67, 13, (UBYTE *)"Day", NULL, GD_Date_Value, PLACETEXT_RIGHT, NULL, NULL,
- 33, 31, 67, 13, (UBYTE *)"Month", NULL, GD_Month_Value, PLACETEXT_RIGHT, NULL, NULL,
- 33, 51, 67, 13, (UBYTE *)"Year", NULL, GD_Year_Value, PLACETEXT_RIGHT, NULL, NULL,
- 174, 9, 130, 13, NULL, NULL, GD_Date_Slide, 0, NULL, NULL,
- 174, 31, 130, 13, NULL, NULL, GD_Month_Slide, 0, NULL, NULL,
- 174, 51, 130, 13, NULL, NULL, GD_Year_Slide, 0, NULL, NULL,
- 15, 90, 426, 15, (UBYTE *)"Ok", NULL, GD_OK, PLACETEXT_IN, NULL, NULL,
- 413, 69, 26, 11, (UBYTE *)"Enable date", NULL, GD_Current, PLACETEXT_LEFT, NULL, NULL,
- 419, 7, 17, 9, NULL, NULL, GD_Freq, PLACETEXT_LEFT, NULL, NULL,
- 31, 70, 251, 13, NULL, NULL, GD_Date_Text, 0, NULL, NULL
- };
-
- ULONG Project0GTags3[] = {
- (GTIN_Number), 0, (GTIN_MaxChars), 2, (TAG_DONE),
- (GTIN_Number), 0, (GTIN_MaxChars), 2, (TAG_DONE),
- (GTIN_Number), 0, (GTIN_MaxChars), 4, (TAG_DONE),
- (GTSL_Min), 1, (GTSL_Max), 31, (PGA_Freedom), LORIENT_HORIZ, (GA_RelVerify), TRUE, (TAG_DONE),
- (GTSL_Min), 1, (GTSL_Max), 12, (PGA_Freedom), LORIENT_HORIZ, (GA_RelVerify), TRUE, (TAG_DONE),
- (GTSL_Min), 1995, (GTSL_Max), 2010, (PGA_Freedom), LORIENT_HORIZ, (GA_RelVerify), TRUE, (TAG_DONE),
- (TAG_DONE),
- (TAG_DONE),
- (GTMX_Labels), (ULONG)&Freq0Labels[ 0 ], (GTMX_Spacing), 3, (TAG_DONE),
- (GTTX_Border), TRUE, (GTTX_Justification), GTJ_CENTER, (GTTX_Clipped), TRUE, (TAG_DONE)
- };
-
- int SetupScreen3( void )
- {
-
- if ( ! ( VisualInfo3 = GetVisualInfo( pubscreen, TAG_DONE )))
- return( 2L );
-
- return( 0L );
- }
-
- void CloseDownScreen3( void )
- {
- if ( VisualInfo3 ) {
- FreeVisualInfo( VisualInfo3 );
- VisualInfo3 = NULL;
- }
-
- }
-
- int OpenProject0Window3( void )
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = pubscreen->WBorLeft, offy = pubscreen->WBorTop + pubscreen->RastPort.TxHeight + 1;
-
- if ( ! ( g = CreateContext( &Project0GList3 )))
- return( 1L );
-
- for( lc = 0, tc = 0; lc < Project0_CNT; lc++ ) {
-
- CopyMem((char * )&Project0NGad3[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = VisualInfo3;
- ng.ng_TextAttr = &topaz83;
- ng.ng_LeftEdge += offx;
- ng.ng_TopEdge += offy;
-
- Project0Gadgets3[ lc ] = g = CreateGadgetA((ULONG)Project0GTypes3[ lc ], g, &ng, ( struct TagItem * )&Project0GTags3[ tc ] );
-
- while( Project0GTags3[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- return( 2L );
- }
-
- if ( ! ( Project0Wnd3 = OpenWindowTags( NULL,
- WA_Left, Project0Left3,
- WA_Top, Project0Top3,
- WA_Width, Project0Width3,
- WA_Height, Project0Height3 + offy,
- WA_IDCMP, INTEGERIDCMP|SLIDERIDCMP|BUTTONIDCMP|CHECKBOXIDCMP|MXIDCMP|TEXTIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
- WA_Gadgets, Project0GList3,
- WA_Title, Project0Wdt3,
- WA_ScreenTitle, "EngClock Prefs",
- WA_PubScreen, pubscreen,
- TAG_DONE )))
- return( 4L );
-
- GT_RefreshWindow( Project0Wnd3, NULL );
-
- return( 0L );
- }
-
- void CloseProject0Window3( void )
- {
- if ( Project0Wnd3 ) {
- CloseWindow( Project0Wnd3 );
- Project0Wnd3 = NULL;
- }
-
- if ( Project0GList3 ) {
- FreeGadgets( Project0GList3 );
- Project0GList3 = NULL;
- }
- }
-
- void getdate(void) {
-
- ULONG class, code, iaddress;
- struct IntuiMessage *msg;
-
- SetupScreen3();
- adaptlang();
- OpenProject0Window3();
-
- /* Default gadget settings */
-
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Date_Value],Project0Wnd3,NULL,GTIN_Number,prefs.events[preset].day,TAG_END);
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Date_Slide],Project0Wnd3,NULL,GTSL_Level,prefs.events[preset].day,TAG_END);
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Month_Value],Project0Wnd3,NULL,GTIN_Number,prefs.events[preset].month,TAG_END);
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Month_Slide],Project0Wnd3,NULL,GTSL_Level,prefs.events[preset].month,TAG_END);
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Year_Value],Project0Wnd3,NULL,GTIN_Number,prefs.events[preset].year,TAG_END);
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Year_Slide],Project0Wnd3,NULL,GTSL_Level,prefs.events[preset].year,TAG_END);
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Current],Project0Wnd3,NULL,GTCB_Checked,prefs.events[preset].enabledate,TAG_END);
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Freq],Project0Wnd3,NULL,GTMX_Active,prefs.events[preset].freq,TAG_END);
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Date_Text],Project0Wnd3,NULL,GTTX_Text,dodate(),TAG_END);
-
- GT_RefreshWindow(Project0Wnd3,NULL);
-
- while(1) {
- Wait(1<<Project0Wnd3->UserPort->mp_SigBit);
- msg=(struct IntuiMessage *)GT_GetIMsg(Project0Wnd3->UserPort);
- class=msg->Class;
- code=msg->Code;
- iaddress=(ULONG)msg->IAddress;
- GT_ReplyIMsg(msg);
-
- switch(class) {
- case CLOSEWINDOW:
- goto cleanup;
- break;
- case GADGETUP:
- case GADGETDOWN:
- case MOUSEMOVE:
- if(handlenewgadgets(code, iaddress)) goto cleanup;
- break;
- default:
- break;
- }
-
- }
-
- cleanup:
-
- CloseProject0Window3();
- CloseDownScreen3();
-
- }
-
- BOOL handlenewgadgets(ULONG code, ULONG iaddress) {
- struct Gadget *gad;
- struct StringInfo *si;
-
- gad=(struct Gadget *)iaddress;
- si=(struct StringInfo *)gad->SpecialInfo;
-
- switch(gad->GadgetID) {
- case GD_Date_Value:
- if(si->LongInt < 1 || si->LongInt > 31) {
- DisplayBeep(NULL);
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Date_Value],Project0Wnd3,NULL,GTIN_Number,prefs.events[preset].day,TAG_END);
- GT_RefreshWindow(Project0Wnd3,NULL);
- break;
- }
- prefs.events[preset].day=si->LongInt;
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Date_Slide],Project0Wnd3,NULL,GTSL_Level,si->LongInt,TAG_END);
- GT_RefreshWindow(Project0Wnd3,NULL);
- checkcheck();
- break;
- case GD_Month_Value:
- if(si->LongInt < 1 || si->LongInt > 12) {
- DisplayBeep(NULL);
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Month_Value],Project0Wnd3,NULL,GTIN_Number,prefs.events[preset].month,TAG_END);
- GT_RefreshWindow(Project0Wnd3,NULL);
- break;
- }
- prefs.events[preset].month=si->LongInt;
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Month_Slide],Project0Wnd3,NULL,GTSL_Level,si->LongInt,TAG_END);
- GT_RefreshWindow(Project0Wnd3,NULL);
- checkcheck();
- break;
- case GD_Year_Value:
- if(si->LongInt < 1995 || si->LongInt > 2010) {
- DisplayBeep(NULL);
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Year_Value],Project0Wnd3,NULL,GTIN_Number,prefs.events[preset].year,TAG_END);
- GT_RefreshWindow(Project0Wnd3,NULL);
- break;
- }
- prefs.events[preset].year=si->LongInt;
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Year_Slide],Project0Wnd3,NULL,GTSL_Level,si->LongInt,TAG_END);
- GT_RefreshWindow(Project0Wnd3,NULL);
- checkcheck();
- break;
- case GD_Date_Slide:
- prefs.events[preset].day=code;
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Date_Value],Project0Wnd3,NULL,GTIN_Number,code,TAG_END);
- GT_RefreshWindow(Project0Wnd3,NULL);
- checkcheck();
- break;
- case GD_Month_Slide:
- prefs.events[preset].month=code;
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Month_Value],Project0Wnd3,NULL,GTIN_Number,code,TAG_END);
- GT_RefreshWindow(Project0Wnd3,NULL);
- checkcheck();
- break;
- case GD_Year_Slide:
- prefs.events[preset].year=code;
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Year_Value],Project0Wnd3,NULL,GTIN_Number,code,TAG_END);
- GT_RefreshWindow(Project0Wnd3,NULL);
- checkcheck();
- break;
- case GD_OK:
- return(1);
- break;
- case GD_Current:
- prefs.events[preset].enabledate=code;
- break;
- case GD_Freq:
- prefs.events[preset].freq=code;
- break;
- /* String = GD_Date_Text */
- }
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Date_Text],Project0Wnd3,NULL,GTTX_Text,dodate(),TAG_END);
- GT_RefreshWindow(Project0Wnd3,NULL);
-
- return(0);
-
- }
-
- void checkcheck(void) {
-
- if(!prefs.events[preset].enabledate) {
- GT_SetGadgetAttrs(Project0Gadgets3[GD_Current],Project0Wnd3,NULL,GTCB_Checked,TRUE,TAG_END);
- GT_RefreshWindow(Project0Wnd3,NULL);
- prefs.events[preset].enabledate=TRUE;
- }
-
- }
-
- char *dodate(void) {
- char tmp[10];
- int offx, offy;
-
- offx=Project0Wnd3->BorderLeft;
- offy=Project0Wnd3->BorderTop;
-
- strcpy(datey,findday(preset));
- strcat(datey," ");
-
- sprintf(tmp,"%ld",prefs.events[preset].day);
- strcat(datey,tmp);
- strcat(datey," ");
-
- switch(language) {
- case ENGLISH:
- strcat(datey,months_data[prefs.events[preset].month]);
- break;
- case FRENCH:
- strcat(datey,months_data_french[prefs.events[preset].month]);
- break;
- case SPANISH:
- strcat(datey,months_data_spanish[prefs.events[preset].month]);
- break;
- }
- strcat(datey,", ");
-
- sprintf(tmp,"%ld",prefs.events[preset].year);
- strcat(datey,tmp);
-
- return(datey);
- }
-
- char *findday(int preset2) {
-
- ULONG secs;
-
- dte=AllocMem(sizeof(struct ClockData),MEMF_PUBLIC|MEMF_CLEAR);
-
- dte->mday=prefs.events[preset2].day;
- dte->month=prefs.events[preset2].month;
- dte->year=prefs.events[preset2].year;
- dte->sec=0;
- dte->min=0;
- dte->hour=0;
-
- secs=Date2Amiga(dte);
- Amiga2Date(secs,&ndte);
-
- FreeMem(dte,sizeof(struct ClockData));
-
- switch(language) {
- case ENGLISH:
- return(days_data[ndte.wday]);
- break;
- case FRENCH:
- return(days_data_french[ndte.wday]);
- break;
- case SPANISH:
- return(days_data_spanish[ndte.wday]);
- break;
- }
- }
-
- void adaptlang(void) {
- switch(language) {
- case ENGLISH:
- break;
- case FRENCH:
- Freq0Labels[0]="Journalier";
- Freq0Labels[1]="Une seule fois";
- Freq0Labels[2]="De la semaine";
- Freq0Labels[3]="Mensuel";
- Freq0Labels[4]="Annuellement";
- Project0NGad3[0].ng_GadgetText="Jour";
- Project0NGad3[1].ng_GadgetText="Mois";
- Project0NGad3[2].ng_GadgetText="Année";
- Project0NGad3[6].ng_GadgetText="Emploi";
- Project0NGad3[7].ng_GadgetText="Emploi date?";
- break;
- case SPANISH:
- Freq0Labels[0]="Diario";
- Freq0Labels[1]="Una vez";
- Freq0Labels[2]="Semanalmente";
- Freq0Labels[3]="Mensualmente";
- Freq0Labels[4]="Anualmente";
- Project0NGad3[0].ng_GadgetText="Dia";
- Project0NGad3[1].ng_GadgetText="Mes";
- Project0NGad3[2].ng_GadgetText="Año";
- Project0NGad3[6].ng_GadgetText="Usar";
- Project0NGad3[7].ng_GadgetText="Usar fecha ?";
- break;
- default:
- break;
- }
- }
-
-
-