Method Summary | |
---|---|
JSComponent | cloneComponent(newName, component) Makes an exact copy of the given component (JSComponent/JSField/JSLabel) and gives it a new name. |
JSComponent | cloneComponent(newName, component, newParentForm) Makes an exact copy of the given component (JSComponent/JSField/JSLabel), gives it a new name and moves it to a new parent form, specified as a parameter. |
JSForm | cloneForm(newName, jsForm) Makes an exact copy of the given form and gives it the new name. |
String | createBevelBorder(bevel_type, highlight_outer_color, highlight_inner_color, shadow_outer_color, shadow_inner_color) Create a bevel border string. |
String | createEmptyBorder(top_width, right_width, bottom_width, left_width) Create an empty border string. |
String | createEtchedBorder(bevel_type, highlight_color, shadow_color) Create an etched border string. |
String | createFont(name, style, size) Create a font string. |
String | createLineBorder(thick, color) Create a line border string. |
String | createMatteBorder(top_width, right_width, bottom_width, left_width, color) Create a matte border string. |
String | createPageFormat(width, height, leftmargin, rightmargin, topmargin, bottommargin) Create a page format string. |
String | createPageFormat(width, height, leftmargin, rightmargin, topmargin, bottommargin, orientation) Create a page format string. |
String | createPageFormat(width, height, leftmargin, rightmargin, topmargin, bottommargin, orientation, units) Create a page format string. |
String | createRoundedBorder(top_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, border_style) Create a special matte border string. |
String | createSpecialMatteBorder(top_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, dash_pattern) Create a special matte border string. |
String | createTitledBorder(title_text, font, color, title_justification, title_position) Create a titled border string. |
JSDataSourceNode | getDataSourceNode(dataSource) Gets the specified data source node and returns information about the form (see JSDataSourceNode node). |
JSForm | getForm(name) Gets the specified form object and returns information about the form (see JSForm node). |
JSForm[] | getForms() Get an array of all forms. |
JSForm[] | getForms(datasource) Get an array of forms, that are all based on datasource/servername. |
JSForm[] | getForms(server, tablename) Get an array of forms, that are all based on datasource/servername and tablename. |
JSMethod | getGlobalMethod(scopeName, name) Gets an existing global method by the specified name. |
JSMethod[] | getGlobalMethods() The list of all global methods. |
JSMethod[] | getGlobalMethods(scopeName) The list of all global methods. |
JSVariable | getGlobalVariable(scopeName, name) Gets an existing global variable by the specified name. |
JSVariable[] | getGlobalVariables() Gets an array of all global variables. |
JSVariable[] | getGlobalVariables(scopeName) Gets an array of all global variables. |
JSMedia | getMedia(name) Gets the specified media object; can be assigned to a button/label. |
JSMedia[] | getMediaList() Gets the list of all media objects. |
JSRelation | getRelation(name) Gets an existing relation by the specified name and returns a JSRelation Object. |
JSRelation[] | getRelations(datasource) Gets an array of all relations; or an array of all global relations if the specified table is NULL. |
JSRelation[] | getRelations(servername, tablename) Gets an array of all relations; or an array of all global relations if the specified table is NULL. |
String[] | getScopeNames() Gets an array of all scope names used. |
JSStyle | getStyle(name) Gets the style specified by the given name. |
JSValueList | getValueList(name) Gets an existing valuelist by the specified name and returns a JSValueList Object that can be assigned to a field. |
JSValueList[] | getValueLists() Gets an array of all valuelists for the currently active solution. |
JSForm | newForm(name, superForm) Creates a new form with the given JSForm as its super form. |
JSForm | newForm(name, dataSource, styleName, show_in_menu, width, height) Creates a new JSForm Object. |
JSForm | newForm(name, serverName, tableName, styleName, show_in_menu, width, height) Creates a new JSForm Object. |
JSMethod | newGlobalMethod(scopeName, code) Creates a new global method with the specified code in a scope. |
JSVariable | newGlobalVariable(scopeName, name, type) Creates a new global variable with the specified name and number type. |
JSMedia | newMedia(name, bytes) Creates a new media object that can be assigned to a label or a button. |
JSRelation | newRelation(name, primaryDataSource, foreignDataSource, joinType) Creates a new JSRelation Object with a specified name; includes the primary datasource, foreign datasource and the type of join for the new relation. |
JSStyle | newStyle(name, content) Creates a new style with the given css content string under the given name. |
JSValueList | newValueList(name, type) Creates a new valuelist with the specified name and number type. |
Boolean | removeForm(name) Removes the specified form during the persistent connected client session. |
Boolean | removeGlobalMethod(scopeName, name) Removes the specified global method. |
Boolean | removeGlobalVariable(scopeName, name) Removes the specified global variable. |
Boolean | removeMedia(name) Removes the media item specified by name. |
Boolean | removeRelation(name) Removes the relation specified by name. |
Boolean | removeStyle(name) Removes the specified style. |
Boolean | removeValueList(name) Removes the specified valuelist. |
JSForm | revertForm(name) Reverts the specified form to the original (blueprint) version of the form; will result in an exception error if the form is not an original form. |
JSMethod | wrapMethodWithArguments(method, args) Get a JSMethod instance with arguments to be assigned to an event. |
Method Details | |
---|---|
cloneComponent |
|
JSComponent cloneComponent (newName, component) | |
Makes an exact copy of the given component (JSComponent/JSField/JSLabel) and gives it a new name.
|
|
Parameters {String} newName - the new name of the cloned component
{JSComponent} component - the component to clone |
|
Returns JSComponent - the exact copy of the given component
|
|
Sample // get an existing field to clone. var field = solutionModel.getForm("formWithField").getField("fieldName"); // make a clone/copy of the field var clone = solutionModel.cloneComponent("clonedField",field); |
|
cloneComponent |
|
JSComponent cloneComponent (newName, component, newParentForm) | |
Makes an exact copy of the given component (JSComponent/JSField/JSLabel), gives it a new name and moves it to a new parent form, specified as a parameter.
|
|
Parameters {String} newName - the new name of the cloned component
{JSComponent} component - the component to clone {JSForm} newParentForm - the new parent form |
|
Returns JSComponent - the exact copy of the given component
|
|
Sample // get an existing field to clone. var field = solutionModel.getForm("formWithField").getField("fieldName"); // get the target form for the copied/cloned field var form = solutionModel.getForm("targetForm"); // make a clone/copy of the field and re parent it to the target form. var clone = solutionModel.cloneComponent("clonedField",field,form); // show it forms["targetForm"].controller.show(); |
|
cloneForm |
|
JSForm cloneForm (newName, jsForm) | |
Makes an exact copy of the given form and gives it the new name.
|
|
Parameters |
|
Returns JSForm - a JSForm
|
|
Sample // get an existing form var form = solutionModel.getForm("existingForm") // make a clone/copy from it var clone = solutionModel.cloneForm("clonedForm", form) // add a new label to the clone clone.newLabel("added label",50,50,80,20); // show it forms["clonedForm"].controller.show(); |
|
createBevelBorder |
|
String createBevelBorder (bevel_type, highlight_outer_color, highlight_inner_color, shadow_outer_color, shadow_inner_color) | |
Create a bevel border string.
|
|
Parameters {Number} bevel_type - bevel border type (SM_BEVELTYPE.RAISED or SM_BEVELTYPE.LOWERED)
{String} highlight_outer_color - bevel border highlight outer color {String} highlight_inner_color - bevel border highlight inner color {String} shadow_outer_color - bevel border shadow outer color {String} shadow_inner_color - bevel border shadow outer color |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createBevelBorder(SM_BEVELTYPE.RAISED,'#ff0000','#00ff00','#ff0000','#00ff00'); |
|
createEmptyBorder |
|
String createEmptyBorder (top_width, right_width, bottom_width, left_width) | |
Create an empty border string.
|
|
Parameters |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createEmptyBorder(1,1,1,1); |
|
createEtchedBorder |
|
String createEtchedBorder (bevel_type, highlight_color, shadow_color) | |
Create an etched border string.
|
|
Parameters |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createEtchedBorder(SM_BEVELTYPE.RAISED,'#ff0000','#00ff00'); |
|
createFont |
|
String createFont (name, style, size) | |
Create a font string.
|
|
Parameters |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); var component = form.getComponent("someComponent") component.fontType = solutionModel.createFont('Arial',SM_FONTSTYLE.BOLD,14); |
|
createLineBorder |
|
String createLineBorder (thick, color) | |
Create a line border string.
|
|
Parameters |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createLineBorder(1,'#ff0000'); |
|
createMatteBorder |
|
String createMatteBorder (top_width, right_width, bottom_width, left_width, color) | |
Create a matte border string.
|
|
Parameters |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createMatteBorder(1,1,1,1,"#00ff00"); |
|
createPageFormat |
|
String createPageFormat (width, height, leftmargin, rightmargin, topmargin, bottommargin) | |
Create a page format string. Note: The unit specified for width, height and all margins MUST be the same. |
|
Parameters {Number} width - the specified width of the page to be printed.
{Number} height - the specified height of the page to be printed. {Number} leftmargin - the specified left margin of the page to be printed. {Number} rightmargin - the specified right margin of the page to be printed. {Number} topmargin - the specified top margin of the page to be printed. {Number} bottommargin - the specified bottom margin of the page to be printed. |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); form.defaultPageFormat = solutionModel.createPageFormat(612,792,72,72,72,72,SM_ORIENTATION.PORTRAIT,SM_UNITS.PIXELS); |
|
createPageFormat |
|
String createPageFormat (width, height, leftmargin, rightmargin, topmargin, bottommargin, orientation) | |
Create a page format string. Note: The unit specified for width, height and all margins MUST be the same. |
|
Parameters {Number} width - the specified width of the page to be printed.
{Number} height - the specified height of the page to be printed. {Number} leftmargin - the specified left margin of the page to be printed. {Number} rightmargin - the specified right margin of the page to be printed. {Number} topmargin - the specified top margin of the page to be printed. {Number} bottommargin - the specified bottom margin of the page to be printed. {Number} orientation - the specified orientation of the page to be printed; the default is Portrait mode |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); form.defaultPageFormat = solutionModel.createPageFormat(612,792,72,72,72,72,SM_ORIENTATION.PORTRAIT,SM_UNITS.PIXELS); |
|
createPageFormat |
|
String createPageFormat (width, height, leftmargin, rightmargin, topmargin, bottommargin, orientation, units) | |
Create a page format string. Note: The unit specified for width, height and all margins MUST be the same. |
|
Parameters {Number} width - the specified width of the page to be printed.
{Number} height - the specified height of the page to be printed. {Number} leftmargin - the specified left margin of the page to be printed. {Number} rightmargin - the specified right margin of the page to be printed. {Number} topmargin - the specified top margin of the page to be printed. {Number} bottommargin - the specified bottom margin of the page to be printed. {Number} orientation - the specified orientation of the page to be printed; the default is Portrait mode {Number} units - the specified units for the width and height of the page to be printed; the default is pixels |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); form.defaultPageFormat = solutionModel.createPageFormat(612,792,72,72,72,72,SM_ORIENTATION.PORTRAIT,SM_UNITS.PIXELS); |
|
createRoundedBorder |
|
String createRoundedBorder (top_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, border_style) | |
Create a special matte border string.
|
|
Parameters {Number} top_width - top width of matte border in pixels
{Number} right_width - right width of matte border in pixels {Number} bottom_width - bottom width of matte border in pixels {Number} left_width - left width of matte border in pixels {String} top_color - top border color {String} right_color - right border color {String} bottom_color - bottom border color {String} left_color - left border color {Number[]} rounding_radius - array with width/height of the arc to round the corners {String[]} border_style - the border styles for the four margins(top/left/bottom/left) |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); // create a rectangle border (no rounded corners) and continous line form.borderType = solutionModel.createSpecialMatteBorder(1,1,1,1,"#00ff00","#00ff00","#00ff00","#00ff00",0,null); // create a border with rounded corners and dashed line (25 pixels drawn, then 25 pixels skipped) // rounding_radius is an array of up to 8 numbers, order is: top-left,top-right,bottom-right,bottom-left (repetead twice - for width and height) // form.borderType = solutionModel.createSpecialMatteBorder(1,1,1,1,"#00ff00","#00ff00","#00ff00","#00ff00",new Array(10,10,10,10),new Array(25,25)); |
|
createSpecialMatteBorder |
|
String createSpecialMatteBorder (top_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, dash_pattern) | |
Create a special matte border string.
|
|
Parameters {Number} top_width - top width of matte border in pixels
{Number} right_width - right width of matte border in pixels {Number} bottom_width - bottom width of matte border in pixels {Number} left_width - left width of matte border in pixels {String} top_color - top border color {String} right_color - right border color {String} bottom_color - bottom border color {String} left_color - left border color {Number} rounding_radius - width of the arc to round the corners {Number[]} dash_pattern - the dash pattern of border stroke |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); // create a rectangle border (no rounded corners) and continous line form.borderType = solutionModel.createSpecialMatteBorder(1,1,1,1,"#00ff00","#00ff00","#00ff00","#00ff00",0,null); // create a border with rounded corners and dashed line (25 pixels drawn, then 25 pixels skipped) // form.borderType = solutionModel.createSpecialMatteBorder(1,1,1,1,"#00ff00","#00ff00","#00ff00","#00ff00",10,new Array(25,25)); |
|
createTitledBorder |
|
String createTitledBorder (title_text, font, color, title_justification, title_position) | |
Create a titled border string.
|
|
Parameters |
|
Returns |
|
Sample var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createTitledBorder('Test',solutionModel.createFont('Arial',SM_FONTSTYLE.PLAIN,10),'#ff0000',SM_TITLEJUSTIFICATION.CENTER,SM_TITLEPOSITION.TOP); |
|
getDataSourceNode |
|
JSDataSourceNode getDataSourceNode (dataSource) | |
Gets the specified data source node and returns information about the form (see JSDataSourceNode node).
The JSDataSourceNode holds all calculations and foundset methods. |
|
Parameters {String} dataSource - table data source
|
|
Returns JSDataSourceNode - a JSDataSourceNode
|
|
Sample var dsnode = solutionModel.getDataSourceNode('db:/example_data/customers'); var c = dsnode.getCalculation("myCalculation"); application.output("Name: " + c.getName() + ", Stored: " + c.isStored()); |
|
getForm |
|
JSForm getForm (name) | |
Gets the specified form object and returns information about the form (see JSForm node).
|
|
Parameters {String} name - the specified name of the form
|
|
Returns JSForm - a JSForm
|
|
Sample var myForm = solutionModel.getForm('existingFormName'); //get the style of the form (for all other properties see JSForm node) var styleName = myForm.styleName; |
|
getForms |
|
JSForm[] getForms () | |
Get an array of all forms.
|
|
Returns JSForm[] - an array of JSForm type elements
|
|
Sample var forms = solutionModel.getForms() for (var i in forms) application.output(forms[i].name) |
|
getForms |
|
JSForm[] getForms (datasource) | |
Get an array of forms, that are all based on datasource/servername.
|
|
Parameters {String} datasource - the datasource or servername
|
|
Returns JSForm[] - an array of JSForm type elements
|
|
Sample var forms = solutionModel.getForms(datasource) for (var i in forms) application.output(forms[i].name) |
|
getForms |
|
JSForm[] getForms (server, tablename) | |
Get an array of forms, that are all based on datasource/servername and tablename.
|
|
Parameters |
|
Returns JSForm[] - an array of JSForm type elements
|
|
Sample var forms = solutionModel.getForms(datasource,tablename) for (var i in forms) application.output(forms[i].name) |
|
getGlobalMethod |
|
JSMethod getGlobalMethod (scopeName, name) | |
Gets an existing global method by the specified name.
|
|
Parameters |
|
Returns JSMethod - a JSMethod
|
|
Sample var method = solutionModel.getGlobalMethod('globals', 'nameOfGlobalMethod'); if (method != null) application.output(method.code); |
|
getGlobalMethods |
|
JSMethod[] getGlobalMethods () | |
The list of all global methods.
|
|
Returns JSMethod[] - an array of JSMethod type elements
|
|
Sample var methods = solutionModel.getGlobalMethods('globals'); for (var x in methods) application.output(methods[x].getName()); |
|
getGlobalMethods |
|
JSMethod[] getGlobalMethods (scopeName) | |
The list of all global methods.
|
|
Parameters {String} scopeName - limit to global methods of specified scope name
|
|
Returns JSMethod[] - an array of JSMethod type elements
|
|
Sample var methods = solutionModel.getGlobalMethods('globals'); for (var x in methods) application.output(methods[x].getName()); |
|
getGlobalVariable |
|
JSVariable getGlobalVariable (scopeName, name) | |
Gets an existing global variable by the specified name.
|
|
Parameters |
|
Returns JSVariable - a JSVariable
|
|
Sample var globalVariable = solutionModel.getGlobalVariable('globals', 'globalVariableName'); application.output(globalVariable.name + " has the default value of " + globalVariable.defaultValue); |
|
getGlobalVariables |
|
JSVariable[] getGlobalVariables () | |
Gets an array of all global variables.
|
|
Returns JSVariable[] - an array of JSVariable type elements
|
|
Sample var globalVariables = solutionModel.getGlobalVariables('globals'); for (var i in globalVariables) application.output(globalVariables[i].name + " has the default value of " + globalVariables[i].defaultValue); |
|
getGlobalVariables |
|
JSVariable[] getGlobalVariables (scopeName) | |
Gets an array of all global variables.
|
|
Parameters {String} scopeName - limit to global vars of specified scope name
|
|
Returns JSVariable[] - an array of JSVariable type elements
|
|
Sample var globalVariables = solutionModel.getGlobalVariables('globals'); for (var i in globalVariables) application.output(globalVariables[i].name + " has the default value of " + globalVariables[i].defaultValue); |
|
getMedia |
|
JSMedia getMedia (name) | |
Gets the specified media object; can be assigned to a button/label.
|
|
Parameters {String} name - the specified name of the media object
|
|
Returns JSMedia - a JSMedia element
|
|
Sample var myMedia = solutionModel.getMedia('button01.gif') //now set the imageMedia property of your label or button //myButton.imageMedia = myMedia // OR //myLabel.imageMedia = myMedia |
|
getMediaList |
|
JSMedia[] getMediaList () | |
Gets the list of all media objects.
|
|
Returns JSMedia[] - a list with all the media objects.
|
|
Sample var mediaList = solutionModel.getMediaList(); if (mediaList.length != 0 && mediaList != null) { for (var x in mediaList) { application.output(mediaList[x]); } } |
|
getRelation |
|
JSRelation getRelation (name) | |
Gets an existing relation by the specified name and returns a JSRelation Object.
|
|
Parameters {String} name - the specified name of the relation
|
|
Returns JSRelation - a JSRelation
|
|
Sample var relation = solutionModel.getRelation('name'); application.output("The primary server name is " + relation.primaryServerName); application.output("The primary table name is " + relation.primaryTableName); application.output("The foreign table name is " + relation.foreignTableName); application.output("The relation items are " + relation.getRelationItems()); |
|
getRelations |
|
JSRelation[] getRelations (datasource) | |
Gets an array of all relations; or an array of all global relations if the specified table is NULL.
|
|
Parameters {String} datasource - the specified name of the datasource for the specified table
|
|
Returns JSRelation[] - an array of all relations (all elements in the array are of type JSRelation)
|
|
Sample var relations = solutionModel.getRelations('server_name','table_name'); if (relations.length != 0) for (var i in relations) application.output(relations[i].name); |
|
getRelations |
|
JSRelation[] getRelations (servername, tablename) | |
Gets an array of all relations; or an array of all global relations if the specified table is NULL.
|
|
Parameters |
|
Returns JSRelation[] - an array of all relations (all elements in the array are of type JSRelation)
|
|
Sample var relations = solutionModel.getRelations('server_name','table_name'); if (relations.length != 0) for (var i in relations) application.output(relations[i].name); |
|
getScopeNames |
|
String[] getScopeNames () | |
Gets an array of all scope names used.
|
|
Returns String[] - an array of String scope names
|
|
Sample var scopeNames = solutionModel.getScopeNames(); for (var name in scopeNames) application.output(name); |
|
getStyle |
|
JSStyle getStyle (name) | |
Gets the style specified by the given name.
|
|
Parameters {String} name - the specified name of the style
|
|
Returns JSStyle - a JSStyle
|
|
Sample var style = solutionModel.getStyle('my_existing_style') style.content = 'combobox { color: #0000ff;font: italic 10pt "Verdana";}' |
|
getValueList |
|
JSValueList getValueList (name) | |
Gets an existing valuelist by the specified name and returns a JSValueList Object that can be assigned to a field.
|
|
Parameters {String} name - the specified name of the valuelist
|
|
Returns JSValueList - a JSValueList object
|
|
Sample var myValueList = solutionModel.getValueList('myValueListHere') //now set the valueList property of your field //myField.valuelist = myValueList |
|
getValueLists |
|
JSValueList[] getValueLists () | |
Gets an array of all valuelists for the currently active solution.
|
|
Returns JSValueList[] - an array of JSValueList objects
|
|
Sample var valueLists = solutionModel.getValueLists(); if (valueLists != null && valueLists.length != 0) for (var i in valueLists) application.output(valueLists[i].name); |
|
newForm |
|
JSForm newForm (name, superForm) | |
Creates a new form with the given JSForm as its super form.
|
|
Parameters |
|
Returns JSForm - a new JSForm object
|
|
Sample //creates 2 forms with elements on them; shows the parent form, waits 2 seconds and shows the child form var mySuperForm = solutionModel.newForm('mySuperForm', 'db:/my_server/my_table', null, false, 800, 600); var label1 = mySuperForm.newLabel('LabelName', 20, 20, 120, 30); label1.text = 'DataProvider'; label1.background = 'red'; mySuperForm.newTextField('myDataProvider', 140, 20, 140,20); forms['mySuperForm'].controller.show(); application.sleep(2000); var mySubForm = solutionModel.newForm('mySubForm', mySuperForm); var label2 = mySuperForm.newLabel('SubForm Label', 20, 120, 120, 30); label2.background = 'green'; forms['mySuperForm'].controller.recreateUI(); forms['mySubForm'].controller.show(); |
|
newForm |
|
JSForm newForm (name, dataSource, styleName, show_in_menu, width, height) | |
Creates a new JSForm Object. NOTE: See the JSForm node for more information about form objects that can be added to the new form. |
|
Parameters {String} name - the specified name of the form
{String} dataSource - the specified name of the datasource for the specified table {String} styleName - the specified style {Boolean} show_in_menu - if true show the name of the new form in the menu; or false for not showing {Number} width - the width of the form in pixels {Number} height - the height of the form in pixels |
|
Returns JSForm - a new JSForm object
|
|
Sample var myForm = solutionModel.newForm('newForm', 'db:/my_server/my_table', 'myStyleName', false, 800, 600) //now you can add stuff to the form (under JSForm node) //add a label myForm.newLabel('Name', 20, 20, 120, 30) //add a "normal" text entry field myForm.newTextField('dataProviderNameHere', 140, 20, 140,20) |
|
newForm |
|
JSForm newForm (name, serverName, tableName, styleName, show_in_menu, width, height) | |
Creates a new JSForm Object. NOTE: See the JSForm node for more information about form objects that can be added to the new form. |
|
Parameters {String} name - the specified name of the form
{String} serverName - the specified name of the server for the specified table {String} tableName - the specified name of the table {String} styleName - the specified style {Boolean} show_in_menu - if true show the name of the new form in the menu; or false for not showing {Number} width - the width of the form in pixels {Number} height - the height of the form in pixels |
|
Returns JSForm - a new JSForm object
|
|
Sample var myForm = solutionModel.newForm('newForm', 'my_server', 'my_table', 'myStyleName', false, 800, 600) //With only a datasource: //var myForm = solutionModel.newForm('newForm', datasource, 'myStyleName', false, 800, 600) //now you can add stuff to the form (under JSForm node) //add a label myForm.newLabel('Name', 20, 20, 120, 30) //add a "normal" text entry field myForm.newTextField('dataProviderNameHere', 140, 20, 140,20) |
|
newGlobalMethod |
|
JSMethod newGlobalMethod (scopeName, code) | |
Creates a new global method with the specified code in a scope.
|
|
Parameters |
|
Returns JSMethod - a JSMethod object
|
|
Sample var method = solutionModel.newGlobalMethod('globals', 'function myglobalmethod(){foundset.newRecord()}') |
|
newGlobalVariable |
|
JSVariable newGlobalVariable (scopeName, name, type) | |
Creates a new global variable with the specified name and number type. NOTE: The global variable number type is based on the value assigned from the SolutionModel-JSVariable node; for example: JSVariable.INTEGER. |
|
Parameters |
|
Returns JSVariable - a JSVariable object
|
|
Sample var myGlobalVariable = solutionModel.newGlobalVariable('globals', 'newGlobalVariable', JSVariable.INTEGER); myGlobalVariable.defaultValue = 12; //myGlobalVariable.defaultValue = "{a:'First letter',b:'Second letter'}" // an js object, type must be media. //myGlobalVariable.defaultValue = '"some text"'; // Use two pairs of quotes if you want to assign a String as default value. |
|
newMedia |
|
JSMedia newMedia (name, bytes) | |
Creates a new media object that can be assigned to a label or a button.
|
|
Parameters {String} name - The name of the new media
{byte[]} bytes - The content |
|
Returns JSMedia - a JSMedia object
|
|
Sample var myMedia = solutionModel.newMedia('button01.gif',bytes) //now set the imageMedia property of your label or button //myButton.imageMedia = myMedia // OR //myLabel.imageMedia = myMedia |
|
newRelation |
|
JSRelation newRelation (name, primaryDataSource, foreignDataSource, joinType) | |
Creates a new JSRelation Object with a specified name; includes the primary datasource, foreign datasource and the type of join for the new relation.
|
|
Parameters {String} name - the specified name of the new relation
{String} primaryDataSource - the specified name of the primary datasource {String} foreignDataSource - the specified name of the foreign datasource {Number} joinType - the type of join for the new relation; JSRelation.INNER_JOIN, JSRelation.LEFT_OUTER_JOIN |
|
Returns JSRelation - a JSRelation object
|
|
Sample var rel = solutionModel.newRelation('myRelation', myPrimaryDataSource, myForeignDataSource, JSRelation.INNER_JOIN); application.output(rel.getRelationItems()); |
|
newStyle |
|
JSStyle newStyle (name, content) | |
Creates a new style with the given css content string under the given name. NOTE: Will throw an exception if a style with that name already exists. |
|
Parameters |
|
Returns JSStyle - a JSStyle object
|
|
Sample var form = solutionModel.newForm('myForm','db:/my_server/my_table',null,true,1000,800); if (form.transparent == false) { var style = solutionModel.newStyle('myStyle','form { background-color: yellow; }'); style.text = style.text + 'field { background-color: blue; }'; form.styleName = 'myStyle'; } var field = form.newField('columnTextDataProvider',JSField.TEXT_FIELD,100,100,100,50); forms['myForm'].controller.show(); |
|
newValueList |
|
JSValueList newValueList (name, type) | |
Creates a new valuelist with the specified name and number type.
|
|
Parameters |
|
Returns JSValueList - a JSValueList object
|
|
Sample var vl1 = solutionModel.newValueList("customText",JSValueList.CUSTOM_VALUES); vl1.customValues = "customvalue1\ncustomvalue2"; var vl2 = solutionModel.newValueList("customid",JSValueList.CUSTOM_VALUES); vl2.customValues = "customvalue1|1\ncustomvalue2|2"; var form = solutionModel.newForm("customValueListForm",controller.getDataSource(),null,true,300,300); var combo1 = form.newComboBox("scopes.globals.text",10,10,120,20); combo1.valuelist = vl1; var combo2 = form.newComboBox("scopes.globals.id",10,60,120,20); combo2.valuelist = vl2; |
|
removeForm |
|
Boolean removeForm (name) | |
Removes the specified form during the persistent connected client session. NOTE: Make sure you call history.remove first in your Servoy method (script). |
|
Parameters {String} name - the specified name of the form to remove
|
|
Returns Boolean - true is form has been removed, false if form could not be removed
|
|
Sample //first remove it from the current history, to destroy any active form instance var success = history.removeForm('myForm') //removes the named form from this session, please make sure you called history.remove() first if(success) { solutionModel.removeForm('myForm') } |
|
removeGlobalMethod |
|
Boolean removeGlobalMethod (scopeName, name) | |
Removes the specified global method.
|
|
Parameters |
|
Returns Boolean - true if the removal was successful, false otherwise
|
|
Sample var m1 = solutionModel.newGlobalMethod('globals', 'function myglobalmethod1(){application.output("Global Method 1");}'); var m2 = solutionModel.newGlobalMethod('globals', 'function myglobalmethod2(){application.output("Global Method 2");}'); var success = solutionModel.removeGlobalMethod('globals', 'myglobalmethod1'); if (success == false) application.output('!!! myglobalmethod1 could not be removed !!!'); var list = solutionModel.getGlobalMethods('globals'); for (var i = 0; i < list.length; i++) { application.output(list[i].code); } |
|
removeGlobalVariable |
|
Boolean removeGlobalVariable (scopeName, name) | |
Removes the specified global variable.
|
|
Parameters |
|
Returns Boolean - true if the removal was successful, false otherwise
|
|
Sample var v1 = solutionModel.newGlobalVariable('globals', 'globalVar1', JSVariable.INTEGER); var v2 = solutionModel.newGlobalVariable('globals', 'globalVar2', JSVariable.TEXT); var success = solutionModel.removeGlobalVariable('globals', 'globalVar1'); if (success == false) application.output('!!! globalVar1 could not be removed !!!'); var list = solutionModel.getGlobalVariables('globals'); for (var i = 0; i < list.length; i++) { application.output(list[i].name + '[ ' + list[i].variableType + ']: ' + list[i].variableType); } |
|
removeMedia |
|
Boolean removeMedia (name) | |
Removes the media item specified by name.
|
|
Parameters {String} name - the name of the media item to be removed
|
|
Returns Boolean - true if the removal was successful, false otherwise
|
|
Sample var bytes1 = plugins.file.readFile('D:/Imgs/image1.png'); var image1 = solutionModel.newMedia('image1.png', bytes1); var bytes2 = plugins.file.readFile('D:/Imgs/image2.jpg'); var image2 = solutionModel.newMedia('image2.jpg',bytes2); var bytes3 = plugins.file.readFile('D:/Imgs/image3.jpg'); var image3 = solutionModel.newMedia('image3.jpg',bytes3); var f = solutionModel.newForm("newForm",databaseManager.getDataSource('example_data', 'orders'),null,false,500,350); var l = f.newLabel('', 20, 70, 300, 200); l.imageMedia = image1; l.borderType = solutionModel.createLineBorder(4,'#ff0000'); forms["newForm"].controller.show(); var status = solutionModel.removeMedia('image1.jpg'); if (status) application.output("image1.png has been removed"); else application.output("image1.png has not been removed"); var mediaList = solutionModel.getMediaList(); for (var i = 0; i < mediaList.length; i++) { application.output(mediaList[i].getName() + ":" + mediaList[i].mimeType); } |
|
removeRelation |
|
Boolean removeRelation (name) | |
Removes the relation specified by name.
|
|
Parameters {String} name - the name of the relation to be removed
|
|
Returns Boolean - true if the removal was successful, false otherwise
|
|
Sample var success = solutionModel.removeRelation('myRelation'); if (success) { application.output("Relation has been removed");} else {application.output("Relation could not be removed");} |
|
removeStyle |
|
Boolean removeStyle (name) | |
Removes the specified style.
|
|
Parameters {String} name - the name of the style to be removed
|
|
Returns Boolean - true if the removal was successful, false otherwise
|
|
Sample var s = solutionModel.newStyle("smStyle1",'form { background-color: yellow; }'); var status = solutionModel.removeStyle("smStyle1"); if (status == false) application.output("Could not remove style."); else application.output("Style removed."); |
|
removeValueList |
|
Boolean removeValueList (name) | |
Removes the specified valuelist.
|
|
Parameters {String} name - name of the valuelist to be removed
|
|
Returns Boolean - true if the removal was successful, false otherwise
|
|
Sample var vlName = "customValueList"; var vl = solutionModel.newValueList(vlName,JSValueList.CUSTOM_VALUES); vl.customValues = "customvalue1\ncustomvalue2"; var status = solutionModel.removeValueList(vlName); if (status) application.output("Removal has been done."); else application.output("ValueList not removed."); var vls = solutionModel.getValueLists(); if (vls != null) { for (var i = 0; i < vls.length; i++) { application.output(vls[i]); } application.output(""); } |
|
revertForm |
|
JSForm revertForm (name) | |
Reverts the specified form to the original (blueprint) version of the form; will result in an exception error if the form is not an original form. NOTE: Make sure you call history.remove first in your Servoy method (script) or call form.controller.recreateUI() before the script ends. |
|
Parameters {String} name - the specified name of the form to revert
|
|
Returns JSForm - a JSForm object
|
|
Sample // revert the form to the original solution form, removing any changes done to it through the solution model. var revertedForm = solutionModel.revertForm('myForm') // add a label on a random place. revertedForm.newLabel("MyLabel",Math.random()*100,Math.random()*100,80,20); // make sure that the ui is up to date. forms.myForm.controller.recreateUI(); |
|
wrapMethodWithArguments |
|
JSMethod wrapMethodWithArguments (method, args) | |
Get a JSMethod instance with arguments to be assigned to an event.
|
|
Parameters |
|
Returns JSMethod - a JSMethod
|
|
Sample var str = "John's Bookstore" var form = solutionModel.getForm('orders') var button = form.getButton('abutton') var method = form.getFormMethod('doit') // has 4 arguments: event (fixed), boolean, number and string // string arguments have to be quoted, they are interpreted before the method is called var quotedString = "'"+utils.stringReplace(str, "'", "\\'")+"'" // list all arguments the method has, use nulls for fixed arguments (like event) button.onAction = solutionModel.wrapMethodWithArguments(method, [null, true, 42, quotedString]) |
|