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 : -- 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 <graphics/gfxmacros.h>
- #include <clib/exec_protos.h>
- #include <clib/intuition_protos.h>
- #include <clib/gadtools_protos.h>
- #include <clib/graphics_protos.h>
- #include <clib/utility_protos.h>
- #include <string.h>
-
- #include "replace.h"
-
- APTR RVisualInfo = NULL;
- struct Window *ReplaceWnd = NULL;
- struct Gadget *ReplaceGList = NULL;
- struct IntuiMessage ReplaceMsg;
- struct Gadget *ReplaceGadgets[6];
- UWORD ReplaceLeft = 0;
- UWORD ReplaceTop = 0;
- UWORD ReplaceWidth = 335;
- UWORD ReplaceHeight = 64;
- UBYTE *ReplaceWdt = (UBYTE *)"Replace text";
-
- char SearchPattern[256];
- char ReplacePattern[256];
-
- USHORT ditherData[] =
- {
- 0x5555, 0xAAAA
- };
-
-
- struct TextAttr topaz8 = {
- ( STRPTR )"topaz.font", 8, 0x00, 0x01 };
-
- UWORD ReplaceGTypes[] = {
- BUTTON_KIND,
- BUTTON_KIND,
- TEXT_KIND,
- TEXT_KIND,
- STRING_KIND,
- STRING_KIND
- };
-
- struct NewGadget ReplaceNGad[] = {
- 4, 42, 71, 16, (UBYTE *)"_OK", NULL, GD_ok, PLACETEXT_IN, NULL, NULL,
- 252, 42, 71, 16, (UBYTE *)"_Cancel", NULL, GD_cancel, PLACETEXT_IN, NULL, NULL,
- 4, 4, 64, 14, NULL, NULL, GD_searchtxt, 0, NULL, NULL,
- 4, 22, 64, 14, NULL, NULL, GD_replacetxt, 0, NULL, NULL,
- 70, 4, 253, 15, NULL, NULL, GD_search, 0, NULL, NULL,
- 70, 22, 253, 15, NULL, NULL, GD_replace, 0, NULL, NULL
- };
-
- ULONG ReplaceGTags[] = {
- (GT_Underscore), '_', (TAG_DONE),
- (GT_Underscore), '_', (TAG_DONE),
- (GTTX_Text), (ULONG)" Find", (GTTX_Border), FALSE, (TAG_DONE),
- (GTTX_Text), (ULONG)"Replace", (GTTX_Border), FALSE, (TAG_DONE),
- (GTST_MaxChars), 256, (TAG_DONE),
- (GTST_MaxChars), 256, (TAG_DONE)
- };
-
- int HandleReplaceIDCMP( void )
- {
- struct IntuiMessage *m;
- struct Gadget *gad;
- BOOL done = FALSE;
- BOOL cancelled = FALSE;
- char *strptr;
-
- while (! done)
- {
- Wait(1L << ReplaceWnd->UserPort->mp_SigBit);
-
- while( m = GT_GetIMsg( ReplaceWnd->UserPort ))
- {
- switch ( m->Class )
- {
-
- case IDCMP_REFRESHWINDOW:
- GT_BeginRefresh( ReplaceWnd );
- GT_EndRefresh( ReplaceWnd, TRUE );
- break;
-
- case IDCMP_VANILLAKEY:
- switch (m->Code)
- {
- case 'O':
- case 'o':
- done = TRUE;
- break;
- case 'C':
- case 'c':
- cancelled = TRUE;
- done = TRUE;
- break;
- default:
- break;
- }
- break;
-
- case IDCMP_GADGETUP:
- gad = (struct Gadget *)m->IAddress;
- switch(gad->GadgetID)
- {
- case GD_ok:
- done = TRUE;
- break;
- case GD_cancel:
- cancelled = TRUE;
- done = TRUE;
- break;
- case GD_search:
- ActivateGadget(ReplaceGadgets[GD_replace], ReplaceWnd, NULL);
- break;
- case GD_replace:
- strptr = (char *)GetString(ReplaceGadgets[GD_search]);
- /* If Code is 9 the gadget was deactivated with the TAB key */
- if ((strlen(strptr) > 0) && (m->Code != 9))
- done = TRUE;
- else
- ActivateGadget(ReplaceGadgets[GD_search], ReplaceWnd, NULL);
- break;
- default:
- break;
- }
- break;
- }
- GT_ReplyIMsg( m );
- }
- }
- if (! cancelled)
- {
- strptr = (char *)GetString(ReplaceGadgets[GD_search]);
- if (strptr)
- strcpy(SearchPattern, strptr);
- strptr = (char *)GetString(ReplaceGadgets[GD_replace]);
- if (strptr)
- strcpy(ReplacePattern, strptr);
- }
- return(! cancelled);
- }
-
- int OpenReplaceWindow( struct Screen *RScr )
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = RScr->WBorLeft, offy = RScr->WBorTop + RScr->RastPort.TxHeight + 1;
-
- if ( ! ( g = CreateContext( &ReplaceGList )))
- return( 1L );
-
- RVisualInfo = GetVisualInfo(RScr, TAG_DONE );
-
- ReplaceLeft = RScr->MouseX - 290;
- if (ReplaceLeft < 0) ReplaceLeft = 0;
- ReplaceTop = RScr->MouseY - 42 - offy - 7;
- if (ReplaceTop < 0) ReplaceTop = 0;
-
-
- for( lc = 0, tc = 0; lc < Replace_CNT; lc++ ) {
-
- CopyMem((char * )&ReplaceNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = RVisualInfo;
- ng.ng_TextAttr = &topaz8;
- ng.ng_LeftEdge += offx;
- ng.ng_TopEdge += offy;
-
- ReplaceGadgets[ lc ] = g = CreateGadgetA((ULONG)ReplaceGTypes[ lc ], g, &ng, ( struct TagItem * )&ReplaceGTags[ tc ] );
-
- while( ReplaceGTags[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- return( 2L );
- }
-
- if ( ! ( ReplaceWnd = OpenWindowTags( NULL,
- WA_Left, ReplaceLeft,
- WA_Top, ReplaceTop,
- WA_Width, ReplaceWidth,
- WA_Height, ReplaceHeight + offy,
- WA_IDCMP, BUTTONIDCMP|TEXTIDCMP|STRINGIDCMP|IDCMP_VANILLAKEY|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
- WA_Title, ReplaceWdt,
- TAG_DONE )))
- return( 4L );
-
- SetAPen(ReplaceWnd->RPort, 2);
- SetAfPt(ReplaceWnd->RPort, ditherData, 1);
- RectFill(ReplaceWnd->RPort, offx, offy,
- ReplaceWidth - ReplaceWnd->BorderRight - 1,
- ReplaceHeight + offy - ReplaceWnd->BorderBottom - 1);
- SetAPen(ReplaceWnd->RPort, 0);
- RectFill(ReplaceWnd->RPort, 70 + offx, 4 + offy, 70 + 252 + offx, 4 + 14 + offy);
- RectFill(ReplaceWnd->RPort, 70 + offx, 22 + offy, 70 + 252 + offx, 22 + 14 + offy);
-
- AddGList(ReplaceWnd, ReplaceGList, 0, Replace_CNT + 1, NULL);
- GT_SetGadgetAttrs(ReplaceGadgets[GD_search], ReplaceWnd, NULL,
- GTST_String, SearchPattern, TAG_DONE);
- GT_SetGadgetAttrs(ReplaceGadgets[GD_replace], ReplaceWnd, NULL,
- GTST_String, ReplacePattern, TAG_DONE);
- WaitBlit();
- RefreshGList(ReplaceGList, ReplaceWnd, NULL, Replace_CNT + 1);
- GT_RefreshWindow( ReplaceWnd, NULL );
- ActivateGadget(ReplaceGadgets[GD_search], ReplaceWnd, NULL);
- return( 0L );
- }
-
- void CloseReplaceWindow( void )
- {
- if ( ReplaceWnd ) {
- CloseWindow( ReplaceWnd );
- ReplaceWnd = NULL;
- }
-
- if ( ReplaceGList ) {
- FreeGadgets( ReplaceGList );
- ReplaceGList = NULL;
- }
- if ( RVisualInfo ) {
- FreeVisualInfo( RVisualInfo );
- RVisualInfo = NULL;
- }
-
- }
-
-