VCL UI Controls — June 2024 Roadmap (v24.1)

VCL Team Blog
14 February 2024

The following list outlines features/capabilities we expect to ship for VCL UI Components for Delphi & C++Builder (expected release date: June 2024). We will outline plans for our second major release of this year (expected release date: Dec 2024) in July.

Before I detail our VCL Roadmap...if you have not yet done so, please take a moment to review What's New in v23.2 (our last major VCL update) and submit feedback using the related survey. Your survey responses (both in the What's New and in Roadmap posts such as this) help us better understand your needs/concerns and allows us to make more informed development decisions. As always, thanks to everyone who has already submitted feedback/suggestions.

The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This blog post and the features/products listed within it are subject to change. You should not rely or use this information to help make a purchase decision about Developer Express Inc products.

VCL Accessibility Enhancements and Keyboard Support

In our next major update (v24.1), we expect to introduce the following accessibility-related enhancements for key unsupported components:
  • Data grid (key navigation and "read-only" scenarios, likely without data editing and other complex interactions in the first release) 
  • Popular data editors (key scenarios in both in-place and standalone editors)
  • Form layout manager (including layout groups, tabs, etc.)
  • Navigation and menu (key scenarios in both Ribbon and standard toolbars)
More information on accessibility will be forthcoming as we get closer to our mid-year release. This work will likely continue throughout 2024, and include our VCL TreeList, Scheduler, Pivot Grid, and other data editors/data-aware controls.

New Theme - Windows 11 (WXI) Compact

In our v23.2 development cycle (from June to December 2023), we addressed over 100 issues within our products and showcase demos. A number of these issues related to the DevExpress WXI Skin/SVG support/High DPI layouts. Our focus on these issues was driven - in part - by the introduction of our WXI Compact Skin this year.

In our next major update (v24.1), we will ship our WXI Compact Skin - a clone of the WXI skin with smaller paddings and margins, which many of you were used to from traditional DevExpress VCL skins such as Bezier, Office, etc.

Enhanced Design-Time High DPI Resolution Support 

Layout and Image Modifications in Design-Time Wizards, Designers, and Dialogs

As you know, we worked hard to improve runtime High DPI resolution support in 2023. High DPI support is crucial and we want to set the highest standards in this regard (in terms of developer usability and speed). Thanks to great feedback in recent surveys and through Support Center tickets, we recognize that this area continues to be important to our customers.  

In v24.1, we will continue to enhance the design-time experience and focus on High DPI resolution support (thanks to new capabilities unlocked in recent versions of RAD Studio). From an implementation perspective, this includes numerous layout and `raster to vector` image adjustments in our wizards, designers, and dialogs. As you might imagine, IDE limitations drive some of our decisions/priorities. This notwithstanding, we will prioritize the most important design-time scenarios in our upcoming release. 

Easier SVG Assignment for Image Lists at Design-Time

In v24.1, the DevExpress VCL Ribbon (and other UI controls) will allow you to use a single image list for large and small SVG icons. You can just specify a small SVG icon and we will scale it up automatically (for instance, in places where the control needs a large icon in the Ribbon). This will improve overall usability and should reduce time spent/maintenance in half. Please cast your vote in the survey at the end of this post to share your implementation preferences, because we have multiple strategies to choose from/select.

Simplified Application-Wide Skin, Palette and Other Design Time Settings

In v24.1, the dialog will display vector skins at the top. Raster skins will be displayed in a separate category and disabled by default. You can also select a default palette name and skin using a single mouse click in the list (WXI is enabled by default) – you no longer need to set multiple properties in the Object Inspector. 
Conceptually, this dialog will be similar to the Project Settings page in our WinForms product line. Settings in this dialog will also be applied to all forms within your app, including skin and palette selector components.

VCL Ribbon Control: Office 365 Style 

Our VCL Ribbon Control will ship with a new Office 365 rendering style in June. When our new Office 365 style is used, the Ribbon control will display a Search box at the top of the Ribbon form and Show Ribbon options on the bottom right of the Ribbon UI.

Office 365 Style in WinForms Ribbon UI, DevExpress

You can use the following API to enable new UI enhancements in other Ribbon styles:

  • OptionsExpandCollapseMenu - Gets availability and behavior settings for the "Show Ribbon" popup menu.
  • ExpandCollapseMenuShowing - Allows you to customize the "Show Ribbon" menu or prevent it from being displayed (based on a specific condition).
  • SearchItemPosition - Specifies the position of the Search box.

Data-Aware Controls: Accent-Insensitive Operation Support

With v24.1, you will be able to configure how various diacritic glyphs in letters (umlauts, grave, acute, and other accents) are treated. For instance, if you type "Joao" in a search box, Data Grid filtering results will include data records with both “João” and “Joao”. For more information, let me quote Wikipedia:

diacritic (also diacritical markdiacritical pointdiacritical sign, or accent) is a glyph added to a letter or to a basic glyph. The term derives from the Ancient Greek διακριτικός (diakritikós, "distinguishing"), from διακρίνω (diakrī́nō, "to distinguish"). The word diacritic is a noun, though it is sometimes used in an attributive sense, whereas diacritical is only an adjective. Some diacritics, such as the acute ⟨á⟩, grave ⟨à⟩, and circumflex ⟨â⟩ (all shown above an 'a'), are often called accents. Diacritics may appear above or below a letter or in some other position such as within the letter or between two letters.

Impacted text-comparison operations and control features include:

  • Sorting
  • Grouping
  • Incremental search
  • Auto-filter row
  • Find panel
  • etc.

 This behavior will expand to the following controls:

  • Navigation control
  • Ribbon and standard toolbars
  • Lookup editors
  • Data grid
  • Pivot grid
  • Tree list
  • Other data-bound controls (powered by our Data Controller).

You will be able to turn off accent-insenstive operations using a set of global Boolean flags at the TcxCustomDataController.Options level: IgnoreDiacritics, IgnoreDiacriticsInSearchFilter, IgnoreDiacriticsInSortGroup, etc. By default, we want to ignore accents regardless of the current application culture (even if the language does not contain accents). This is especially helpful in apps used in global organizations where users are from different countries and data (like names of employees or goods) can be in different languages.

Field Name-Based Expressions for Data-Bound Controls

With v24.1, you can use {FieldName} in formulas/expressions to refer to a field by underlying name instead of a display name. Previously, you could only use a display name/caption or an index. This capability will help you create formulas for unbound grid columns, conditional formatting rules.

This is helpful in VCL apps that support multiple languages or other scenarios where you cannot rely on a field caption (due to its dynamic nature such as translation to another language).

Chart Control - New Features

As you probably know, we released our VCL Chart control in our v23.1 release cycle. We also introduced numerous cool features in our v23.2 release.

To maintain momentum, we expect to ship the following VCL chart-related enhancements in v24.1+:

As you would expect, we will also publish Chart-related help topics https://docs.devexpress.com/VCL/ and add new Chart-specific modules to our VCL Demo Center.

EXIF Metadata Support in Image Controls

In v24.1, our image controls (TcxImage and TcxDbImage) will read and interpret EXIF metadata from images and modify the image display accordingly. For instance, our image controls will automatically rotate the image based on orientation metadata (unlike the standard TImage control and some image viewers). Impacted image-based scenarios (where rotation will take place) include:
  • Data Grid cells
  • TreeList cells
  • Pivot Grid cells
  • Vertical and Property Grid cells

Previously, this required a complex custom solution with a manual call of the Rotate method.

Editing Operations (Rotate, Crop, Flip, etc.) in Image Controls

In our next major update (v24.1), you'll be able to invoke the Image Editor dialog for TcxImage and TcxDbImage components using the Edit context menu command. Our design-time Image Picker dialog will include the new Edit command as well. The Edit command will unlock basic image editing operations:
  • Crop and straighten
  • Adjust brightness, contrast and saturation
  • Mirror
  • Rotate
  • etc.
The Image Editor maintains operation history and offers both undo and redo functionality. Once the editor is closed and changes are saved, modifications cannot be undone.

Your Feedback Matters

Just another reminder that our v24.1 Roadmap and What's New in v23.2 survey give you the opportunity to communicate your needs/concerns and allow us to make more informed development decisions.

Thanks,
Dennis Garavsky

Principal Product Manager
dennis@devexpress.com

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.