# Drop Box Control

Drop Box Properties |

When creating or editing a Drop Box control, the Drop Box Properties dialogue (pictured below using the Folder Style version of the NOMADS designer) is displayed.

Dynamic Control Properties

PxPlus 2018 introduces the capability to create dynamic control properties for Drop Box controls when combined with Data Classes. Dynamic data classes are created by selecting the Dynamic check box in Data Class Definitions maintenance. At run time, dynamic control properties are evaluated and automatically populated with values based on what is defined in the data class.

When a data class is entered for the Drop Box control, information from the data class is loaded into the Drop Box properties. If the data class is dynamic, the dynamic control properties are automatically set to Dynamic initially and assigned a %NOMADS'class' variable that corresponds to a data class field (i.e. %NOMADS'class'length).

Drop Box control properties designated as dynamic can be manually switched to dynamic or non-dynamic. A Drop Box control can have a combination of dynamic and non-dynamic control properties only when a data class is entered.

See Dynamic Control Properties for information and examples.

#### Note:
Dynamic control properties are supported in NOMADS and iNomads environments.

Multiple Character Search

Drop Boxes provide a multiple character search capability that makes it easier to search for an exact match in a Drop Box list. To use this capability effectively, the characters must be entered within a ½ second of one another and must exactly match the start of an item in the Drop Box.

Example:

Suppose that a Drop Box contains the following items:

> C10000
> C30000
> C50000

Typing the character "c" followed within ½ second by the number "3" would select the "C30000" item.

#### Note:
In Drop Boxes, searching always starts from the current selection and wraps.

(Multiple character search in Drop Boxes was added in PxPlus 2019.)

Drop Box Properties

This dialogue is divided into the following tabbed panels for viewing and/or changing Drop Box properties: Display, Font/Color, Attributes, Values, Logic, User Aid and Query.

Name | Unique name of the Drop Box control (NOMADS provides a default). Naming conventions for variables apply. Click the Browse Library button to copy parameters from an existing object (via the Library Browse dialogue). #### Note: When a new control name is entered, it will be checked against the Reserved Words list to determine if it is restricted for use as a NOMADS control name. If it is found, a warning message will display. (User Reserved Words Maintenance was added in PxPlus 2020.)
Class | Enter a Data Class to load the information from the data class definition into the control's properties. If using Property Sheets, click the Data Class button and enter a data class in the Data Class Options dialogue. (The Data Class Options dialogue was added in PxPlus 2018.) To enter a data class, use any of the following methods: Click the Query button (binoculars) to select from a list of predefined data classes (if any) for the current control type. Type the name of an existing data class. Only data classes for the current control type are allowed. Create a data class on the fly. Enter a new Class name and respond Yes to the displayed message, which launches Data Class Definitions. If the data class is changed, a message will display prior to overwriting any information. This works similar to using the Reapply Data Class button. If the data class assigned to the control is deleted in Data Class Definitions, the text ** Class not on File ** will display (will be a message box if using Property Sheets). (Dynamic data classes and properties were added in PxPlus 2018.)
(Data Class Maintenance) | Click this button to launch Data Class Definitions for creating or editing a data class. If using Property Sheets, click the Data Class button, then click the Data Class Maintenance button in the Data Class Options dialogue. (The Data Class Options dialogue was added in PxPlus 2018.) (The Data Class Maintenance button was added in PxPlus 2018.)
(Reapply Data Class) | (Available when a data Class is entered) Click this button to update control properties with current information from the selected data class. A message displays before any control properties are overwritten. If using Property Sheets, click the Data Class button and select the Reapply Class check box in the Data Class Options dialogue. (The Data Class Options dialogue was added in PxPlus 2018.) #### Important Note: Care should be taken when using the Reapply Data Class button or changing the data Class entered for the control, as this will overwrite any existing values. If the Dynamic (from Data Class) check box was manually changed on the User Aid and/or Query tabs, clicking the Reapply Data Class button will reselect this check box if the data class entered for the control is dynamic or deselect it if not dynamic. (The Reapply Data Class button was added in PxPlus 2018.)
Dynamic Class | (Display Only) Indicates whether the selected data Class is Dynamic. See Dynamic Control Properties. If using Property Sheets, click the Data Class button to display the Dynamic Class check box in the Data Class Options dialogue. (The Data Class Options dialogue was added in PxPlus 2018.) (The Dynamic Class check box was added in PxPlus 2018.)
Preview | Displays how the visible properties of the control will appear at run time.
Display ( * indicates a Dynamic property)
*List Values | List of values that NOMADS uses to preload the Drop Box. Can be a Fixed value, string Expression or Dynamic). (Dynamic is available only when a data Class is entered.) If a dynamic data class is entered, this property will be automatically set to Dynamic and assigned a %NOMADS'class' variable, which is locked. #### Note: Expressions that come from a data class must be global variables. If the data class is not dynamic, this property can be manually set to Dynamic. See Dynamic Control Properties. (Dynamic data classes and properties were added in PxPlus 2018.)
Position |
Column | Starting column for the top left corner of the control - numeric expression. Format mask is ##0.00. Valid entries are 0 to 620.
Line | Starting line for the top left corner of the control - numeric expression. Format mask is ##0.00. Valid entries are 0 to 255.
(Support for increased Column and Line maximums was added in PxPlus 2021.)
Size |
Width | Width of the control in number of columns - numeric expression. Format mask is ##0.00. Valid entries are 0 to 620.
Height | Height of the control in number of lines - numeric expression. Format mask is ##0.00. Valid entries are 0 to 255.
#### Note: If a data class is entered and the Drop Box Width/Height values in the data class are subsequently changed, the size of the Drop Box will not change when the Reapply Data Class button is selected. (This functionality was added in PxPlus 2018.) (Support for increased Width and Height maximums was added in PxPlus 2021.)
Attributes | Optional attributes for Tab Stop, Variable Input, Initially Disabled and Initially Hidden. See Attributes.
*Input Length | (Applicable when Allow Variable Input check box is selected) Maximum input characters. Can be a Fixed value, numeric Expression or Dynamic. (Dynamic is available only when a data Class is entered.) If a dynamic data class is entered, this property will be automatically set to Dynamic and assigned a %NOMADS'class' variable, which is locked. #### Note: Expressions that come from a data class must be global variables. If the data class is not dynamic, this property can be manually set to Dynamic. See Dynamic Control Properties. (Dynamic data classes and properties were added in PxPlus 2018.)
Font/Color ( * indicates a Dynamic property)
Font Specification |
Font Size | Click the drop-down arrow for a list of selections.
Color |
Foreground Background | Click the Query button to access Color Selections. Valid formats for color selections include predefined system colors (e.g. Light Red), Custom (RGB codes), HTML Hex Color Codes, User Defined colors (e.g. Color17) and string Expressions.
(The Color Selections Query button and dialog were added in PxPlus 2020.)
Attributes | Optional attributes. See Attributes.
*Visual Class | Assign a visual class to the control. Can be Fixed, Expression or Dynamic. (Dynamic is available only when a data Class is entered.) Click the Visual Class Maintenance button to launch the Visual Classes Maintenance utility for creating or editing visual classes. To assign visual classes to controls at the library level, see Visual Class Assignment. If a dynamic data class is entered, this property will be automatically set to Dynamic and assigned a %NOMADS'class' variable, which is locked. #### Note: Expressions that come from a data class must be global variables. If the data class is not dynamic, this property can be manually set to Dynamic. See Dynamic Control Properties. #### Note: Visual class names that begin with an "*" (asterisk) are pre-defined visual classes used by PVX Plus and may be subject to change without notice. (Dynamic data classes and properties were added in PxPlus 2018.) (The Visual Class Maintenance button was added in PxPlus 2019.)
*iNomads Class | Assign an iNomads class to the control. Can be Fixed, Expression or Dynamic. (Dynamic is available only when a data Class is entered.) If a dynamic data class is entered, this property will be automatically set to Dynamic and assigned a %NOMADS'class' variable, which is locked. #### Note: Expressions that come from a data class must be global variables. If the data class is not dynamic, this property can be manually set to Dynamic. See Dynamic Control Properties. The iNomads class contains class attribute references used when defining the control in the HTML code generated in iNomads. An iNomads class reference must start with an alpha character (A-Z or a-z), followed by any combination of A-Z, a-z, 0-9, underscore or dash. Multiple references may be entered, separated by a space. For a list of pre-defined iNomads classes, see iNomads Classes. (Dynamic data classes and properties were added in PxPlus 2018.)
Attributes ( * indicates a Dynamic property)
Attributes |
Tab Stop | Adds the control to the tab order list. Allows use of the Tab key for moving to the control.
Auto Tab Skip | Control is skipped when tabbing forward but is still accessible via Shift - Tab or the mouse.
Borderless | The control is drawn with no border or frame.
Disable On Empty | The system automatically disables the Drop Box when it contains no entries. When populated, the Drop Box is re-enabled. Overridden when the 'Enabled property is turned Off. Default is Off.
Initially Disabled | Control region is grayed out and is not accessible to the user for input. The control is accessible programmatically.
Initially Hidden | Control is not displayed but is accessible programmatically.
Enable Scrolling | Allows the control to scroll in a resizable/scrollable dialogue box. See Panel Resizing.
Signal On Exit | A signal is generated when focus leaves the control whether the selection or value has changed or not. NOMADS will execute the On Change logic.
Automatic (Signal All Changes) | A signal is returned on any changes in the control.
Strip Trailing Spaces | Strips trailing spaces when reading/writing data for control.
Ignore Change Flag | Select this check box when you do not want the NOMADS CHANGE_FLG variable to be updated when the control value is changed.
(The Ignore Change Flag property was added in PxPlus 2017.)
DropBox Attributes |
Allow Variable Input | Enables the user to select any element from the list or enter any other value. See Variable Drop Box.
Load Options |
Smart Load (formerly Auto Load) | Select this button to set up a Smart control that will self-load based on a query definition. See Smart Controls.
Background Loading | Load logic to execute while there is no user input. Select Background Loading and then click the Logic button to add/edit logic. See Background Loading.
#### Note: Smart controls are not compatible with Background Loading logic. (Support for enhanced Smart Load capability was added in PxPlus 2018.)
Other |
Alt-Key | Hot key for the control. Click the drop-down arrow for a list of selections.
*User Tag Field | For controls, data/tag field that can be used to pass information on such things as formatting, error messages or validation rules. Can be Fixed, Expression or Dynamic. (Dynamic is available only when a data Class is entered.) Field contents are placed in a variable using the control name with a .TAG$ extension. If a dynamic data class is entered, this property will be automatically set to Dynamic and assigned a %NOMADS'class' variable, which is locked. #### Note: Expressions that come from a data class must be global variables. If the data class is not dynamic, this property can be manually set to Dynamic. See Dynamic Control Properties.
Object Persistence | Sets Object Persistence. Click the drop-down arrow for a list of selections:
Default | Set via global variable
Always | On, overriding global activation
Never | Off, overriding global activation
(Dynamic data classes and properties were added in PxPlus 2018.)
Values ( * indicates a Dynamic property)
*Default Setting | Initial value to be highlighted when the Drop Box is drawn. Can be a Fixed value or string Expression. If a dynamic data class is entered, this property will be automatically set to Dynamic and assigned a %NOMADS'class' variable, which is locked. See Dynamic Control Properties. If the List Values drop box (on Display tab) is set to Dynamic, the Default Setting property will be set to Dynamic and locked. (Dynamic data classes and properties were added in PxPlus 2018.)
*Translation | Click the Translate check box to set up a table of values representing Drop Box selections. Definition consists of a Table Value Length (length of each of the items in the table) and the Translation value (Fixed or string Expression). If a dynamic data class is entered, this property will be automatically set to Dynamic and assigned a %NOMADS'class' variable, which is locked. See Dynamic Control Properties. If the dynamic data class was defined with Load From File functionality, the Table Value Length will be set to 0 and locked. If the List Values drop box (on Display tab) is set to Dynamic, the Translation properties and values will be locked. (Dynamic data classes and properties were added in PxPlus 2018.) (The setting of Table Value Length to 0 when entering a dynamic data class with Load From File functionality was added in PxPlus 2021.)
Logic
Default Program | Displays the name of the Default Program used in the Panel Header definition. (The Default Program was added for display in PxPlus 2019.)
Post Create | Logic to be processed after the control is drawn. Click the drop-down arrow for a list of selections. See Events Logic. Click the Program Logic button beside the Perform or Call action to launch the default program editor, which is typically the *IT - Integrated Toolkit. To make Ed+ the default program editor, change the setting for the %NOMADS'Program_Editor property to Ed+. (The ability to set Ed+ as the default program editor was added in PxPlus 2023.)
When Receiving Focus | Logic to execute when the control receives focus. Click the drop-down arrow for a list of selections. See Events Logic. Click the Program Logic button beside the Perform or Call action to launch the default program editor, which is typically the *IT - Integrated Toolkit. To make Ed+ the default program editor, change the setting for the %NOMADS'Program_Editor property to Ed+. (The ability to set Ed+ as the default program editor was added in PxPlus 2023.)
When Entry is Selected from List Box | Logic to be executed when focus leaves the control or the state of the control has changed. Click the drop-down arrow for a list of selections. See Events Logic. Click the Program Logic button beside the Perform or Call action to launch the default program editor, which is typically the *IT - Integrated Toolkit. To make Ed+ the default program editor, change the setting for the %NOMADS'Program_Editor property to Ed+. (The ability to set Ed+ as the default program editor was added in PxPlus 2023.)
User Aid ( * indicates a Dynamic property)
Dynamic (from Data Class) | (Available when a data Class is entered) If selected, identifies which Help Reference properties are dynamic. If a dynamic data class is entered, this check box is automatically selected. If the data class is not dynamic, this check box can be manually selected. #### Note: If the Dynamic (from Data Class) check box was manually changed on the User Aid and/or Query tabs, clicking the Reapply Data Class button will reselect this check box if the data class entered for the control is dynamic or deselect it if not dynamic. (Dynamic data classes and properties were added in PxPlus 2018.)
*Help Reference | Help text to be invoked at run time by pressing Shift - F1 while focus is on a control.
Type | Select from External or Internal help types:
External | (Default) Standard Windows help system consisting of a help File Name (.html, .hlp, .doc, etc.) and an optional Keyword or Reference number (Fixed value or string Expression).
Internal | Application supplied message text (Fixed value, string Expression or Message Library Reference).
File Name | Name of the help file.
Keyword | Indicates that the text in the adjacent field is the index entry for the topic in the indicated help file.
Reference | Indicates that the adjacent field contains the reference number for a specific topic in the context sensitive help.
Popup | Select this check box to display the help topic as a popup rather than as an independent window.
Test | Tests the current help settings.
If the Dynamic (from Data Class) check box is selected, the Help Reference properties will be dynamic and locked. See Dynamic Control Properties. (Dynamic data classes and properties were added in PxPlus 2018.)
*Floating Tip | Mouse pointer message for the control. Can be a Fixed value, string Expression, Message Library Reference or Dynamic. (Dynamic is available only when a data Class is entered.) If a dynamic data class is entered, this property will be automatically set to Dynamic and assigned a %NOMADS'class' variable, which is locked. #### Note: Expressions that come from a data class must be global variables. If the data class is not dynamic, this property can be manually set to Dynamic. See Dynamic Control Properties. You can customize the floating tip by adding a tip title, descriptive tip text and a hyperlink. These features enhance the visual display and functionality of the tip by providing users with much needed information at their fingertips. You can define either a Standard tip or an HTML tip that provides a simplified HTML Editor for customizing the tip text. To do this, click the button to the right of the Floating Tip multi-line input to invoke the Define Info Tip dialogue. See Defining an Info Tip. #### Note: The Floating Tip drop box and multi-line input cannot be changed once an HTML tip has been defined. NOMADS Wiki Help The floating tip text can be used when displaying the Wiki Help. Info tips, however, are not supported and will be ignored. (Support for customizing Floating Tips was added in PxPlus 2016.) (Dynamic data classes and properties were added in PxPlus 2018.) (Support for the use of Floating Tip text in the Wiki Help was added in PxPlus 2023.)
*Message Bar | Text to be displayed in the panel's status bar when focus is on the control. Can be a Fixed value, string Expression, Message Library Reference or Dynamic. (Dynamic is available only when a data Class is entered.) If a dynamic data class is entered, this property will be automatically set to Dynamic and assigned a %NOMADS'class' variable, which is locked. #### Note: Expressions that come from a data class must be global variables. If the data class is not dynamic, this property can be manually set to Dynamic. See Dynamic Control Properties. (Dynamic data classes and properties were added in PxPlus 2018.)
Query ( * indicates a Dynamic property)
Dynamic (from Data Class) | (Available when a data Class is entered) If selected, identifies which Query Type and its associated properties are dynamic. If a dynamic data class is entered, this check box is automatically selected. If the data class is not dynamic, this check box can be manually selected. #### Note: If the Dynamic (from Data Class) check box was manually changed on the User Aid and/or Query tabs, clicking the Reapply Data Class button will reselect this check box if the data class entered for the control is dynamic or deselect it if not dynamic. (Dynamic data classes and properties were added in PxPlus 2018.)
*Query Type | Type of query to associate to the control: Panel, Query Program, Non-Query Logic. Valid formats include a NOMADS query object or query list, a custom query panel, or user-supplied query program. Depending on the Query Type selected, different information is entered. For an explanation of each type and the information to enter, see Query Type. For information on assigning a query to a control, see Assigning a Query. If setting up the Drop Box as a Smart control (see Smart Load attribute), you can define a query for the Smart control. See Defining Smart Controls. If the Dynamic (from Data Class) check box is selected, the Query Type and its associated properties will be dynamic and locked. See Dynamic Control Properties. (Dynamic data classes and properties were added in PxPlus 2018.)
Security | Security restrictions. See Restricting Access for information on Object Security Definition.
Groups | Assign the control to a group. See Group Assignment.
Popup Menu | Associate a popup menu that will appear when you right-click the mouse over the selected control. See Popup Menu.
Notes | Add notes/comments for the control. Maximum 1024 characters. These notes also display in the Wiki Help documentation for the panel. See NOMADS Wiki Help. (The Notes button was added in PxPlus 2023.)

## See Also

DROP_BOX Properties
DROP_BOX Directive