Skip to main content

Using Smart Controls Outside of NOMADS

Smart controls are designed to work within the confines of NOMADS. It is possible, however, to invoke the auto-load logic for Smart List Box, Drop Box and Grid controls programmatically. To load the Smart control, make a CALL to the program *winlist as follows:

CALL "*winlist", q_name$, q_library$, smartlist.ctl [,var_iol$, var_rec$]

Where:

q_name$

Name of the query object definition to be used.

q_library$

Name of the library in which the query object definition is located. If null, default is the currently open library.

smartlist.ctl

CTL value of the list box to be loaded.

var_iol$

(Optional) Compiled IOList of variables to be passed to the Load logic.

var_rec$

(Optional) Values of variables in the IOList derived by REC(var_iol$ ).

A native chart can also be auto-loaded by making a CALL to the program *TOOLS/CHARTIMAGE:

CALL "*tools/chartimage", ERR=stmtref, query$, library$, chart$, control, [,controlSettings, var_iol$, var_rec$]

query$

Name of the query which owns the chart.

library$

Path of the library where the query definition resides.

chart$

Name given to the AutoChart definition associated with the query. (Must be a public definition)

control

CTL value of the chart control to be loaded.

controlSettings

Values are:

   0 - Use chart format/titles from the Query+ AutoChart definition
   1 - Use chart format/titles from the control definition

var_iol$

(Optional) Compiled IOList of variables to be passed to the Load logic. (added in PxPlus 2019 Update 1)

var_rec$

(Optional) Values of variables in the IOList derived by REC(var_iol$). (added in PxPlus 2019 Update 1)

stmtref

Error transfer.

Plus charts may also be auto-loaded. To do this, instantiate the *OBJ/CHART object and load it using the CALL to *tools/chartimage. Once loaded, use the Draw( ) method to display the chart. When done, drop the chart object:

oChart=new("*obj/chart")
call "*tools/chartimage","Salesqry","query.en","Sales by Class",oChart,0
oChart'Draw(0,5,5,40,15)

drop object oChart

(The *tools/chartimage program was added in PxPlus 2019.)