Editor Hierarchy
- 4 minutes to read
This topic describes the class structure of the editors available for in-place editing in container controls or as standalone controls. All of these editors are derived from the abstract BaseEdit class. Note that this class does not implement any editor-specific functionality for editor painting, responding to user actions, etc. So, if you need to create a custom editor class that has no features in common with any existing editor, you should derive your editor from the BaseEdit class.
Editors derived from the BaseEdit class can be divided into logical groups with respect to their immediate parent. For example, the BaseSpinEdit class is the immediate parent of the SpinEdit and TimeEdit editors. It implements the functionality required to edit values using spin buttons. It is derived from the ButtonEdit class, which enables buttons to be used within editors. The ButtonEdit class is a descendant of the TextEdit class, which enables a box to be displayed for editing text. As you can see, each group of controls has common functionality provided by ancestor classes. Each ancestor brings its own functionality, so that editor functionality is increased as you go down the inheritance tree. This tree is displayed in the image below. Key classes (base classes introducing new functionality used by several editors) are displayed on the left. Their immediate descendants (editors that belong to the same logical editor group) are displayed on the right.
The list below provides a brief description of each editor group:
- Immediate BaseEdit descendants (excluding the TextEdit editor). Each editor in this group has its own functionality, and has no features in common with the other editors.
- The TextEdit class and its immediate descendant MemoEdit editor. These editors display a text box supporting single line or multi-line text editing, respectively. Please refer to the Text Editing Overview topic for details on features specific to these editors and their descendants.
- The ButtonEdit class and its immediate descendant HyperLinkEdit editor. In addition to inherited features, these editors can display editor buttons. Please refer to the Editor Buttons Overview and Editor Button Shortcuts topics for additional information on customizing editor buttons.
- Immediate descendants of the BaseSpinEdit class - the SpinEdit and TimeEdit controls. In addition to inherited features, these editors allow end-users to modify values using spin buttons. Please refer to the Spin Buttons topic for additional information.
- The PopupBaseEdit class descendants. In addition to the inherited features, these editors can display popup windows, and allow you to control their availability, visibility and other aspects of the popup window functionality. Please refer to the Dropdown Editors Overview topic to learn more.
- The BlobBaseEdit class descendants - the ImageEdit and MemoExEdit controls. In addition to the inherited features, these editors provide functionality for editing BLOB data using the editor’s popup window. Please refer to the BLOB Editors topic for additional information.
The LookUpEditBase class descendants implement lookup functionality. These controls are as follows.
LookUpEdit - The editor that provides lookup functionality using a lightweight grid in a drop-down window.
GridLookUpEdit - The editor that provides lookup functionality using a dropdown feature-rich Data Grid (GridControl). You can display lookup records in a tabular format, banded tabular format, or as tiles (which can be arranged in one or multiple columns/rows, rendered as a list or a Kanban board).
SearchLookUpEdit - The editor that provides lookup functionality using a dropdown feature-rich data grid (GridControl), and contains the built-in Find Panel, allowing end-users to quickly filter and locate dropdown records. You can display lookup records in a tabular format, banded tabular format, or as tiles (which can be arranged in one or multiple columns/rows, rendered as a list or a Kanban board).
TreeListLookUpEdit - The editor that provides lookup functionality using a dropdown TreeList control.
For more information on lookup functionality, see the LookUpEdit topic.
- The ComboBoxEdit class and its descendants (ImageComboBoxEdit, MRUEdit and FontEdit). These editors allow end-users to select a value from a drop-down list. Please refer to the Combo Box Editors topic for details.
- The TrackBarControl and its descendants (RangeTrackBarControl and ZoomTrackBarControl) represent track bars - controls that display one thumb or two thumbs that allow an end-user to select a value or a range of values.
- The ProgressBarBaseControl descendants - ProgressBarControl and MarqueeProgressBarControl. These controls are appropriate for indicating lengthy operations.