Hi,
I found a method to add a Picture in a page of a dialogTemplate, but I have no idea of how to proceed to set the picture with my png file.
I didn't found a solution matching this case in the existing topics of the forum.
Please see below an example of code where I try to display a picture in the page[0]:
var logger = new Logger(); var loc = Context.getSelectedLanguage(); var user = ArisData.getActiveUser(); var db = ArisData.getActiveDatabase(); var filter = ArisData.ActiveFilter(); // Filtre actif var filter_guid = filter.GUID(); // GUID du filtre actif //var myPicture = Context.createPicture("warning.png"); var myPicture = Context.getFile("warning.png",Constants.LOCATION_COMMON_FILES); var result = Dialogs.showDialog(new myDialog(), Constants.DIALOG_TYPE_WIZARD, "Création/Suppression de relations"); ////////////////////////////////////////////// Fonctions ////////////////////////////////////// function myDialog() { // all member functions except for getPages can access the property "dialog" of the dialog class. Type is "UserDialog" (see help). // examples: // - Get the page with the specified index (e.g. 0): this.dialog.getPage(0) // - Define the list of visible wizard pages (e.g. 0,1): this.dialog.setActiveWizardPages([0,1]) // returns DialogTemplate[] // non-optional var createRelationObjectName; var symbList = new Array(); symbList[0] = ["Function","Cluster"]; symbList[1] = ["obj1","obj2"];//[["obj1","obj2","obj3"],["obj4","obj5","obj6"]]; this.getPages = function() { /********* 1er écran *********/ var iDialogTemplate1 = Dialogs.createNewDialogTemplate(600, 200, "Creation of a relation"); iDialogTemplate1.ComboBox(10, 120, 200, 40, symbList[0], "SYMB_LIST_1"); iDialogTemplate1.OptionGroup("OPTIONGROUP"); // iDialogTemplate1.OptionButton(10,30,400,30,"create","OPTION_0"); // iDialogTemplate1.OptionButton(10,60,400,30,"delete","OPTION_1"); iDialogTemplate1.OptionButton(10,30,200,30,"Créer une relation","OPTION_0"); iDialogTemplate1.OptionButton(220,30,200,30,"Supprimer une relation","OPTION_1"); iDialogTemplate1.Picture(10,155,40,40,"PICT"); //actions iDialogTemplate1.CancelButton(); /********* 2nd écran *********/ var iDialogTemplate2 = Dialogs.createNewDialogTemplate(400, 200, "Validation"); iDialogTemplate2.Text(10, 30, 1600, 40, "", "TEXT_2_2"); //actions iDialogTemplate2.CancelButton(); iDialogTemplate2.PushButton(10, 170, 200, 28, "add a new relation", "BUTTON_NEW"); return [iDialogTemplate1, iDialogTemplate2]; } // initialize dialog pages (are already created and pre-initialized with static data from XML or template) // parameter: Array of DialogPage // see Help: DialogPage // user can set control values // optional this.init = function(aPages) { aPages[0].getDialogElement("OPTION_0").setVisible(true); aPages[0].getDialogElement("OPTION_1").setVisible(true); //aPages[0].getDialogElement("PICT").setText(pict); //KO } // returns true if the page is in a valid state. In this case "Ok", "Finish", or "Next" is enabled. // called each time a dialog value is changed by the user (button pressed, list selection, text field value, table entry, radio button,...) // pageNumber: the current page number, 0-based this.isInValidState = function(pageNumber) { return true; } // called when the page is displayed // pageNumber: the current page number, 0-based // optional this.onActivatePage = function(pageNumber) { } // returns true if the "Finish" or "Ok" button should be visible on this page. // pageNumber: the current page number, 0-based // optional. if not present: always true this.canFinish = function(pageNumber) { return true; } // returns true if the user can switch to another page. // pageNumber: the current page number, 0-based // optional. if not present: always true this.canChangePage = function(pageNumber) { return true; } // returns true if the user can switch to next page. // called when the "Next" button is pressed and thus not suitable for activation/deactivation of this button // can prevent the display of the next page // pageNumber: the current page number, 0-based // optional. if not present: always true this.canGotoNextPage = function(pageNumber) { return true; } // returns true if the user can switch to previous page. // called when the "Back" button is pressed and thus not suitable for activation/deactivation of this button // can prevent the display of the previous page // pageNumber: the current page number, 0-based // optional. if not present: always true this.canGotoPreviousPage = function(pageNumber) { return true; } // called after "Ok"/"Finish" has been pressed and the current state data has been applied // can be used to update your data // pageNumber: the current page number // bOK: true=Ok/finish, false=cancel pressed // optional this.onClose = function(pageNumber, bOk) { } // the result of this function is returned as result of Dialogs.showDialog(). Can be any object. // optional this.getResult = function() { return null; } this.SYMB_LIST_1_selChanged = function() { var symbListRange = this.dialog.getPage(0).getDialogElement("SYMB_LIST_1").getValue(); createRelationObjectName = symbList[1][symbListRange]; this.dialog.getPage(1).getDialogElement("TEXT_2_2").setText("selected object : "+createRelationObjectName); } this.BUTTON_NEW_pressed = function() { //this.dialog.setDlgFocus(0); KO //this.dialog.getPage(0).setDlgFocus(0); KO this.dialog.setActiveWizardPages([0]); } this.dialog.setDlgPicture("PICT", myPicture, 2); }
I tried different things to set the Element "PICT", without success...
Thanks in advance to the one who'll have an idea !