Frequently Asked Questions |
Question What is the identifier for the Generic controls? Answer Use: *<APPLICATION>*LIBRARIAN*<Control Class> For example: *ESITEST*LIBRARIAN*Button Question How do I set/change controls on Controls For Style Sheet? Answer Use: *<APPLICATION>*StyleSheet Class*<Control Class> For example: *ESITEST*Lookup Window*Button Question Are there known limitations? Answer In principal, the limitations are the same as for using the Windows Designer. For example: •You cannot create a class with the same name as an already existing class. •You cannot insert a class as a control in itself or in one of its superclasses. Question How do I insert a list of values as ONE parameter (e.g. when I need new lines in a Related Menu list)? Answer Use: esi-set-attribute(<id>,<prop1>,~,<val 1>,<val 2>,~) Where tildes (~) mark the beginning and end of the list. For example: esi-set-attribute(*APP*Departments.XtNrelatedWindowsForMenu,~, Employees of Department,Projects of Department,~)
Question How do I know what the allowed values for properties are? Answer See "Allowed Property Values vs Internal Resource Values" for a list of the values to use. Question How do I reset a property value? Answer You cannot. The ESI action interface has not been designed for interactive designing, but for generation in batch mode. Objects must receive the desired property values in one go. However, you can achieve the same result by deleting a class, and then regenerating it. If you plan to do this often, do not make subclasses, or be prepared to regenerate them as well. Question How do I empty a property value? Answer See "Empty Strings" in the Notes section. Question How do I insert columns into a dialog? Answer The object model of dialogs is almost identical to that of tables, except for the fact that the query object is called Variables. Question How do I insert non-database columns into an Info Box? Answer Same as for inserting columns into a dialog (see above). Question How do I set application properties? Answer Just like any other property. For example, use the following context identifiers: *MY_APPLICATION.integrity *MY_APPLICATION.dictionary
Question How do I set the Window properties of a window or dialog? Answer Just like any other property. The window is a child of the Info Box class in the object model, and has to be registered with esi-add-component(). The class name is "Definition Shell" and the name is "ESI Shell". Question How do I change the label of a subtype indicator column? Answer Changing the label of a subtype indicator column is different from changing that of an ordinary column. The label of a subtype-indicator column is a child of esd_check.data !! So, instead of: esi-set-attribute(*MYAPP*myclass.query.mycolumn.esd_char.label, XtNlabel, "old label") Use: esi-set-attribute(*MYAPP*myclass.query.mycolumn.esd_check.data, XtNlabel, "new label") Note: It is actually another label that you are setting. The subtype indicator column's property is there, but it is (normally) hidden. You can change it if you change the prompt instead of the label. If you do not set the label's label property, it will get the column's prompt property as its default. |