Behavior management Foundation
Some classes in the Xbase++ runtime support enabling or disabling specific features via a method :setBehavior(). This method can be used to alter specific behavior so that it confirms to a specific build level. This may be required for ensuring compatibility when using newer versions of the runtime with existing code.
The following paragraph lists the classes and the corresponding feature sets which can be controlled via the :setBehavior() method. A feature may be configured either on the class or on the instance-level. See the "Scope" column to find out whether a given feature can be changed for all or for a single instance. The "Build number" column lists the build which must be specified to :setBehavior() in order to activate a certain behavior. To activate the default behavior, use the value 0 or the constant XBP_BEHAVIOR_DEFAULT, which is defined in the include file xbp.ch.
// Example: switch back all XbpBrowse instances to Xbase++ 1.9-compatible behavior
XbpBrowse():setBehavior( 355 )
// Existing and future XbpBrowse instances use compatible behavior
...
Feature set | Scope | Build number | Behavior description |
---|---|---|---|
:cursorMode | Class | 0 | Default: Instances use a row cursor (XBPBRW_CURSOR_ROW) |
Class | 355 | Instances use a cell cursor as in Xbase++ 1.9 (XBPBRW_CURSOR_CELL) | |
:navigationMode | Class | 0 | Default: Instances use navigation comparable to Windows Explorer (XBPBRW_NAVIGATION_SYSTEM) |
Class | 355 | Scrolling/panning operations move the browse cursor as in Xbase++ 1.9 (XBPBRW_NAVIGATION_1XCOMPATIBLE) | |
Hide/show columns | Class | 0 | Default: :show(), :hide() in XbpColumn class control visibility and trigger column reordering in the browse |
Class | 2282 | :show(), :hide() in XbpColumn class only control column visibility |
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.