Product New tabs with macOS Sierra

Merge your windows into tabs on macOS Sierra

Automatically translated from English

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.
Product 4D Write Pro Standard action

Create your own interface for 4D Write Pro

Automatically translated from English

You want to quickly create a menu bar to manage your 4D Write Pro areas? You want to create your own contextual menu for your end-users ? You would like to create a color mosaic to change the document background? So this feature is made for you – and better, you do not even need to write a single line of code…

We added standard actions to handle 4D Write Pro areas. They can be defined at design phase or by programming. More than 80+ actions are available and to name just some of them: Font style (bold, italic, underline), Font color, Background color, Text alignment (left, center, right, justify…), Borders (style, color, width, radius…), Spellchecker actions…

Something important to notice, when assigned to interface objects, standard actions automatically handle the activation/disabling of the object depending on the context. Easy!

Tips Standard action for 4D Styled text

Discover all options to use Standard Actions

Automatically translated from English

Some developers believe that automatic actions are for beginners. However they might have missed a lot of potential we added in the last years. Standard actions, such as First Record or color?value=red, can be assigned to a button in the user interface or by programming. The action can be assigned to a menu item, context menu, or invoked with a command. A benefit is that 4D also automatically handles the menu item or button deactivation whenever the action is not applicable (for instance, as if there is no next record).

And from 4D v16 R3, the list of standard actions is growing: over 100 new standard actions have been added for 4D Write Pro and Styled Text, allowing to build for instance a toolbar without writing a line of code!

Product

Listbox : more programming possibilities!

Automatically translated from English

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.

Tips

Detailed analysis of your database structure

Automatically translated from English

Did you know that you can retrieve very detailed information on a table, field, indexes, relation or even on the complete database structure? This kind of information is always very useful for analysis or introspection purposes. Of course, you could use the 4D Pack deprecated commands: _AP Get field infos and _AP Get table info. Another option is to use the SQL system tables.

None of them allows you to retrieve all information. So why use a plug-in or SQL when you could use a 4D command? The EXPORT STRUCTURE command returns the complete database structure definition in an XML tree. This command exists since 4D v14 R4.

Product

Exchanging messages between processes

Automatically translated from English

4D v15 R5 introduces a new, simple and powerful way to exchange information between processes and also between processes and forms. This feature is based upon an asynchronous messaging system that allows processes and forms to be called and asked to execute methods with parameters in their own context.

Product 4D View Pro: Variable Row Height in Listbox

4D View Pro – Variable Row Height in Listbox

Automatically translated from English

Displaying a list where the line height would exactly fit the content is a very common need. 4D View Pro is including a new feature so that you can now control the height of each row independently in a listbox to make it fit to its content. To know more about 4D View Pro, check out this blog post.

There are actually now two ways to define the row height in a listbox:

  • using new dedicated commands
  • using a new control array
Product Listbox resizing

Listbox – columns AUTO resizing !

Automatically translated from English

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.

Product

New commands to save and restore print settings

Automatically translated from English

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.

Product

Execute action upon listbox column resizing

Automatically translated from English

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!