Inspex is an advanced set of native VCL grid controls specifically designed for inspecting objects and other data types in your programs. From the light-weight TIxItemListEditor for editing lists of name-value pairs to the advanced TIxObjectInspector for inspecting all published properties of objects and components, there is an inspector control in the Inspex collection that will meet your needs.
The TIxItemListEditor is a specialised grid control for editing a collection of items using an object inspector style interface. Each item in the collection represents a name with one or more values along with various attributes that describe how the item appears and functions in the grid. Individual items can also manage their own collection of sub-items, thus allowing the creation of a hierarchy with the ability to expand and collapse nested items. The values are edited as strings, but for a given item, the TIxItemListEditor can be configured to provide a drop-down list of strings, or invoke a custom dialog box to be used to edit the string value. In addition, the Strings property provides a simple way of populating the Items collection with name-value pairs, where the name portion may be a dotted path (e.g. Font.Name=Tahoma) to create items and sub-items.
The TIxItemListInspector provides all of the same capabilities as the TIxItemListEditor, but allows the individual items to be customised in more ways. Most importantly, it is possible to associate a type with an item (e.g. string, Integer, TDateTime, etc.). This allows the TIxItemListInspector to enforce type safety when values are edited, and to map property presets to individual items. A property preset is a built-in class that provides additional services for displaying the item and for editing the item. For example, the preset that maps to TDate values automatically supplies necessary formatting and range checking, as well as displaying a calendar to aid in selecting a date. There are several property presets available.
The TIxObjectInspector is essentially a specialised version of the TIxItemListInspector with the ability to scan one or more objects and automatically populate the control's Items collection from the properties of the inspected objects. Property types are also automatically established so that property presets are utilised to enhance the display and editing capabilities of each item. The TIxObjectInspector even predefines a set of common categories which can be used to arrange properties into category groups. The TIxObjectInspector also offers additional services such as the ability to display and edit string list and collection properties directly in the grid, to add calculated properties to the collection, and to control item visibility by setting up filters.
The TIxDBInspector is similar to the TIxObjectInspector, but instead of inspecting objects, this control is designed for inspecting datasets. In its simplest form, the TIxDBInspector is connected to a TDataSource and the control automatically populates the Items collection with the fields from the referenced dataset. Like the TIxItemListInspector, types can then be associated with each item to provide more advanced display and editing behaviors. An item can even reference a separate dataset to provide hierarchical data-access. The TIxDBInspector also supports mixing non-data-aware and data-aware items, filtering and categorising fields, and inspecting multiple records.