static void action(void) { struct TagItem tags[] = { { RT_Underscore , (IPTR)'_' }, { RTEZ_ReqTitle , (IPTR)"I'm a ReqTools Requester" }, { TAG_DONE } }; IPTR args[] = {(IPTR)"ABCDEF12345678", 12345678}; rtEZRequestA("This is a requester\n" "which was created\n" "with rtEZRequestA\n" "\n" "String arg: \"%s\" Integer arg: %ld", "_Ok|Coo_l|So _what", NULL, args, tags); }
/***************************************************************************** NAME */ ULONG rtEZRequestTags ( /* SYNOPSIS */ char *bodyfmt, char *gadfmt, struct rtReqInfo *reqinfo, APTR argarray, Tag tag1, ...) /* FUNCTION INPUTS RESULT NOTES EXAMPLE BUGS SEE ALSO INTERNALS HISTORY *****************************************************************************/ { AROS_SLOWSTACKTAGS_PRE(tag1) retval = rtEZRequestA(bodyfmt, gadfmt, reqinfo, argarray, AROS_SLOWSTACKTAGS_ARG(tag1)); AROS_SLOWSTACKTAGS_POST } /* rtEZRequestTags */
/* * Open a requester with a fixed font. * * Only reqtools.library seems to have the ability to use custom fonts. * This crashes, if I don't open requtools.library manually. Is this no auto-open library !? * * Is there really so much code necessary, just to open a fixed width requester !? * * This is no WinAPI call. */ int MessageBox_fixed(HWND hWnd, TCHAR *lpText, TCHAR *lpCaption, UINT uType/*, UINT size*/) { rtReqInfo *req; ULONG ret; BOOL i_opened_it=false; struct TextFont *font; struct Window *window; struct TextAttr myta = { "fixed.font", 8, 0, NULL }; struct TagItem tags[]={ {RT_TextAttr, (IPTR) &myta}, {RT_Window, NULL}, {RTEZ_ReqTitle , (IPTR) lpCaption}, {RT_ReqPos, REQPOS_CENTERSCR}, {RT_WaitPointer, TRUE}, {RT_LockWindow, TRUE}, {TAG_DONE} }; DebOut("Caption: %s\n", lpCaption); DebOut("Text: %s\n", lpText); font=OpenDiskFont(&myta); if(!font) { DebOut("unable to open fixed.font\n"); tags[0].ti_Tag=TAG_IGNORE; } window=(struct Window *)XGET(win, MUIA_Window_Window); if(window) { DebOut("window: %lx\n", window); tags[1].ti_Data=(IPTR) window; } else { DebOut("ERROR: no window !?\n"); tags[1].ti_Tag=TAG_IGNORE; } /* do I really have to open it !? */ if(!ReqToolsBase) { i_opened_it=TRUE; ReqToolsBase = (struct ReqToolsBase *)OpenLibrary("reqtools.library", 0); } if(!ReqToolsBase) { fprintf(stderr, "ERROR: Unable to open reqtools.library!\n"); DebOut("ERROR: Unable to open reqtools.library!\n"); return FALSE; } ret=rtEZRequestA(lpText, "Ok", NULL, NULL, tags); if(i_opened_it) { CloseLibrary((struct Library *)ReqToolsBase); ReqToolsBase=NULL; } if(font) { CloseFont(font); } return TRUE; }
BOOL ProcessMenuItem( UWORD id ) { BOOL run = TRUE; switch( id ) { case ITEM_LASTSAVED: case ITEM_OPEN: if( id == ITEM_LASTSAVED ) { if( !LoadConfig( CONFIGFILE_ARC ) ) { run = FALSE; } } else { OpenFile(); } UpdatePrefsWindow( FALSE ); break; case ITEM_SAVEAS: SaveAs(); break; case ITEM_ABOUT: { struct TagItem tags[] = { {RT_LockWindow , TRUE }, {RT_Window , (IPTR)WindowPtr }, {RT_ShareIDCMP , TRUE }, {RT_IntuiMsgFunc, (IPTR)&IntuiHook }, {RTEZ_Flags , EZREQF_CENTERTEXT }, {TAG_DONE } }; rtEZRequestA( "ReqTools Preferences 2.8\n" "\n" "Copyright © 1992-1994 Nico François\n" " 1995-1996 Magnus Holmgren\n" "(Compilation Date: " DATE ")", GetString( MSG_OK ), NULL, NULL, tags); } break; case ITEM_QUIT: run = FALSE; break; case ITEM_RESET: CopyMem( &DefaultPrefs, &RTPrefs, sizeof( struct ReqToolsPrefs ) ); UpdatePrefsWindow( FALSE ); break; case ITEM_RESTORE: CopyMem( rtLockPrefs(), &RTPrefs, sizeof( struct ReqToolsPrefs ) ); rtUnlockPrefs(); UpdatePrefsWindow( FALSE ); break; case ITEM_CREATEICONS: CreateIcons = !CreateIcons; break; } return( run ); }