====== messageBox ====== ===== Zaradenie ===== * ''**_UI**'' * ''messageBox'' ===== Špecifikácia ===== function _UI.messageBox(settings) @param object settings @return form ===== Prehľad nastavení ===== ^ vlastnosť ^ typ ^ default ^ popis ^ | ''[[#template|template]]'' | //number// | ''_UI.MESSAGE_BOX_NORMAL'' | ''_UI.MESSAGE_BOX_NORMAL'' \\ ''_UI.MESSAGE_BOX_INFO'' \\ ''_UI.MESSAGE_BOX_WARNING'' \\ ''_UI.MESSAGE_BOX_ERROR'' \\ ''_UI.MESSAGE_BOX_YES_NO'' \\ ''_UI.MESSAGE_BOX_YES_NO_CANCEL'' | | ''[[#label|label]]'' | //string// | | | | ''[[#callback|callback]]'' | //array// | ''null'' | | | ''[[#callback|callbackResponse]]'' \\ ''[[#callback|response]]'' | //number// | ''_UI.MESSAGE_BOX_RESPONSE_NORMAL'' | ''_UI.MESSAGE_BOX_RESPONSE_NONE'' \\ ''_UI.MESSAGE_BOX_RESPONSE_NORMAL'' \\ ''_UI.MESSAGE_BOX_RESPONSE_EVENT'' | | ''[[#callback_-callid|callback_{callId}]]'' \\ ''[[#callback_-callid|on{callId}Callback]]'' | //array// | ''null'' | | | ''[[#icon|icon]]'' | //number// | ''null'' | ''_UI.MESSAGE_BOX_ICON_NONE'' \\ ''_UI.MESSAGE_BOX_ICON_INFO'' \\ ''_UI.MESSAGE_BOX_ICON_WARNING'' \\ ''_UI.MESSAGE_BOX_ICON_ERROR'' \\ ''_UI.MESSAGE_BOX_ICON_QUESTION'' | | ''[[#iconSymbolId|iconSymbolId]]'' | //string// | ''null'' | | | ''[[#sound|sound]]'' | //number// | ''null'' | ''_UI.MESSAGE_BOX_SOUND_NONE'' \\ ''_UI.MESSAGE_BOX_SOUND_INFO'' \\ ''_UI.MESSAGE_BOX_SOUND_WARNING'' \\ ''_UI.MESSAGE_BOX_SOUND_ERROR'' \\ ''_UI.MESSAGE_BOX_SOUND_QUESTION'' | | ''[[#soundSymbolId|soundSymbolId]]'' | //string// | ''null'' | ''sound_error'' \\ ''sound_ding'' \\ ''...'' | | ''[[#disableSound|disableSound]]'' | //boolean// | ''false'' | | | ''[[#bottomLine|bottomLine]]'' \\ ''[[#bottomLine|line]]'' | //boolean// | ''false'' | | | ''width'' | //number// | ''null'' | | | ''height'' | //number// | ''null'' | | | ''selectable'' | //boolean// | ''false'' | | | ''checkbox'' | //object// | ''null'' | | | - ''label'' | //string// | | | | - ''state'' | //boolean// | ''false'' | | | ''buttons'' | //array// | ''null'' | | | - ''callId'' | //string// | | | | - ''label'' | //string// | | | | - ''hint'' | //string// | | | | - ''symbolId'' | //string// | | | | - ''key'' | //string// \\ //number// \\ //array// | | | | - ''callback'' | | | | | ''timeout'' | //object// | ''null'' | | | - ''time'' | //number// | ''10'' | | | - ''callId'' | //string// | | | | ''useDisableBox'' | //boolean// | ''true'' | | | ''autoScroll'' | //boolean// | ''false'' | | | ''autoScrollHtml'' | //boolean// | ''false'' | | ===== Nastavenia ===== ==== template ==== @param number settings.template ''**settings.template**'' je niečo ako rýchla šablóna a určuje základnú formu, ako bude messageBox zobrazený. \\ Môže mať nastavenú jednu z následujúcich hodnôt: ^ Hodnota ^ Základné nastavenie ^ | ''_UI.MESSAGE_BOX_NORMAL'' | tlačítko ''**OK**'' | | ''_UI.MESSAGE_BOX_INFO'' | ikona ''Info'', tlačítko ''**OK**'', zvuk ''ding'' | | ''_UI.MESSAGE_BOX_WARNING'' | ikona ''Warning'', tlačítko ''**OK**'', zvuk ''error'' | | ''_UI.MESSAGE_BOX_ERROR'' | ikona ''Error'', tlačítko ''**OK**'', zvuk ''error_1'' | | ''_UI.MESSAGE_BOX_YES_NO'' | ikona ''Question'', tlačítka ''**Yes**'' a ''**No**'', zvuk ''ding'' | | ''_UI.MESSAGE_BOX_YES_NO_CANCEL'' | ikona ''Question'', tlačítka ''**Yes**'', ''**No**'' a ''**Cancel**'', zvuk ''ding'' | Preddefinované tlačítka sa zobrazujú v lokálnom jazyku prihláseného užívateľa ((ak je daný preklad k dispozícií)) a zároveň reagujú aj na preddefinované klávesy podľa lokálneho jazyka prihláseného užívateľa. \\ Napríklad tlačítko ''**Yes**'' sa dá v slovenskom jazyku vyvolať klávesou ''**A**''. Tlačítko ''**Cancel**'' reaguje na klávesu ''**Esc**'' a Tlačítko ''**OK**'' reaguje na klávesu ''**Enter**'' ((Nastavené v language, ''id=app_message_key_...'')). Samozrejme je možné zobraziť aj vlastné [[#buttons|tlačítka]]. Ikonu môžete nastaviť aj pomocou parametra ''[[#icon|settings.icon]]'' alebo ''[[#iconSymbolId|settings.iconSymbolId]]''. ---- ''**template=_UI.MESSAGE_BOX_NORMAL**'' _UI.messageBox({ template: _UI.MESSAGE_BOX_NORMAL, label: "Udaje boli nacitane." }); {{ messagebox-normal.jpg?nolink |}} ---- ''**template=_UI.MESSAGE_BOX_INFO**'' _UI.messageBox({ template: _UI.MESSAGE_BOX_INFO, label: "Udaje boli nacitane." }); {{ messagebox-info.jpg?nolink |}} ---- ''**template=_UI.MESSAGE_BOX_WARNING**'' _UI.messageBox({ template: _UI.MESSAGE_BOX_WARNING, label: "Chyba pri citani udajov." }); {{ messagebox-warning.jpg?nolink |}} ---- ''**template=_UI.MESSAGE_BOX_ERROR**'' _UI.messageBox({ template: _UI.MESSAGE_BOX_ERROR, label: "Vazna chyba pri citani udajov." }); {{ messagebox-error.jpg?nolink |}} ---- ''**template=_UI.MESSAGE_BOX_YES_NO**'' _UI.messageBox({ template: _UI.MESSAGE_BOX_YES_NO, label: "Naozaj chcete pokracovat?" }); {{ messagebox-yes-no.jpg?nolink |}} ---- ''**template=_UI.MESSAGE_BOX_YES_NO_CANCEL**'' _UI.messageBox({ template: _UI.MESSAGE_BOX_YES_NO_CANCEL, label: "Naozaj chcete prepisat udaje?" }); {{ messagebox-yes-no-cancel.jpg?nolink |}} ---- ==== label ==== @param string settings.label **Povinný** parameter ''**settings.label**'' určuje, aký text sa zobrazí v messageBox-e. \\ Môže byť samozrejme viac-riadkový ((html tag ''
'', entita '' '' alebo znak nového riadku ''\n'')) a môže obsahovať HTML formátovanie. _UI.messageBox({ template: _UI.MESSAGE_BOX_INFO, label: "Udaje boli nacitane.
Novy riadok Dalsi novy riadok\nA este jeden novy riadok." });
{{ messagebox-label.jpg?nolink |}} ---- ==== callback ==== @param array settings.callback @param number settings.callbackResponse=_UI.MESSAGE_BOX_RESPONSE_EVENT Nepovinný parameter ''**settings.callback**'' určuje, ktorá funkcia sa zavolá po stlačení tlačítka v messageBox-e. \\ Parameter ''settings.callback'' sa definuje ako pole pre funkciu ''[[/dev/omega/flash/global-misc#_call|_call()]]''. Parameter ''**settings.callbackResponse**'' určuje, akým spôsobom bude výsledok prenesený do callback funkcie. \\ Predvolený je ''**_UI.MESSAGE_BOX_RESPONSE_EVENT**''. :!: Parameter ''**settings.response**'' je synonymom pre ''**settings.callbackResponse**''. Stlačené tlačítko bude typu //string// a budeme ho volať ako ''**callId**''. V prípade preddefinovaných tlačítiek sa jedná o následovné hodnoty: ^ Tlačíko ^ Skutočná hodnota ^ Prístup aj cez ^ | Ok | ''%%"ok"%%'' | ''_UI.MESSAGE_BOX_RESPONSE_OK'' | | Cancel | ''%%"cancel"%%'' | ''_UI.MESSAGE_BOX_RESPONSE_CANCEL'' | | Yes | ''%%"yes"%%'' | ''_UI.MESSAGE_BOX_RESPONSE_YES'' | | No | ''%%"no"%%'' | ''_UI.MESSAGE_BOX_RESPONSE_NO'' | ^ Hodnota ^ Popis ^ | ''_UI.MESSAGE_BOX_RESPONSE_EVENT'' | Výsledok bude premenná typu ''bEvent'' | | ''_UI.MESSAGE_BOX_RESPONSE_NORMAL'' | Výsledok bude ''string''. | V prípade ''**_UI.MESSAGE_BOX_RESPONSE_EVENT**'' bude ''callId'' stlačeného tlačítka uložený v ''e.response.callId'' a zároveň aj v ''e.callId'', kde ''**e**'' je premenná typu bEvent. __Príklad 1:__ \\ Použitie ''**_UI.MESSAGE_BOX_RESPONSE_EVENT**'', prípadne tento argument je možné úplne vynechať, lebo je predvolený. _UI.messageBox({ template: _UI.MESSAGE_BOX_YES_NO, label: "Chcete pokracovat?", callbackResponse: _UI.MESSAGE_BOX_RESPONSE_EVENT, // default, nemusí byť uvedený callback: [this, "responseEventFnc", "argument1", "argument2"] }); function responseEventFnc(e, arg1, arg2) { // callId tlačítka bude v e.response.callId, prípadne v e.callId avhd({ e_callId: e.callId, e_callId2: e.getCallId(), e_response: e.response, arg1: arg1, arg2: arg2 }); } {{ :dev:omega:flash:ui:messagebox-callback1.jpg?nolink |}} Po stlačení tlačítka **Áno** sa zobrazí následujúci výsledok: {{ :dev:omega:flash:ui:messagebox-callback1-result-event.jpg?nolink |}} __Príklad 2:__ \\ Použitie ''**_UI.MESSAGE_BOX_RESPONSE_NORMAL**'' _UI.messageBox({ template: _UI.MESSAGE_BOX_YES_NO, label: "Chcete pokracovat?", callbackResponse: _UI.MESSAGE_BOX_RESPONSE_NORMAL, callback: [this, "responseNormalFnc", "argument1", "argument2"] }); function responseNormalFnc(callId, arg1, arg2) { avhd({ callId: callId, arg1: arg1, arg2: arg2 }); } {{ :dev:omega:flash:ui:messagebox-callback1.jpg?nolink |}} Po stlačení tlačítka **Áno** sa zobrazí následujúci výsledok: {{ :dev:omega:flash:ui:messagebox-callback1-result-normal.jpg?nolink |}} ---- ==== callback_{callId} ==== @param array settings.callback_{callId} @param array settings.on{callId}Callback Alternatívne použitie Pomocou tohoto parametra je možné nadefinovať rýchle callback volanie pre tlačítka. \\ ''{callId}'' treba nahradiť za ''callId'' tlačítka, na ktoré chceme naviazať callback funkciu. Parameter ''settings.callback_{callId}'' sa definuje ako pole pre funkciu ''[[/dev/omega/flash/global-misc#_call|_call()]]''. :!: Callback funkcia už nedostane žiaden parameter o výsledku. Napríklad ak chcete, aby sa po stlačení tlačítka **Yes** zavolala funkcia a po stlačení tlačítka **No** iná funkcia, potom môžeme použiť násl. skript: _UI.messageBox({ template: _UI.MESSAGE_BOX_YES_NO, label: "Chcete pokracovat?", callback_yes: [this, "responseYesFnc", "argument1", "argument2"], callback_no: [this, "responseNoFnc"] }); function responseYesFnc(arg1, arg2) { avhd({ arg1: arg1, arg2: arg2 }); } function responseNoFnc() { } __Alternatívne použitie:__ _UI.messageBox({ template: _UI.MESSAGE_BOX_YES_NO, label: "Chcete pokracovat?", callback: [this, "dummyFnc"], onYesCallback: [this, "responseYesFnc", "argument1", "argument2"], onNoCallback: [this, "responseNoFnc"] }); ---- ==== icon ==== @param number settings.icon ''**settings.icon**'' určuje, aká ikona bude použitá v messageBox-e. Ikona sa automaticky nastaví, ak použijete parameter ''[[#template|settings.template]]'', takže ju nemusíte extra nastavovať. \\ Môže mať nastavenú jednu z následujúcich hodnôt: | ''_UI.MESSAGE_BOX_ICON_NONE'' | | ''_UI.MESSAGE_BOX_ICON_INFO'' | | ''_UI.MESSAGE_BOX_ICON_WARNING'' | | ''_UI.MESSAGE_BOX_ICON_ERROR'' | | ''_UI.MESSAGE_BOX_ICON_QUESTION'' | ''**icon=_UI.MESSAGE_BOX_ICON_INFO**'' _UI.messageBox({ template: _UI.MESSAGE_BOX_NORMAL, icon: _UI.MESSAGE_BOX_ICON_INFO, label: "Udaje boli nacitane." }); {{ messagebox-icon-info.jpg?nolink |}} ---- ''**icon=_UI.MESSAGE_BOX_ICON_WARNING**'' _UI.messageBox({ template: _UI.MESSAGE_BOX_NORMAL, icon: _UI.MESSAGE_BOX_ICON_WARNING, label: "Udaje boli nacitane." }); {{ messagebox-icon-warning.jpg?nolink |}} ---- ''**icon=_UI.MESSAGE_BOX_ICON_ERROR**'' _UI.messageBox({ template: _UI.MESSAGE_BOX_NORMAL, icon: _UI.MESSAGE_BOX_ICON_ERROR, label: "Udaje boli nacitane." }); {{ messagebox-icon-error.jpg?nolink |}} ---- ''**icon=_UI.MESSAGE_BOX_ICON_QUESTION**'' _UI.messageBox({ template: _UI.MESSAGE_BOX_NORMAL, icon: _UI.MESSAGE_BOX_ICON_QUESTION, label: "Udaje boli nacitane." }); {{ messagebox-icon-question.jpg?nolink |}} ---- ==== iconSymbolId ==== @param string settings.iconSymbolId ''**settings.iconSymbolId**'' určuje, aký symbol ikony bude použitý v messageBox-e. Symbol je identifikátor ((''library linkageIdentifier'')) z knižnice. \\ Veľkosť ikony by mala byť približne 32x32 px. Ikona sa automaticky nastaví, ak použijete parameter ''[[#template|settings.template]]'', takže ju nemusíte extra nastavovať. _UI.messageBox({ template: _UI.MESSAGE_BOX_NORMAL, iconSymbolId: "my_message_box_special_symbol", label: "Udaje boli nacitane." }); ---- ==== sound ==== @param number settings.sound ''**settings.sound**'' určuje, aký zvuk bude prehraný pri zobrazení messageBox-u. Zvuk sa automaticky nastaví, ak použijete parameter ''[[#template|settings.template]]'', takže ho nemusíte extra nastavovať. \\ Môže mať nastavenú jednu z následujúcich hodnôt: | ''_UI.MESSAGE_BOX_SOUND_NONE'' | | ''_UI.MESSAGE_BOX_SOUND_INFO'' | | ''_UI.MESSAGE_BOX_SOUND_WARNING'' | | ''_UI.MESSAGE_BOX_SOUND_ERROR'' | | ''_UI.MESSAGE_BOX_SOUND_QUESTION'' | _UI.messageBox({ template: _UI.MESSAGE_BOX_NORMAL, sound: _UI.MESSAGE_BOX_SOUND_ERROR, label: "Udaje boli nacitane." }); ---- ==== disableSound ==== @param boolean settings.disableSound=false Ak bude parameter ''**settings.disableSound=true**'', potom sa neprehrá žiaden zvuk aj napriek tomu, že bol nadefinovaný. _UI.messageBox({ template: _UI.MESSAGE_BOX_ERROR, disableSound: true, label: "Udaje neboli nacitane." }); ---- ==== bottomLine ==== @param boolean settings.bottomLine=false Ak bude parameter ''**settings.bottomLine=true**'', potom sa v spodnej časti messageBox-u zobrazí deliaca čiara. Táto čiara je vhodná pri zobrazení dlhších textov a viacerých možností voľby. :!: Parameter ''**settings.line**'' je synonymom pre ''**settings.bottomLine**''. _UI.messageBox({ template: _UI.MESSAGE_BOX_ERROR, bottomLine: true, label: "Udaje neboli nacitane." }); {{ messagebox-bottom-line.jpg?nolink |}} ---- ===== Príklady ===== ==== Základné okno ==== _UI.messageBox({ label: "Skúšobný box." }); ---- ==== Áno/Nie ==== _UI.messageBox({ label: "Naozaj sa chcete odhlásiť?", template: _UI.MESSAGE_BOX_YES_NO }); ---- ==== Áno/Nie/Zrušiť ==== _UI.messageBox({ label: "Naozaj chcete pokračovať?", template: _UI.MESSAGE_BOX_YES_NO_CANCEL }); ---- ==== Odpočet ==== _UI.messageBox({ label: "Naozaj chcete pokračovať?", template: _UI.MESSAGE_BOX_YES_NO, timeout: { time: 10, callId: "yes" }, bottomLine: true }); ---- ==== Šírka okna ==== _UI.messageBox({ label: "Naozaj chcete pokračovať?", template: _UI.MESSAGE_BOX_YES_NO, width: 600 }); ---- ==== Vlastné tlačítka ==== _UI.messageBox({ label: "Naozaj chcete pokračovať?", buttons: [ { callId: "opt1", label: "Option1", key: "1", symbolId: "cancel_symbol", hint: "Ak toto stlačíte, potom ..." }, { callId: "opt2", label: "Option2", key: ["2", Key.ENTER], callback: [this, "callbackFnc"] } ], bottomLine: true }); ---- ==== Checkbox ==== _UI.messageBox({ label: "Naozaj chcete pokračovať?", template: _UI.MESSAGE_BOX_YES_NO, checkbox: { label: "Aj nabudúce...", state: true }, bottomLine: true }); ---- ==== Callback ==== _UI.messageBox({ template: _UI.MESSAGE_BOX_YES_NO, label: "Naozaj chcete pokračovať?", bottomLine: true, callback: [this, "callbackFnc1", "ARG1"] }); function callbackFnc1(callId, arg1) { } _UI.messageBox({ template: _UI.MESSAGE_BOX_YES_NO, label: "Naozaj chcete pokračovať?", bottomLine: true, response: _UI.MESSAGE_BOX_RESPONSE_EVENT, [this, "callbackFnc2", "ARG1"] }); function callbackFnc2(e, arg1) { trace(e.response.callId); trace(e.response.checkboxState); } _UI.messageBox({ template: _UI.MESSAGE_BOX_YES_NO, label: "Naozaj chcete pokračovať?", bottomLine: true, response: _UI.MESSAGE_BOX_RESPONSE_EVENT, callback: [this, "callbackFnc2", "ARG1"], callback_ok: [this, "callbackFncOk", "ARG1"] } ); function callbackFnc2(e, arg1) { trace(e.response.callId); trace(e.response.checkboxState); } function callbackFncOk(e, arg1) { trace(e.response.callId); trace(e.response.checkboxState); }