home *** CD-ROM | disk | FTP | other *** search
-
- /*
- * Source machine generated by GadToolsBox V2.0b
- * which is (c) Copyright 1991-1993 Jaba Development
- *
- * GUI Designed by : Martin W Scott and Gaƫl Marziou
- */
-
-
-
-
- #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 <intuition/intuitionbase.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/locale.h>
- #include <proto/utility.h>
- #include <string.h>
-
- #include "code.h"
- #include "version.h"
- #include "yak.h"
- #include "gui.h"
-
- #define CATCOMP_NUMBERS
- #include "locale/yak_locale_strings.h"
-
- #ifdef BETA_VERSION
- static UBYTE DisplayBetaRequester = TRUE;
- #endif
-
-
- extern struct Catalog *Catalog;
-
- struct Screen *Scr = NULL;
- UBYTE *PubScreenName;
- APTR VisualInfo = NULL;
- struct Window *RootWnd = NULL;
- struct Gadget *RootGList = NULL;
- struct Menu *RootMenus = NULL;
- struct Gadget *RootGadgets[Root_CNT];
- UWORD RootLeft = 0;
- UWORD RootWidth = 586;
- UWORD RootHeight = 126;
- UWORD WindowTop;
- UBYTE *RootWdt = NULL;
- struct TextAttr *Font,Attr;
- UWORD FontX,FontY;
- UWORD OffX,OffY;
-
- static BOOL GUIFirstOpening = TRUE;
-
-
- #define ROOT_TNUM 2
-
- struct IntuiText RootIText[ROOT_TNUM] =
- {
- 2,0,JAM1,37,7,NULL,NULL,NULL,
- 2,0,JAM1,301,7,NULL,NULL,NULL,
- };
-
-
-
- static VOID
- InitIText(VOID)
- {
- RootIText[0].IText = getString(TOGGLES_STRING);
- RootIText[1].IText = getString(INCLUSION_PATTERNS_STRING);
- BlankIText[0].IText = getString(TIMEOUT_STRING);
- }
-
- struct NewMenu RootNewMenu[] =
- {
- NM_TITLE,NULL,NULL,0,NULL,NULL,
- NM_ITEM ,NULL,NULL,0,0L ,NULL,
- NM_ITEM ,NULL,NULL,0,0L ,NULL,
- NM_ITEM ,NULL,NULL,0,0L ,NULL,
- NM_ITEM ,NULL,NULL,0,0L ,NULL,
- NM_ITEM ,NULL,NULL,0,NULL,NULL,
- NM_SUB ,NULL,NULL,0,0L ,NULL,
- NM_SUB ,NULL,NULL,0,0L ,NULL,
- NM_SUB ,NULL,NULL,0,0L ,NULL,
- NM_SUB ,NULL,NULL,0,0L ,NULL,
- NM_SUB ,NULL,NULL,0,0L ,NULL,
- NM_END ,NULL,NULL,0,0L ,NULL
- };
-
- VOID InitRootNewMenu (VOID)
- {
- RootNewMenu[0].nm_Label = (STRPTR)getString(PROJECT_STRING);
- RootNewMenu[1].nm_Label = (STRPTR)getString(LOAD_SETTINGS_STRING);
- RootNewMenu[1].nm_CommKey = (STRPTR)getString(LOAD_SHORTCUT);
- RootNewMenu[2].nm_Label = (STRPTR)getString(SAVE_SETTINGS_STRING);
- RootNewMenu[2].nm_CommKey = (STRPTR)getString(SAVE_SHORTCUT);
- RootNewMenu[3].nm_Label = (STRPTR)getString(HIDE_WINDOW_STRING);
- RootNewMenu[3].nm_CommKey = (STRPTR)getString(HIDE_SHORTCUT);
- RootNewMenu[4].nm_Label = (STRPTR)getString(QUIT_STRING);
- RootNewMenu[4].nm_CommKey = (STRPTR)getString(QUIT_SHORTCUT);
- RootNewMenu[5].nm_Label = (STRPTR)getString(Credits_STRING);
- RootNewMenu[6].nm_Label = (STRPTR)getString(Credits_Line1_STRING);
- RootNewMenu[7].nm_Label = (STRPTR)getString(Credits_Line2_STRING);
- RootNewMenu[8].nm_Label = (STRPTR)getString(Credits_Line3_STRING);
- RootNewMenu[9].nm_Label = (STRPTR)getString(Credits_Line4_STRING);
- RootNewMenu[10].nm_Label = (STRPTR)getString(Credits_Line5_STRING);
- }
-
- UWORD RootGTypes[] =
- {
- BUTTON_KIND,
- BUTTON_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- STRING_KIND,
- STRING_KIND,
- STRING_KIND,
- STRING_KIND,
- CHECKBOX_KIND,
- BUTTON_KIND
- };
-
-
- struct NewGadget RootNGad[] =
- {
- 226,109,175,14,NULL,NULL,GD_Hide ,PLACETEXT_IN ,NULL,NULL,
- 405,109,175,14,NULL,NULL,GD_Quit ,PLACETEXT_IN ,NULL,NULL,
- 6,15,26,11,NULL,NULL,GD_AutoCheck ,PLACETEXT_RIGHT,NULL,NULL,
- 6,39,26,11,NULL,NULL,GD_KeyActCheck ,PLACETEXT_RIGHT,NULL,NULL,
- 6,51,26,11,NULL,NULL,GD_CTFCheck ,PLACETEXT_RIGHT,NULL,NULL,
- 6,63,26,11,NULL,NULL,GD_CTBCheck ,PLACETEXT_RIGHT,NULL,NULL,
- 6,99,26,11,NULL,NULL,GD_ScrCycleCheck ,PLACETEXT_RIGHT,NULL,NULL,
- 6,111,26,11,NULL,NULL,GD_ScrActCheck ,PLACETEXT_RIGHT,NULL,NULL,
- 6,27,26,11,NULL,NULL,GD_AutoPopCheck ,PLACETEXT_RIGHT,NULL,NULL,
- 6,87,26,11,NULL,NULL,GD_RMBActCheck ,PLACETEXT_RIGHT,NULL,NULL,
- 405,93,175,14,NULL,NULL,GD_Miscellaneous,PLACETEXT_IN ,NULL,NULL,
- 226,93,175,14,NULL,NULL,GD_EditHotkeys ,PLACETEXT_IN ,NULL,NULL,
- 423,12,157,14,NULL,NULL,GD_AutoPat ,PLACETEXT_LEFT ,NULL,NULL,
- 423,27,157,14,NULL,NULL,GD_ClickPat ,PLACETEXT_LEFT ,NULL,NULL,
- 423,42,157,14,NULL,NULL,GD_PopPat ,PLACETEXT_LEFT ,NULL,NULL,
- 423,57,157,14,NULL,NULL,GD_ClickWinPat ,PLACETEXT_LEFT ,NULL,NULL,
- 6,75,26,11,NULL,NULL,GD_MMBActCheck ,PLACETEXT_RIGHT,NULL,NULL,
- 405,77,175,14,NULL,NULL,GD_Blanking ,PLACETEXT_IN ,NULL,NULL
- };
-
- VOID InitRootNGad (VOID)
- {
- RootNGad[GD_Hide].ng_GadgetText = getString(HIDE_STRING);
- RootNGad[GD_Quit].ng_GadgetText = getString(QUIT_STRING);
- RootNGad[GD_AutoCheck].ng_GadgetText = getString(AUTOPOINT_STRING);
- RootNGad[GD_KeyActCheck].ng_GadgetText = getString(KEY_ACTIVATE_STRING);
- RootNGad[GD_CTFCheck].ng_GadgetText = getString(CLICK_TO_FRONT_STRING);
- RootNGad[GD_CTBCheck].ng_GadgetText = getString(CLICK_TO_BACK_STRING);
- RootNGad[GD_ScrCycleCheck].ng_GadgetText = getString(CYCLE_SCREENS_STRING);
- RootNGad[GD_ScrActCheck].ng_GadgetText = getString(SCREEN_ACTIVATE_STRING);
- RootNGad[GD_AutoPopCheck].ng_GadgetText = getString(AUTOPOPTOFRONT_STRING);
- RootNGad[GD_RMBActCheck].ng_GadgetText = getString(RMB_ACTIVATE_STRING);
- RootNGad[GD_Miscellaneous].ng_GadgetText = getString(MISCELLANEOUS_STRING);
- RootNGad[GD_EditHotkeys].ng_GadgetText = getString(EDIT_HOTKEYS_STRING);
- RootNGad[GD_AutoPat].ng_GadgetText = getString(AUTOSCREENS_STRING);
- RootNGad[GD_ClickPat].ng_GadgetText = getString(CLICKSCREENS_STRING);
- RootNGad[GD_PopPat].ng_GadgetText = getString(POPWINDOWS_STRING);
- RootNGad[GD_ClickWinPat].ng_GadgetText = getString(CLICKWINDOWS_STRING);
- RootNGad[GD_MMBActCheck].ng_GadgetText = getString(MMB_ACTIVATE_STRING);
- RootNGad[GD_Blanking].ng_GadgetText = getString(Blanking);
- }
-
-
-
- VOID InitGUI (VOID)
- {
- static char title[80];
-
- #ifdef BETA_VERSION
- if (DisplayBetaRequester == TRUE)
- {
- PostError("This is " VERSION_NAME " beta version\nBuilt on " __AMIGADATE__);
- DisplayBetaRequester = FALSE;
- }
- #endif
-
- strcpy(title,VERSION_NAME ": ");
- strcat(title,getString(Hotkey_Window_TITLE));
- strcat(title,PopKeyStr);
- strcat(title,">");
- RootWdt = title;
-
- HotKeyWdt = getString(EDIT_HOTKEYS_STRING);
-
- MiscWdt = getString(MISCELLANEOUS_STRING);
-
- BlankWdt = getString(Blanking);
-
- InitOptions1Label ();
- InitIText ();
- InitRootNewMenu ();
- InitRootNGad ();
- InitActions1Nodes ();
- InitHotKeyNGad ();
- InitMiscNGad ();
- InitMBMethod0Labels ();
- InitBlankNGad ();
- InitKeyDefNGad ();
- InitClass0Labels ();
- InitStroke0Labels ();
- }
-
-
- ULONG RootGTags[] =
- {
- (TAG_DONE),
- (TAG_DONE),
- (GTCB_Scaled),TRUE,(TAG_DONE),
- (GTCB_Scaled),TRUE,(TAG_DONE),
- (GTCB_Scaled),TRUE,(TAG_DONE),
- (GTCB_Scaled),TRUE,(TAG_DONE),
- (GTCB_Scaled),TRUE,(TAG_DONE),
- (GTCB_Scaled),TRUE,(TAG_DONE),
- (GTCB_Scaled),TRUE,(TAG_DONE),
- (GTCB_Scaled),TRUE,(TAG_DONE),
- (TAG_DONE),
- (TAG_DONE),
- (GTST_MaxChars),99,(TAG_DONE),
- (GTST_MaxChars),99,(TAG_DONE),
- (GTST_MaxChars),99,(TAG_DONE),
- (GTST_MaxChars),99,(TAG_DONE),
- (GTCB_Scaled),TRUE,(TAG_DONE),
- (TAG_DONE)
- };
-
-
-
- UWORD ComputeX(UWORD value)
- {
- return((UWORD)(((FontX*value)+4)/8));
- }
-
-
- UWORD ComputeY(UWORD value)
- {
- return((UWORD)(((FontY*value)+4)/8));
- }
-
-
-
-
- VOID ComputeFont(UWORD width,UWORD height)
- {
- Font = &Attr;
- Font->ta_Name = (STRPTR)Scr->RastPort.Font->tf_Message.mn_Node.ln_Name;
- Font->ta_YSize = FontY = Scr->RastPort.Font->tf_YSize;
-
- FontX = CalcFontX();
-
- /* Don't go under 8 points */
- if (FontY < 8) FontY = 8;
-
- OffX = Scr->WBorLeft;
- OffY = Scr->RastPort.TxHeight +Scr->WBorTop +1;
-
- if (width && height) {
- if ((ComputeX(width) +OffX +Scr->WBorRight) > Scr->Width)
- goto UseTopaz;
- if ((ComputeY(height) +OffY +Scr->WBorBottom) > Scr->Height)
- goto UseTopaz;
- }
- return;
-
- UseTopaz:
- Font->ta_Name = (STRPTR)"topaz.font";
- FontX = FontY = Font->ta_YSize = 8;
- }
-
-
-
- UBYTE
- *GetPubScreenName( struct Screen *s)
- {
- struct PubScreenNode *psnode;
- UBYTE *PSName;
-
- PSName = NULL;
- if (s->Flags & WBENCHSCREEN)
- {
- PSName = "Workbench";
- }
- else
- {
- if (s->Flags & PUBLICSCREEN)
- {
- /* s is a public screen so find its name */
-
- psnode=(struct PubScreenNode *)LockPubScreenList();
-
- while ((psnode) && !(PSName))
- {
- if ((psnode->psn_Flags != PSNF_PRIVATE) && (psnode->psn_Screen == s))
- {
- /* found it */
- PSName = psnode->psn_Node.ln_Name;
- }
- else
- {
- /* check next one */
- psnode = (struct PubScreenNode *)psnode->psn_Node.ln_Succ;
- }
- }
-
- UnlockPubScreenList();
- }
- }
- return(PSName);
- }
-
- int
- SetupScreen()
- {
- struct Screen *s;
- ULONG lock;
-
- /* Choose a public screen to open our window */
- lock = LockIBase(0);
- s = AS;
- UnlockIBase(lock);
-
- PubScreenName = GetPubScreenName(s);
-
- if (! (Scr = LockPubScreen(PubScreenName)))
- return(1L);
-
- ScreenToFront(Scr);
-
- ComputeFont(0,0);
-
- if (GUIFirstOpening)
- {
- GUIFirstOpening = FALSE;
- WindowTop = Scr->BarHeight +1;
- };
-
- if (! (VisualInfo = GetVisualInfo(Scr,TAG_DONE)))
- return(2L);
-
- return(0L);
- }
-
-
-
-
- VOID CloseDownScreen()
- {
- if (VisualInfo) {
- FreeVisualInfo(VisualInfo);
- VisualInfo = NULL;
- }
-
- if (Scr) {
- UnlockPubScreen(NULL,Scr);
- Scr = NULL;
- }
- }
-
-
-
-
- VOID RootRender()
- {
- UBYTE cnt;
- UWORD X,Y;
-
- ComputeFont(RootWidth,RootHeight);
-
- /* Other windows gadgets box */
-
- X = OffX +ComputeX(220);
- Y = OffY +ComputeY(74);
- DrawBevelBox(RootWnd->RPort,X,Y,
- ComputeX(366),
- ComputeY(52),
- GT_VisualInfo,VisualInfo,TAG_DONE);
-
- /* Inclusion Patterns box */
- Y = OffY;
- DrawBevelBox(RootWnd->RPort,X,Y,
- ComputeX(366),
- ComputeY(74),
- GT_VisualInfo,VisualInfo,TAG_DONE);
- RootIText[ 1 ].LeftEdge = X +5;
- RootIText[ 1 ].TopEdge = Y +3;
-
- /* Toggles box */
- X = OffX;
- DrawBevelBox(RootWnd->RPort,X,Y,
- ComputeX(220),
- ComputeY(126),
- GT_VisualInfo,VisualInfo,TAG_DONE);
- RootIText[ 0 ].LeftEdge = X +5;
- RootIText[ 0 ].TopEdge = Y +3;
-
- for (cnt = 0; cnt < ROOT_TNUM; cnt++)
- {
- RootIText[ cnt ].ITextFont = Font;
- PrintIText(RootWnd->RPort,&RootIText[ cnt ],0,0);
- }
-
- }
-
-
- int OpenRootWindow()
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc,tc;
- UWORD wleft = RootLeft,wtop = WindowTop,ww,wh;
-
- ComputeFont(RootWidth,RootHeight);
-
- ww = ComputeX(RootWidth);
- wh = ComputeY(RootHeight);
-
- if ((wleft +ww +OffX +Scr->WBorRight) > Scr->Width) wleft = Scr->Width -ww;
- if ((wtop +wh +OffY +Scr->WBorBottom) > Scr->Height) wtop = Scr->Height -wh;
-
- if (! (g = CreateContext(&RootGList)))
- return(1L);
-
- for(lc = 0,tc = 0; lc < Root_CNT; lc++) {
-
- CopyMem((char *)&RootNGad[ lc ],(char *)&ng,(long)sizeof(struct NewGadget));
-
- ng.ng_VisualInfo = VisualInfo;
- ng.ng_TextAttr = Font;
- ng.ng_LeftEdge = OffX +ComputeX(ng.ng_LeftEdge);
- ng.ng_TopEdge = OffY +ComputeY(ng.ng_TopEdge);
- ng.ng_Width = ComputeX(ng.ng_Width);
- ng.ng_Height = ComputeY(ng.ng_Height);
-
- RootGadgets[ lc ] = g = CreateGadgetA((ULONG)RootGTypes[ lc ],g,&ng,(struct TagItem *)&RootGTags[ tc ]);
-
- while(RootGTags[ tc ]) tc += 2;
- tc++;
-
- if (NOT g)
- return(2L);
- }
-
- /**** CHANGED */
- if (! (RootMenus = CreateMenus(RootNewMenu,GTMN_NewLookMenus,
- TRUE,0L,
- TAG_DONE)))
- return(3L);
-
- LayoutMenus(RootMenus,VisualInfo,GTMN_NewLookMenus,TRUE,TAG_DONE);
-
-
- if (! (RootWnd = OpenWindowTags(NULL,
- WA_Left, wleft,
- WA_Top, wtop,
- WA_Width, ww +OffX +Scr->WBorRight,
- WA_Height, wh +OffY +Scr->WBorBottom,
- WA_IDCMP, BUTTONIDCMP|CHECKBOXIDCMP|CYCLEIDCMP|STRINGIDCMP|INTEGERIDCMP|IDCMP_GADGETDOWN|IDCMP_INTUITICKS|IDCMP_MOUSEMOVE|IDCMP_MOUSEBUTTONS|
-
- IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|
-
-
- IDCMP_CHANGEWINDOW|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
- WA_Gadgets, RootGList,
- WA_Title, RootWdt,
- WA_ScreenTitle, getString(COPYRIGHT_STRING),
- WA_AutoAdjust, TRUE,
- /**** ADDED */
- WA_NewLookMenus,TRUE,
- WA_PubScreen,TRUE,
- WA_PubScreenName,PubScreenName,
- TAG_DONE)))
- return(4L);
-
- SetMenuStrip(RootWnd,RootMenus);
- GT_RefreshWindow(RootWnd,NULL);
-
- RootRender();
-
- return(0L);
- }
-
-
-
- VOID
- CloseOneWindow (struct Window *Wnd, struct Menu *Menus, struct Gadget *GList)
- {
- if (Menus)
- {
- ClearMenuStrip(Wnd);
- FreeMenus(Menus);
- }
-
- if (Wnd)
- {
- CloseWindow(Wnd);
- }
-
- if (GList) {
- FreeGadgets(GList);
- }
- }
-
-
-
-
- VOID
- CloseRootWindow()
- {
- CloseOneWindow (RootWnd,RootMenus,RootGList);
- RootWnd = NULL;
- }
-
-