Bulk Editor
The Bulk Editor is designed to display and edit the properties of a multiple UBIK® objects. Technically, it reads the MetaProperty definition of each Instance of the context object (directly from the context object if it is of type MetaClass, otherwise it gets the MetaClass of the context object and reads the definition from its instances.
Bulk Editor | |
---|---|
Bulk Editor control | |
Name | Bulk Editor |
Internal Name | CtrlBulkEditor |
Purpose | Display and edit multiple objects |
Context object | MetaClass |
Version | 2+ |
Contents
Basics
Appearance
Rows and columns
The control reads the the current context object and displays a row for each instance of it and a column for each found property, its appearance depending on the respective data type of the MetaProperty. The following data types and thus different columns and editing controls are currently supported:
Data type | Example | Comment |
---|---|---|
Bool | True or false to be read/set via a Checkbox | |
ByteStream | - | Internal type, will not result in a column |
DateTime | Date and time in a combined value; format according to regional settings; a double click opens a dialog to pick a date from a calendar | |
Double | - | Double-precision floating-point format, optionally with unit of measurement |
FileReference | A path to a physical file in DOS/Windows- or UNC notation; a double click opens a dialog to pick a file from the file system | |
GeoData | Absolute geographic position combined of Longitude, Latitude and Altitude in WGS84 format; a double click opens a dialog to enter the values separately | |
Guid | Pointer to another object, represented with the GUID of the target object | |
Reference | Pointer to another object via a reference; a double click opens a picker to select the target object | |
Int | - | An integer number |
String | - | A string value |
Undefined | - | Internal type, will not result in a column |
XML | - | Markup text in XML format; currently displayed as raw string by this control |
Selective lists
If a certain property has a selective list defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.
Index values
If a certain property has index values defined, the respective column will be colored LightSalmon and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own LightYellow column for each index value.
A multilanguage MetaProperty is actually a string property with index values defined for each system language! |
Captions
- each column shows the string representation of the respective MetaProperty as its header text
- the first column of each row is always titled _RowObject and shows the string representation of the corresponding instance
Tooltips
There are two kinds of Tooltips used in this control:
- when hovering over the header of column, a Tooltip will show the type of the column
- when hovering over a cell which's text is deprecated, a Tooltip will show the full text
Editing
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the rules and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective UBIK® object have a valid value.
Drag & Drop
The Object Editor control is a source and a target for Drag&Drop operations:
- Any object can be dropped on a cell if the dragged object matches the data type of the respective property
- A single instance object can be dragged from the Bulk Edito by dragging the header of the row
- Objects stored in a cell can be dragged using the right mouse button
Toolbar
The Bulk Editor features a Toolbar with the following items from left to right:
Item | Purpose |
---|---|
View Style | Indicates or changes the View Style of the control; changing it will result in reloading of the control |
Navigate to context object | Attempts to navigate to the current context object |
Save | Saves all instances currently shown in the control |
Filter namespace | Filters all current instances by the Namespace of the set context object |
Select columns | Opens a sub menu with all displayed columns and allows to show/hide them explicitly |
Expand/Collapse index columns | Allows to show or hide the index columns if the currently selected column has index values |
No functionality yet | |
Cut | Cuts the value of the current cell into the clipboard |
Copy | Copies the value of the current cell into the clipboard |
Paste | Pastes the value from the clipboard into the current cell |
Move to first object | Selects the first row |
Move to previous object | Selects the previous row |
Current object | Shows or sets the current row; enter a value and press ↵ Enter to select a specific row |
Move to next object | Selects the next row |
Move to last object | Selects the last row |
Delete | Allows to delete all selected rows |
Right clicking on a cell that stores a UBIK® object will bring up the standard Navigation context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.
View Styles
The Object Editor has only one view style at the moment.