Elevate Software

Login Login


Home  Elevate Software Blog  Elevate Web Builder 2.06 Released

Icon Elevate Web Builder 2.06 Released

Posted by Tim Young on Mon, Apr 10 2017
We are pleased to announce that Elevate Web Builder 2.06 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

Elevate Web Builder 2.06 includes the following breaking changes and enhancements:

2.06 Breaking Changes
The following are breaking changes in 2.06:
  • The auto-sizing functionality in the foundational UI layer has been extended so that it can also handle auto-sizing of parent elements based upon the bounds of child elements. This has also resulted in many modifications to how the existing control interfaces were designed. In 2.05 and prior releases, many controls executed code to perform the auto-sizing of various UI elements in response to size changes, whereas these controls now use a control interface that provides auto-sizing declaratively within the control interface itself. If you have created customized control interfaces, then you will need to merge these changes into your customized control interfaces using a compare/merge tool such as Beyond Compare from Scooter Software:

    Scooter Software, Inc.

  • The layout functionality has changed slightly so that BeginUpdate..EndUpdate blocks suspend layout and measurement locally within a given control/UI element. In contrast, in 2.05 and earlier, BeginUpdate..EndUpdate blocks would only suspend DOM and designer updates until the local update count, and any parent update counts, reached zero. Layout and measurement would be triggered on each update to the state of the control/UI element. This was extremely inefficient and caused way too much code execution for little-to-no benefit. With the new changes, layout and measurement are only triggered once the local update count for a given control/UI element reaches zero. DOM and designer updates are still only triggered once the local update count, and any parent update counts, reach zero. However, this could cause some existing code to break, especially if the code relies on updated control/UI element bounds within the context of a BeginUpdate..EndUpdate block. Fortunately, there are new methods that will allow the code to force a layout/measurement update, even within a BeginUpdate..EndUpdate block:

    TElement ForceUpdate

    TControl ForceUpdate

  • The default control interfaces have been moved to the "default" subdirectory under the "interfaces" subdirectory. This was done to accomodate the fact that the product now ships with a new set of desktop control interfaces (see new features section below).

  • Google has changed the requirements for using the Google Maps API:

    Google Maps Standard Plan Updates

    and the TMap control now includes two new properties to accomodate the new API key requirements: APIKeyRequired and APIKey. If you were using the Google Maps API successfully with your application prior to the new requirements, then your IP address will be grandfathered in and you can set the APIKeyRequired property to False and leave the APIKey property blank.

  • The AutoSize property has been changed from a Boolean property to a TAutoSize class property with independent Width and Height properties.

    Warning Any existing forms can be used without issue going forward, but if you modify any forms and/or control interfaces using 2.06, then these forms and/or control interfaces will not be able to properly load the new AutoSize property with 2.05 and prior versions of Elevate Web Builder.

  • All Icon properties have been consolidated under a new TIconProperties class.

    Warning Any existing forms can be used without issue going forward, but if you modify any forms using 2.06, then these forms will not be able to properly load the new Icon property with 2.05 and prior versions of Elevate Web Builder. Also, the new TIconProperties class contains additional icon Height and Width properties that may need to be adjusted after a form is first used with 2.06 or higher.

  • The TToolBarButton AutoWidth property now defaults to False.

  • The TMessageDialogClient control interface has been combined with the TDialog control interface to create a new TMessageDialog control interface for the TMessageDialog control. The MessageDialogClient control interface is no longer used.

  • The TGridColumn OnHeaderClick event is now a function that returns a Boolean to allow the developer to control whether header clicks are allowed/disallowed.

  • The clElevateFillGray color has been changed so that it is slightly darker.

  • The TGrid control does not automatically add a grid column to the current sort when the grid column's header is clicked. You now need to use a shift-click in order to do so, and the default behavior is to clear the current sort whenever a grid column's header is clicked without the shift key being pressed.
2.06 Improvements
The following are new features and enhancements in 2.06:
  • As mentioned above, the auto-sizing functionality has been improved so that parent UI elements can automatically change their size based upon the bounds of their child elements. This allowed for the elimination of a lot of code in the component library that was dedicated to this type of functionality. Also, as part of this enhancement, the TBasicPanel and TPanel controls now contain an AutoSize property.

  • The drawing performance of the designers in the IDE has been greatly improved.

  • The loading performance of applications at run-time has been improved, largely due to the layout performance improvements noted above in the breaking changes section.

  • The IDE now includes a Find Declaration option on the context menu for the code editor. When the cursor is positioned on an identifier in the code editor, this context menu option will find the identifier's declaration (if possible). In addition, you can hold down the Ctrl key, move the mouse over an identifier in the code editor, and click to initiate the find declaration option. If there are compilation errors in the source code, using this feature may result in an error message appearing in the Messages view in the IDE indicating that the find declaration operation failed.

  • The IDE will now automatically add unit references to the implementation section of the current unit when components residing on different forms/databases are referenced via the Object Inspector.

  • The event management now supports handling composition events for IME (Input Method Editor) for Chinese, Japanese, Korean, and Indic character input so that data-bound controls behave properly with this type of input.

  • There is a new set of control interfaces for desktop usage included with the product. These control interfaces can be found in the "interfaces\desktop" subdirectory under the main installation directory.

    You can see the new desktop control interfaces in this demo application:

    Elevate Web Builder Controls Demo

  • New clElevateHot* colors have been added for the built-in clElevate* Red, Green, Blue, Black, and Orange color variations.

  • Control icons are now managed using the common TIconProperties class. This allows the developer to have more control over the height and width of the icon and consolidates all icon-related properties, including those for font icons, in one location in the Object Inspector. In addition, you can specify rotation animation properties in order to have the icon rotate to show progress.

  • There is a new TDataSetController component that allows the developer to attach to a TDataSet component for the purpose of defining event handlers for capturing when the dataset's current state, row, or sort changes. Previously, the developer would have to manually attach event handlers in code.

  • There is a new THTMLLabel control for displaying arbitray HTML content at run-time.

  • There are new TMenuBar and TMenuBarItem controls for implementing horizontal menus.

  • There is a new SubMenu property for the TMenuItem and TMenuBarItem controls to allow for implementing cascading menus.

  • The TPagePanel control now includes a new OnPageChange event.

  • There are new TDataSet BeforeLoadColumns, AfterLoadColumns, and OnLoadColumnsError events for handling the loading of dataset columns at run-time.

  • There is a new TFormatSettings StartOfWeek property for specifying which day is the first day of the week. The TCalendar and TDateEditComboBox controls use this property when displaying the calendar.

  • There is a new TMultiLineEdit SpellCheck property for enabling or disabling spell-checking at run-time. In addition, the TGridColumn control includes a SpellCheck property that is used when the TGridColumn ControlType property is set to ctMultiLineEdit.

  • There is a new TCanvasPoint class for working with floating-point coordinates instead of integer coordinates.

  • The TAlertLabel control now includes a new AutoHeight property.

  • The TButton control now includes a new AutoWidth property.

  • The TCheckBox control now includes a new AutoWidth property.

  • The TRadioButton control now includes a new AutoWidth property.

  • The TListBox, TEditComboBox, and TButtonComboBox controls now include a new Sorted property. In addition, the TGridColumn control includes an ItemsSorted property that is used when the TGridColumn ControlType property is set to ctEditComboBox.

  • The TEdit, TPasswordEdit, TMultiLineEdit, TEditComboBox, TDateEditComboBox, TDialogEditComboBox, and TButtonComboBox controls now include a new Direction property for controlling the text direction for display/editing. In addition, the TGridColumn control includes an Direction property that is used when the TGridColumn ControlType property is set to ctEdit, ctEditComboBox, ctDateEditComboBox, or ctDialogEditComboBox.

  • The TApplication component now includes a new IsWindowsPhone property.

  • The TViewport component now includes new ScrollTop and ScrollLeft properties for getting and setting the scroll position of the browser window.

  • The TViewport component now includes new OnScroll and OnSize properties for detecting when the browser window scrolls or resizes.

  • The TEdit, TMultiLineEdit, TEditComboBox, TDateEditComboBox, and TDialogEditComboBox controls now include new SelectionStart and SelectionEnd properties for specifying a selection range for the editable text (inherited from the base TEditControl control).

  • The TGridColumn ControlType property now includes a ctHTML member that can be used to indicate that the content of the column should be displayed as HTML. This control type is read-only.

  • The TMapLocation class now includes a new Icon property that allows you to specify a custom icon for the location marker.

  • The TMapLocation class now includes a new OnClick event that will be triggered whenever the location's marker is clicked.

Tags: Elevate Web Builder, New ReleasesPermanent Link

Comments Comments (0) You must be logged in to comment