Hello!
In ARIS 7.2.5 there is ability to create sub dialogs for Dialogs object. Custom created dialogs and sub dialogs work properly. But standard ARIS dialogs (Dialogs.MsgBox() for example) are not work as sub dialogs. There is help for method [DialogObject].onClose() in which there is text "Calling sub dialogs or message boxes is not supported in this function".
In other methods, such as [DialogObject].button_pressed() , there is no such text in help. It looks like MsgBox must works in it, but it doesn't. Next operators in button_pressed are executed, so Dialogs.MsgBox is just skipped, not appears.
Same thing with Dialogs.BrowsArisItems() and Dialogs.InputBox().
Do anybody knows how to call Dialogs.MsgBox() as sub dialog from DialogObject? Or is it bug?
Thx!
Hi,
inside a dialog, sub-dialogs are created using the current dialog object (their parent), not from the global Dialogs object:
See help: UserDialog
DialogElement getDialogElement ( String sDialogElementId )
Returns the dialog element specified by its string ID (independent from the dialog page).
DialogPage getPage ( int p_nPage )
returns the specified dialog page or null if the page with the given index does not exist
int getPageCount ( )
returns the number of dialog pages.
String getTitle ( )
returns the dialog title
void setActiveWizardPages ( int[] activePages )
Defines the list of visible wizard pages. If not called or if called with an empty array, all pages are active.
void setBrowseArisItems ( String sDialogId, String sTitle, String sDescription, String sServerName, String sDatabaseName, int itemKind, int[] itemTypes )
Called inside a report dialog function to create an ARIS Explorer dialog which is displayed after the dialog function has finished. The selection is restricted to the actual database.
void setBrowseFiles ( String sDialogId, String sDefName, String sDefExt, String sDefDir, String sTitle, int Options )
Called inside a report dialog function to create a file selection dialog which is displayed after the dialog function has finished.
void setBrowseFolders ( String sDialogId, String sTitle, String sDefPath, int Options )
Called inside a report dialog function to create a directory selection dialog which is displayed after the dialog function has finished.
void setMsgBox ( String sDialogId, String sMessage, int nType, String sTitle )
Called inside a report dialog function to create an information dialog which is displayed after the dialog function has finished.
void setSubDialog ( String sDialogId, Object dialogObject, int nDialogType, String sMultiPageDialogTitle )
Called inside a report dialog function to create a sub dialog which is displayed after the dialog function has finished.
BR, Torsten
Thanks, Torsten!
I tested this example and it works fine.
Little off top question.
I wrote 3-page dialog with using "dialog.isInValidState()" and "dialog.setActiveWizardPages()" functionality. The second page can be deactivated. My problem is then second page is active, third page's "isInValidState()" works properly. But then second page is not active, third page's "isInValidState()" doesn't depend on user activity on third page. It looks like in some functionality pageNumber is calculated for all pages in dialog, and for active pages only in other functionality.
I've added "this.dialog.setMsgBox(...pageNumber...)" call in "this.dialog.isInValidState()" method and it shows "2" in both cases.
Do you know what this problem may be in?