static LONG ami_misc_req(const char *message, uint32 type) { LONG ret = 0; LOG("%s", message); #ifdef __amigaos4__ ret = TimedDosRequesterTags( TDR_TitleString, messages_get("NetSurf"), TDR_FormatString, message, TDR_GadgetString, messages_get("OK"), TDR_ImageType, type, TDR_Window, cur_gw ? cur_gw->shared->win : NULL, TAG_DONE); #else struct EasyStruct easyreq = { sizeof(struct EasyStruct), 0, messages_get("NetSurf"), message, messages_get("OK"), }; ret = EasyRequest(cur_gw ? cur_gw->shared->win : NULL, &easyreq, NULL); #endif return ret; }
SDL_bool msgbox( struct machine *oric, int type, char *msg ) { char *btns = "OK|Cancel"; struct EasyStruct myES = { sizeof(struct EasyStruct), 0, "Oricutron Request", msg, btns, }; switch( type ) { case MSGBOX_YES_NO: strcpy(btns, "Yes|No"); break; case MSGBOX_OK: strcpy(btns, "OK"); break; case MSGBOX_OK_CANCEL: break; } return EasyRequest(NULL, &myES, NULL); }
int32 ami_warn_user_multi(const char *body, const char *opt1, const char *opt2, struct Window *win) { int res = 0; char *utf8text = ami_utf8_easy(body); char *utf8gadget1 = ami_utf8_easy(messages_get(opt1)); char *utf8gadget2 = ami_utf8_easy(messages_get(opt2)); char *utf8gadgets = ASPrintf("%s|%s", utf8gadget1, utf8gadget2); free(utf8gadget1); free(utf8gadget2); #ifdef __amigaos4__ res = TimedDosRequesterTags(TDR_ImageType, TDRIMAGE_WARNING, TDR_TitleString, messages_get("NetSurf"), TDR_FormatString, utf8text, TDR_GadgetString, utf8gadgets, TDR_Window, win, TAG_DONE); #else struct EasyStruct easyreq = { sizeof(struct EasyStruct), 0, messages_get("NetSurf"), utf8text, utf8gadgets, }; res = EasyRequest(win, &easyreq, NULL); #endif if(utf8text) free(utf8text); if(utf8gadgets) FreeVec(utf8gadgets); return res; }
void gui_message (const char *format,...) { char msg[2048]; va_list parms; struct EasyStruct req; struct Window *win; va_start (parms,format); vsprintf ( msg, format, parms); va_end (parms); /* Find this task's default window */ win = ((struct Process *) FindTask (NULL))->pr_WindowPtr; if (win == (struct Window *)-1) win = 0; req.es_StructSize = sizeof req; req.es_Flags = 0; req.es_Title = (char *) PACKAGE_NAME " Information"; req.es_TextFormat = (char *) msg; req.es_GadgetFormat = (char *) "Okay"; EasyRequest (win, &req, NULL, NULL); write_log (msg); }
void __saveds debug_req(char *reqtext,APTR arg) { struct EasyStruct myeasy = { sizeof(struct EasyStruct), 0,"NiKomLib Debug","","OK" }; myeasy.es_TextFormat=reqtext; EasyRequest(NULL,&myeasy,NULL,arg); }
void displayMsg(LONG code) { if (code) { Fault(code, "IconX", errbuffer, sizeof(errbuffer)); struct EasyStruct es = {sizeof(struct EasyStruct), 0, "Error", errbuffer, "OK"}; EasyRequest(0, &es, 0); } }
void Req( const char* text ) { struct EasyStruct es = { sizeof (struct EasyStruct), 0, (STRPTR) DevName, (STRPTR) text, "OK" }; EasyRequest( NULL, &es, NULL ); }
static LONG ami_misc_req(const char *message, uint32 type) { LONG ret = 0; LOG("%s", message); struct EasyStruct easyreq = { sizeof(struct EasyStruct), 0, messages_get("NetSurf"), message, messages_get("OK"), }; ret = EasyRequest(cur_gw ? cur_gw->shared->win : NULL, &easyreq, NULL); return ret; }
int __saveds __asm __UserLibInit (register __a6 struct Library *libbase) { AHIsubBase = libbase; if(!(DOSBase = (struct DosLibrary *) OpenLibrary("dos.library", 37))) { Alert(AN_Unknown|AG_OpenLib|AO_DOSLib); return 1; } if(!(GfxBase = (struct GfxBase *) OpenLibrary("graphics.library", 37))) { Alert(AN_Unknown|AG_OpenLib|AO_GraphicsLib); return 1; } if(!(IntuitionBase = (struct IntuitionBase *) OpenLibrary("intuition.library", 37))) { Alert(AN_Unknown|AG_OpenLib|AO_Intuition); return 1; } if(!(UtilityBase = OpenLibrary("utility.library", 37))) { Alert(AN_Unknown|AG_OpenLib|AO_UtilityLib); return 1; } // Don't fail if these ones don't open! if(!(AslBase = OpenLibrary("asl.library", 37))) { struct EasyStruct req = { sizeof (struct EasyStruct), 0, _LibName, "Cannot open 'asl.library' v37", "OK"}; EasyRequest( NULL, &req, NULL, NULL ); } DataTypesBase = OpenLibrary("datatypes.library",39); return 0; }
int ui_requester(char *title, char *msg, char *buttons, int defval) { struct EasyStruct *uiRequester = NULL; int retval; uiRequester = lib_AllocMem(sizeof(struct EasyStruct), MEMF_ANY); if (uiRequester) { uiRequester->es_StructSize = sizeof(struct EasyStruct); uiRequester->es_Flags = 0; uiRequester->es_Title = title; uiRequester->es_TextFormat = msg; uiRequester->es_GadgetFormat = buttons; retval = EasyRequest(canvaslist->os->window, uiRequester, NULL, NULL); } else { fprintf(stderr,"%s : %s\n",title, msg); return defval; } lib_FreeMem(uiRequester, sizeof(struct EasyStruct)); return retval; }
/** * @brief Display an AROS dialog box * @param type Dialog Type * @param[in] message Message to show * @param[in] title Message box title */ dialogResult_t Sys_Dialog(dialogType_t type, const char *message, const char *title) { struct EasyStruct es; int result; es.es_StructSize = sizeof(es); es.es_Flags = 0; es.es_Title = title; es.es_TextFormat = message; switch (type) { case DT_YES_NO: es.es_GadgetFormat = "Yes|No"; break; case DT_OK_CANCEL: es.es_GadgetFormat = "OK|Cancel"; break; default: es.es_GadgetFormat = "OK"; break; } result = EasyRequest(0, &es, 0, 0); // the rightmost button is always 0, others are numbered left to right switch (type) { case DT_YES_NO: return result ? DR_YES : DR_NO; case DT_OK_CANCEL: return result ? DR_OK : DR_CANCEL; } return DR_OK; }
int main(int argc, char **argv) { LONG rc = RETURN_FAIL; STRPTR filename, commandLine = NULL, ixWindow = DEFWINDOW; LONG ixWait = 0, ixStack = DEFSTACK; BOOL ixUShell = DEFUSHELL; BPTR oldlock = (BPTR)-1, dirlock = (BPTR)-1, window = NULL; struct DiskObject *dobj = NULL; D(bug("IconX argc %d\n", argc)); if (argc != 0) { displayMsg(ERROR_REQUIRED_ARG_MISSING); goto exit; } struct WBStartup *startup = (struct WBStartup *) argv; if (startup->sm_NumArgs < 2) { displayMsg(ERROR_REQUIRED_ARG_MISSING); goto exit; } D(bug("[IconX] startup->sm_NumArgs: %d\n", startup->sm_NumArgs)); dirlock = startup->sm_ArgList[1].wa_Lock; filename = startup->sm_ArgList[1].wa_Name; oldlock = CurrentDir(dirlock); /* query diskobject for tooltypes */ dobj = GetDiskObject(filename); if (dobj == NULL) { struct EasyStruct es = {sizeof(struct EasyStruct), 0, "Error", "IconX\nGetDiskObject failed for:\n%s", "OK"}; EasyRequest(0, &es, 0, filename); goto exit; } if (dobj->do_Type == WBPROJECT) { const STRPTR *toolarray = (const STRPTR *)dobj->do_ToolTypes; STRPTR s; if ((s = FindToolType(toolarray, "WINDOW"))) { ixWindow = s; } if ((s = FindToolType(toolarray, "STACK"))) { ixStack = atol(s); } if ((s = FindToolType(toolarray, "USERSHELL"))) { if (MatchToolValue(s, "NO")) { ixUShell = FALSE; } } if ((s = FindToolType(toolarray, "WAIT"))) { ixWait += atol(s) * 50; } if ((s = FindToolType(toolarray, "DELAY"))) { ixWait += atol(s); } } else { displayMsg(ERROR_OBJECT_WRONG_TYPE); goto exit; } if (ixWait <= 0) ixWait = DEFWAIT; if (ixStack <= 4096) ixStack = DEFSTACK; D(bug("wait %d stack %d usershell %d window %s\n", ixWait, ixStack, ixUShell, ixWindow)); D(bug("Building command line\n")); commandLine = BuildCommandLine(startup); if (commandLine == NULL) { displayMsg(IoErr()); goto exit; } D(bug("[IconX] commandLine: '%s'\n", commandLine)); window = Open(ixWindow, MODE_OLDFILE); if (window == NULL) { /* try to open default window */ window = Open(DEFWINDOW, MODE_OLDFILE); } if (window) { D(bug("[IconX] window ok\n")); struct TagItem tags[] = { { SYS_Asynch, FALSE }, { SYS_Background, TRUE }, { SYS_Input, (IPTR)window }, { SYS_Output, (IPTR)NULL }, { SYS_Error, (IPTR)NULL }, { SYS_UserShell, ixUShell }, { NP_StackSize, ixStack }, { TAG_DONE, 0 } }; rc = SystemTagList(commandLine, tags); if (rc == -1) { displayMsg(IoErr()); rc = RETURN_FAIL; } } else { displayMsg(IoErr()); goto exit; } Delay(ixWait); rc = RETURN_OK; exit: Close(window); FreeDiskObject(dobj); if (oldlock != (BPTR)-1) CurrentDir(oldlock); return rc; }
HOOKF(void, ami_menu_item_project_about, APTR, window, struct IntuiMessage *) { struct gui_window_2 *gwin; char *temp, *temp2; int sel; nsurl *url = NULL; nserror error = NSERROR_OK; GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin); ami_set_pointer(gwin, GUI_POINTER_WAIT, false); temp = ASPrintf("%s|%s|%s", messages_get("OK"), messages_get("HelpCredits"), messages_get("HelpLicence")); temp2 = ami_utf8_easy(temp); FreeVec(temp); #ifdef __amigaos4__ sel = TimedDosRequesterTags(TDR_ImageType,TDRIMAGE_INFO, TDR_TitleString, messages_get("NetSurf"), TDR_Window, gwin->win, TDR_GadgetString, temp2, TDR_FormatString,"NetSurf %s\nBuild date %s\n\nhttp://www.netsurf-browser.org", TDR_Arg1,netsurf_version, TDR_Arg2,verdate, TAG_DONE); #else struct EasyStruct about_req = { sizeof(struct EasyStruct), 0, "NetSurf", "NetSurf %s\nBuild date %s\n\nhttp://www.netsurf-browser.org", temp2, }; sel = EasyRequest(gwin->win, &about_req, NULL, netsurf_version, verdate); #endif free(temp2); if(sel == 2) { error = nsurl_create("about:credits", &url); } else if(sel == 0) { error = nsurl_create("about:licence", &url); } if(url) { if (error == NSERROR_OK) { error = browser_window_create(BW_CREATE_HISTORY, url, NULL, NULL, NULL); nsurl_unref(url); } if (error != NSERROR_OK) { amiga_warn_user(messages_get_errorcode(error), 0); } } ami_reset_pointer(gwin); }