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 |
Samplevar 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 |
Samplevar 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 |
Samplevar 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 |
Samplevar 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 |
Samplevar 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 |
Samplevar 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 |
Samplevar 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 |
Samplevar 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 |
Samplevar 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 |
Samplevar 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 |
Samplevar 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 |
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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.
|
Samplevar 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
|
Samplevar 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)
|
Samplevar 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)
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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
|
Samplevar 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]) |