Thanks to macOS Sierra, applications now have to opportunity to use tabbed windows instead of multiple windows. From 4D v16 R3, 4D Developer Edition 64-bit can take advantage of this Apple’s new feature for the design environment.
The type of windows that can be tabbed are Methods and Form Editors windows. Other windows as explorer or tools for instance remain separate.
As in every application based on tab windows:
- each tab can be moved to a new window by dragging the tab out of the tab bar.
- each tab can be moved to another existing window.
Want to do generic programming using listboxes? So this feature is for you!
With 4D v16 R2, 20+ new listbox properties can be dynamically manipulated by code so 4D Developers now have the full control over the listbox form object! Among a long list: multi-style, wordwrap, single-click edit, truncation mode, column min & max width and much more. The properties apply to the entire list box, its columns, or both.
No more property available only in Design Mode through the Property List: every single property can now be set and get using 2 commands: LISTBOX SET PROPERTY and LISTBOX Get property.
A new step is reached to provide our developers with a fully customizable listbox object, entirely adaptable to user need. A new option is available in the listboxes that will allow to improve final interfaces: this option is called “Hide selection highlight”.
With just one click this option can be activated. Once activated, the system highlight will be completely invisible.
With 4D v16 R2 you can display a graphical horizontal ruler at the top of the 4D Write Pro area ! Thanks to this horizontal ruler, the text can be easily formatted.
Prior to the existence of this graphic ruler, tabulations could only be managed by programming or using the 4D Write Pro interface widget. From now (4D v16 R2 and above), when the ruler is displayed (this is optional) the final user will have the opportunity to manage margins and tabulations easily and graphically.
One common usage of 4D Write was to create documents automatically, such as invoices, reports, orders, based on templates created or designed by the end user.
4D Write Pro v16 will support this usage with the new concept of bookmarks, that can be used to easily build new documents section by section.
Bookmarks can now be created inside 4D Write Pro documents. But what are bookmarks exactly ? A bookmark is a named reference matching a text selection of a 4D Write Pro document.
Several bookmarks can be present inside a single document. Once bookmarks have been created, they can be retrieved as a list of names, then using one of them allows retrieve the range of the corresponding text.
With 4D v16, you can improve your database scalability using the new 4D Write Pro commands in preemptive processes.
If you are doing routines for creating or converting documents programmatically – e.g. invoices … you can now do it with preemptive workers as most 4D Write Pro commands are now thread safe!
4D v16 includes a new feature providing your end-user great freedom and flexibility at the interface level when using list boxes. The constraints defined for each column are now fully applied and respected when the list box they belong to is resized.
This feature allows users to save and restore print settings (even those that cannot be set using 4D Get print option and SET PRINT OPTION commands) quickly and efficiently, whether on Windows or Mac OS in both 32 and 64 bits environments.
Office printers supports a large set of features, duplex, staple, punch, watermark, ink saving, color calibration, just a name some. The new commands BLOB to print settings and Print settings to BLOB supports to save and restore the whole set of information available via printer dialogs, allowing fully automatic (and faceless) print jobs.
The event On Column Resize is now triggered “live” during the resizing of the list boxes as long as the user modifies the column widths (previously, it was generated only once, at the end of the resizing).
Thanks to this feature, 4D programmers will have the opportunity to create live and responsive interfaces based on the actual width of columns!