Here are 2 very common developer needs: 1. Depending on the user criteria, you want to rearrange the objects in the form. – 2. Depending on the selected item in a list, you want to show, hide or move the objects in the form.
In all theses cases, you need to change the tab order of the form objects. Now in 4D v16 R4, you can modify the tab order at runtime by programming. To do so, 2 new commands have been created: FORM SET ENTRY ORDER and FORM GET ENTRY ORDER.
From 4D v16 R4, we have added the support of pictures in object attributes. For example, if you use an object to exchange settings or data between methods, forms or processes, now, you can also pass an icon or a picture in this object. You don’t need anymore to temporarily save the picture on disk.
This new type can be used like any other object attribute type: you can use, get and set pictures in objects. You can also use the controls of the picture theme.
We use more and more the JSON format. For example, to save settings in a file, to store software configuration, or to exchange client-data on the web with other servers.
How can you validate that the received data is in the expected format? How can you validate that all the necessary information is actually present? How can you do this validation without writing a tiresome method for each type of JSON format?
Simply by writing a JSON schema and use the JSON Validate new command!
With the object notation, available as a preview in 4D v16 R4, your code is simpler to write, easier to read and more natural to think. That is true. But did you really see the full potential of the object notation?
Before 4D v16 R4, when you wanted to create a detail form to enter contact information from an object field, you had no choice but to write an expression like OB GET ([CONTACT]Info; “City”) in the variable data source. You could retrieve the attribute value, but it was not possible to change it. Moreover, you had to write a loadRecord method with the OB GET command for each attribute and a saveRecord method with the OB SET command for each attribute.
What does object notation change in this scenario? From 4D v16 R4, you just write [CONTACT]Info.City in the variable data source! This variable is available in Read/Write mode. OB GET and OB SET commands are no longer necessary. That’s it! Now you see the full potential.
Objects are great, everyone says so. Beside their wonderful flexibility, they are unbelievably fast. You can search through millions of records in just a fraction of a second. 4D v16 even allows to order by object attributes, and to do calculations such as Sum or Average.
With 4D v16 R4, the 4D language has been drastically enhanced to make the usage of objects much more comfortable – with the support of the object notation. Fast, flexible, efficient and now elegant!
4D gives you new possibilities to customize your 4D Write Pro user interface to make it perfectly fit your business application. Instead of using the default 4D Write Pro contextual menu, which is so detailed that it could become unpleasant to use, the 4D developer can create its own contextual menu, with the exact list of actions that he wants to provide.
You want to quickly create a toolbar for your Styled text areas. You want to change the font of the text or compute/freeze 4D Expressions without writing a line of code. It is possible using the new standard actions for Styled Text areas.
Just associate a standard action to each button object and 4D will handle everything automatically: action triggering but also the button activation or deactivation if the action is not available in the current context.
When you search for all objects in the Design Environment, 4D displays the results in the hierarchical list. From 4D v16 R3, you can export these results in a text file that can be opened using a spreadsheet for example, so that you can easily dispatch some refactoring work or store the results in a document to work on it later.
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!
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!