diff --git a/docs/FormObjects/buttonGrid_overview.md b/docs/FormObjects/buttonGrid_overview.md new file mode 100644 index 00000000000000..3f7ce6938d6915 --- /dev/null +++ b/docs/FormObjects/buttonGrid_overview.md @@ -0,0 +1,35 @@ +--- +id: buttonGridOverview +title: Button Grid +--- +## Overview + +A button grid is a transparent object that is placed on top of a graphic. The graphic should depict a row-by-column array. When one of the graphics is clicked on, it will have a sunken or pressed appearance: + +![](assets/en/FormObjects/buttonGrid_smileys.png) + +You can use a button grid object to determine where the user clicks on the graphic. The object method would use the `On Clicked` event and take appropriate action depending on the location of the click. + + +## Creating button grids + +To create the button grid, add a background graphic to the form and place a button grid on top of it. Specify the number of [rows](properties_Crop.md#rows) and [columns](properties_Crop.md#columns). + +In 4D, a button grid is used as a color palette: + +![](assets/en/FormObjects/button_buttonGrid.png) + +## Using button grids + +The buttons on the grid are numbered from top left to bottom right. In the above example, the grid is 16 columns across by 16 rows down. The button in the top-left position returns 1 when clicked. If the red button at the far right of the second row is selected, the button grid returns 32. +If no element is selected, the value is 0 + + +### Goto page + +You can assign the ``gotoPage`` [standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) to a button grid. When this action is selected, 4D will automatically display the page of the form that corresponds to the number of the button that is selected in the button grid. For example, if the user selects the tenth button of the grid, 4D will display the tenth page of the current form (if it exists). + + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Standard action](properties_Action.md#standard-action) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Width](properties_CoordinatesAndSizing.md#width) - [Visibility](properties_Display.md#visibility) \ No newline at end of file diff --git a/docs/FormObjects/button_overview.md b/docs/FormObjects/button_overview.md new file mode 100644 index 00000000000000..d93441053b96b3 --- /dev/null +++ b/docs/FormObjects/button_overview.md @@ -0,0 +1,367 @@ +--- +id: buttonOverview +title: Button +--- + +A button is an active object that can be assigned an action (*e.g.*, a database task or an interface function) to perform when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +Buttons can fulfill a variety of roles, depending on their style and the action assigned to it. For example, buttons could lead a user through a questionnaire or form to complete, or to make choices. Depending on its settings, a button may be designed to be clicked only once and execute a command, while others may require the user to click more than once to receive the desired result. + +

+ +## Handling buttons + +The actions assigned to buttons can originate from predefined [standard actions](properties_Action.md#standard-action) or from custom object methods. Examples of typical actions include letting the user accept, cancel, or delete records, copy or paste data, move from page to page in a multi-page form, open, delete, or add records in a subform, handle font attributes in text areas, etc. + +Buttons with standard actions are dimmed when appropriate during form execution. For example, if the first record of a table is displayed, a button with the `firstRecord` standard action would appear dimmed. + +If you want a button to perform an action that's not available as a standard action, leave the standard action field empty and write an object method to specify the button’s action. For more information about object methods and how to create and associate them, see [Using object methods](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-object-methods.300-4163733.en.html). +Normally, you would activate the `On Clicked` event and the method would run only when the button is clicked. You can associate a method with any button. + +The [variable](properties_Object.md#variable-or-expression) associated with a button is automatically set to **0** when the form is executed for the first time in Design or Application mode. When the user clicks a button, its variable is set to **1**. + +> A button can be assigned both a standard action and a method. In this case, if the button is not disabled by the standard action, the method is executed before the standard action. + + + +## Button Styles + +Button styles control a button's general appearance as well as its available properties. It is possible to apply different predefined styles to buttons or to associate pop-up menus with them. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many button objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides buttons in the following predefined styles: + + + +### Regular + +The Regular button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +By default, the Regular style has a light gray background with a label in the center. When the cursor hovers over the Regular button style, the border and background color change to demonstrate that it has the focus. In addition to initiating code execution, the Regular button style mimics a mechanical button by quickly changing background color when being clicked. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", //define the type of object + "style":"regular", //define the style of the button + "defaultButton":"true" //define button as the default choice + "text": "OK", //text to appear on the button + "action": "Cancel", //action to be be performed + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the button + "height": 20 //height of the button + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + + +### Flat + +The Flat button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_flat.png) + +By default, the Flat style has a white background with a label in the center, rounded corners, and a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + +#### JSON Example: + +```code4d + + "myButton": { + "type": "button", + "style":"flat", + "defaultButton":"true" + "text": "OK", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + +### Toolbar + +The Toolbar button style is primarily intended for integration in a toolbar. It includes the option to add a pop-up menu (indicated by an inverted triangle) which is generally used to display additional choices for the user to select. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted when it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_toolbar.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"toolbar", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel button style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive label) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_bevel.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"bevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Rounded Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + + ![](assets/en/FormObjects/button_roundedbevel.png) + + - *macOS* - the corners of the button are rounded. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"roundedBevel", + "text": "OK", + "popupPlacement":"none" / + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Gradient style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_osxgradient.png) + + - *macOS* - the button is displayed as a two-tone system button. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"gradientBevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### OS X Textured + +The OS X Textured button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light gray background with a label in the center. It has the special feature of being transparent in Vista. + + ![](assets/en/FormObjects/button_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"texturedBevel", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's transparency and pop-up menu property option. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + +![](assets/en/FormObjects/button_officexp.png) + + - *macOS* - its background is always displayed. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"office", + "text": "OK", + "popupPlacement":"none" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Help + + +The Help button style can be used to display a standard system help button. By default, the Help style is displayed as a question mark within a circle. + +![](assets/en/FormObjects/button_help.png) + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"help", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + +> The Help style does not support [Number of States](properties_TextAndPicture.md#number-of-states), [Picture pathname](properties_TextAndPicture.md#picture-pathname), and [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) basic properties. + + +### Circle + +The Circle button style appears as a round system button. This button style is designed for macOS. + +![](assets/en/FormObjects/button_circleM.png) + +On Windows, it is identical to the “None” style (the circle in the background is not taken into account). + + +#### JSON Example: + +``` + "myButton": { + "type": "button", + "style":"circular", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Custom + +The Custom button style accepts a personalized background picture and allows managing additional parameters such as icon and margin offset. + +![](assets/en/FormObjects/button_custom.png) + + +#### JSON Example: + +```code + "myButton": { + "type": "button", + "style":"custom", + "text": "", + "customBackgroundPicture": "/RESOURCES/bkgnd.png", + "icon": "/RESOURCES/custom.png", + "textPlacement": "center", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +## Supported Properties + +All buttons share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Not rendered](properties_Display.md#not-rendered) - [Number of States](properties_TextAndPicture.md#number-of-states)(1) - [Object Name](properties_Object.md#object-name) - [Picture pathname](properties_TextAndPicture.md#picture-pathname)(1) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position)(1) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +> (1) Not supported by the [Help](#help) style. + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Default Button](properties_Appearance.md#default-button) (Flat, Regular) +- [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) - [With pop-up menu](properties_TextAndPicture.md#with-popup-menu) (Toolbar, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Circle, Custom) + diff --git a/docs/FormObjects/checkbox_overview.md b/docs/FormObjects/checkbox_overview.md new file mode 100644 index 00000000000000..88aaf0bcf8445b --- /dev/null +++ b/docs/FormObjects/checkbox_overview.md @@ -0,0 +1,420 @@ +--- +id: checkboxOverview +title: Check Box +--- +## Overview + +A check box is a type of button used to enter or display binary (true-false) data. Basically, it is either checked or unchecked, but a third state can be defined (see below). + +![](assets/en/FormObjects/checkbox.png) + +Check boxes are controlled by methods. Like all buttons, a check box variable is set to 0 when the form is first opened. The method associated with it executes when the check box is selected. + +A check box displays text next to a small square. This text is set in the [Title](properties_Object.md#title) property of the check box. You can enter a title in the form of an XLIFF reference in this area (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + + +## Using check boxes + +A check box can be associated to a [variable or expression](properties_Object.md#variable-or-expression) of type integer or boolean. + +- **integer:** if the box is checked, the variable has the value 1. When not checked, it has the value 0. If check box is in third state (see below), it has the value 2. +- **boolean:** if the box is checked, the variable has the value `True`. When not checked, it has the value `False`. + +Any or all check boxes in a form can be checked or unchecked. A group of check boxes allows the user to select multiple options. + + +### Three-States check box + +Check box objects with style [Regular](checkbox_overview.md#regular) and [Flat](checkbox_overview.md#flat) accept a third state. This third state is an intermediate status, which is generally used for display purposes. For example, it allows indicating that a property is present in a selection of objects, but not in each object of the selection. + +![](assets/en/FormObjects/checkbox_3states.png) + +To enable this third state, you must select the [Three-States](properties_Display.md#three-states) property. + +This property is only available for regular and flat check boxes associated with numeric [variables or expressions](properties_Object.md#variable-or-expression) — check boxes for Boolean expressions cannot use the [Three-States](properties_Display.md#three-states) property (a Boolean expression cannot be in an intermediary state). + +The variable associated with the check box returns the value 2 when the check box is in the third state. + +>In entry mode, the Three-States check boxes display each state sequentially, in the following order: unchecked / checked / intermediary / unchecked, etc. The intermediary state is generally not very useful in entry mode; in the code, simply force the value of the variable to 0 when it takes the value of 2 in order to pass directly from the checked state to the unchecked state. + + +## Using a standard action + +You can assign a [standard action](properties_Action.md#standard-action) to a check box to handle attributes of text areas. For example, if you assign the `fontBold` standard action, at runtime the check box will manage the "bold" attribute of the selected text in the current area. + +Only actions that can represent a true/false status ("checkable" actions) are supported by this object: + +|Supported actions| Usage condition (if any)| +|---|---| +|avoidPageBreakInsideEnabled| 4D Write Pro areas only| +|fontItalic || +|fontBold || +|fontLinethrough || +|fontSubscript |4D Write Pro areas only| +|fontSuperscript |4D Write Pro areas only| +|fontUnderline || +|font/showDialog |Mac only| +|htmlWYSIWIGEnabled |4D Write Pro areas only| +|section/differentFirstPage |4D Write Pro areas only| +|section/differentLeftRightPages |4D Write Pro areas only| +|spell/autoCorrectionEnabled || +|spell/autoDashSubstitutionsEnabled |Mac only| +|spell/autoLanguageEnabled |Mac only| +|spell/autoQuoteSubstitutionsEnabled |Mac only| +|spell/autoSubstitutionsEnabled || +|spell/enabled || +|spell/grammarEnabled |Mac only| +|spell/showDialog |Mac only| +|spell/visibleSubstitutions || +|visibleBackground |4D Write Pro areas only| +|visibleFooters |4D Write Pro areas only| +|visibleHeaders |4D Write Pro areas only| +|visibleHiddenChars |4D Write Pro areas only| +|visibleHorizontalRuler |4D Write Pro areas only| +|visiblePageFrames |4D Write Pro areas only| +|visibleReferences || +|widowAndOrphanControlEnabled |4D Write Pro areas only| + +For detailed information on these actions, please refer to the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section. + +## Check box button styles + +Check box styles control a check box's general appearance as well as its available properties. It is possible to apply different predefined styles to check boxes. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many check box objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides check boxes in the following predefined styles: + +### Regular + +The Regular check box style is a standard system check box (*i.e.*, a rectangle with a descriptive title): + +![](assets/en/FormObjects/checkbox_regular.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"regular", + "text": "Cancel", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + "dataSourceTypeHint":"boolean" + } +``` + + + +### Flat + +The Flat check box style is a minimalist appearance. The Flat style's graphic nature is particularly useful for forms that will be printed. + +![](assets/en/FormObjects/checkbox_flat.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"flat", + "text": "Cancel", + "action": "cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Toolbar button + +The Toolbar button check box style is primarily intended for integration in a toolbar. + +The Toolbar style has a transparent background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_toolbar.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"toolbar", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel check box style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive title) style with the [Toolbar](#toolbar) style's behavior. + +The Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_bevel.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"bevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The Rounded Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example on macOS: + + ![](assets/en/FormObjects/checkbox_roundedbevel_mac.png) + +> on Windows, the Rounded Bevel style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +```code4d + "myCheckBox": { + "type": "checkbox", + "style":"roundedBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The OS X Gradient style has a light gray background with a title and is displayed as a two-tone system button on macOS. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + + ![](assets/en/FormObjects/checkbox_osxgradient_mac.png) + +> On Windows, this style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"gradientBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### OS X Textured + +The OS X Textured checkbox style is similar to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light blue background with a title in the center. + + ![](assets/en/FormObjects/checkbox_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/checkbox_osxtextured_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"texturedBevel", + "text": "Checkbox", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### Office XP + +The Office XP check box style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. Example with states unchecked / checked / highlighted: + + ![](assets/en/FormObjects/checkbox_officexp.png) + + - *macOS* - its background is always displayed. Example with states unchecked / checked: + + ![](assets/en/FormObjects/checkbox_officexp_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"office", + "text": "Checkbox", + "action": "fontBold", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Collapse / Expand + +This check box style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. + + - *Windows* - the button looks like a [+] or a [-] + + ![](assets/en/FormObjects/checkbox_collapse.png) + + - *macOS* - it looks like a triangle pointing right or down. + + ![](assets/en/FormObjects/checkbox_collapse_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"disclosure", + "method": "m_collapse", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Disclosure Button + +In macOS and Windows, a check box with the "Disclosure" style appears as a standard disclosure button, usually used to show/hide additional information. When used as a radio button, the button symbol points downwards with value 0 and upwards with value 1. + + - *Windows* + + ![](assets/en/FormObjects/checkbox_disclosure.png) + + - *macOS* + + ![](assets/en/FormObjects/checkbox_disclosure_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"roundedDisclosure", + "method": "m_disclose", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### Custom + +The Custom check box style accepts a personalized background picture and allows managing specific properties: + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) +- [Icon Offset](properties_TextAndPicture.md#icon-offset) +- [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) and [Vertical Margin](properties_TextAndPicture.md#verticalMargin) + +It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states), that can be used in conjunction with a [4-state](properties_TextAndPicture.md#number-of-states) [background picture](properties_TextAndPicture.md#backgroundPathname). + +#### JSON Example: + +``` + "myCheckbox": { + "type": "checkbox", + "style":"custom", + "text": "OK", + "icon": "/RESOURCES/smiley.jpg", + "iconFrame": 4, + "customBackgroundPicture": "/RESOURCES/paper.jpg", + "iconOffset": 5, //custom icon offset when clicked + "left": 60, + "top": 160, + "width": 100, + "height": 20, + "customBorderX": 20, + "customBorderY": 5 + } +``` + + + + +## Supported Properties + +All check boxes share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Three-States](properties_Display.md#three-states) (Flat, Regular) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/docs/FormObjects/comboBox_overview.md b/docs/FormObjects/comboBox_overview.md new file mode 100644 index 00000000000000..b33436bdb20c91 --- /dev/null +++ b/docs/FormObjects/comboBox_overview.md @@ -0,0 +1,25 @@ +--- +id: comboBoxOverview +title: Combo Box +--- +## Overview + +A combo box is similar to a [drop-down list](dropdownList_Overview.md#overview), except that it accepts text entered from the keyboard and has additional options. + +![](assets/en/FormObjects/combo_box.png) + +You initialize a combo box in exactly the same way as a drop-down list. If the user enters text into the combo box, it fills the 0th element of the array. In other respects, you treat a combo box as an enterable area that uses its array or a choice list as the set of default values. + +Use the `On Data Change` event to manage entries into the enterable area, as you would for any enterable area object. For more information, refer to the description of the [Form event](https://doc.4d.com/4Dv17R5/4D/17-R5/Form-event.301-4127796.en.html) command in the *4D Language Reference* manual. + +## Options for combo boxes + +Combo box type objects accept two specific options concerning choice lists associated with them: + +- [Automatic insertion](properties_DataSource.md#automatic-insertion): enables automatically adding a value to a list stored in memory when a user enters a value that is not found in the choice list associated with the combo box. +- [Excluded List](properties_RangeOfValues.md#excluded-list) (list of excluded values): allows setting a list whose values cannot be entered in the combo box. If an excluded value is entered, it is not accepted and an error message is displayed. + +>Associating a [list of required values](properties_RangeOfValues.md#required-list) is not available for combo boxes. In an interface, if an object must propose a finite list of required values, then you must use a [Pop-up menu type](dropdownList_Overview.md#overview) object. + +## Supported Properties +[Alpha Format](properties_Display.md#alpha-format) - [Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#css-class) - [Date Format](properties_Display.md#date-format) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Not rendered](properties_Display.md#not-rendered) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Standard action](properties_Action.md#standard-action) - [Time Format](properties_Display.md#time-format) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/docs/FormObjects/dropdownList_Overview.md b/docs/FormObjects/dropdownList_Overview.md new file mode 100644 index 00000000000000..1c56e642acc698 --- /dev/null +++ b/docs/FormObjects/dropdownList_Overview.md @@ -0,0 +1,91 @@ +--- +id: dropdownListOverview +title: Drop-down List +--- +## Overview + +Drop-down lists are objects that allow the user to select from a list. You manage the items displayed in the drop-down list using an array, a choice list, or a standard action. + +On macOS, drop-down lists are also sometimes called "pop-up menu". Both names refer to the same objects. As the following example shows, the appearance of these objects can differ slightly according to the platform: + +![](assets/en/FormObjects/popupDropdown_appearance.png) + + +## Using an array + +An [array](Concepts/arrays.md) is a list of values in memory that is referenced by the name of the array. A drop-down list displays an array as a list of values when you click on it. + +Drop-down list objects are initialized by loading a list of values into an array. You can do this in several ways: + +* Enter a list of default values in the object properties by selecting "\" in the [Data Source](properties_DataSource.md) theme of the Property List. The default values are loaded into an array automatically. You can refer to the array using the name of the variable associated with the object. + +* Before the object is displayed, execute code that assigns values to the array elements. For example: + +```code4d + ARRAY TEXT($aCities;6) + $aCities{1}:="Philadelphia" + $aCities{2}:="Pittsburg" + $aCities{3}:="Grand Blanc" + $aCities{4}:="Bad Axe" + $aCities{5}:="Frostbite Falls" + $aCities{6}:="Green Bay" +``` +In this case, the name of the variable associated with the object in the form must be *$aCities*. This code could be placed in the form method and be executed when the `On Load` form event runs. + +* Before the object is displayed, load the values of a list into the array using the [LIST TO ARRAY](https://doc.4d.com/4Dv17R5/4D/17-R5/LIST-TO-ARRAY.301-4127385.en.html) command. For example: + +```code4d + LIST TO ARRAY("Cities";$aCities) +``` + + In this case also, the name of the variable associated with the object in the form must be *$aCities*. This code would be run in place of the assignment statements shown above. + +If you need to save the user’s choice into a field, you would use an assignment statement that runs after the record is accepted. The code might look like this: + +```code4d + Case of + :(Form event=On Load) + LIST TO ARRAY("Cities";aCities) + If(Record number([People])<0) `new record + aCities:=3 `display a default value + Else `existing record, display stored value + aCities:=Find in array(aCities;City) + End if + :(Form event=On Clicked) `user modified selection + City:=aCities{aCities} `field gets new value + :(Form event=On Validate) + City:=aCities{aCities} + :(Form event=On Unload) + CLEAR VARIABLE(aCities) + End case +``` + +You must select each [event] that you test for in your Case statement. Arrays always contain a finite number of items. The list of items is dynamic and can be changed by a method. Items in an array can be modified, sorted, and added to. + + +## Using a choice list + +If you want to use a drop-down list to manage the values of a listed field or variable, 4D lets you reference the field or variable directly as the object's data source. This makes it easier to manage listed fields/variables. + +>If you use a hierarchical list, only the first level is displayed and can be selected. + +For example, in the case of a "Color" field that can only contain the values "White", "Blue", "Green" or "Red", it is now possible to create a list containing these values and associate it with a pop-up menu object that references the 4D "Color" field. 4D then automatically takes care of managing the input and display of the current value in the form. + +To associate a pop-up menu/drop-down list or a combo box with a field or variable, you can just enter the name of the field or variable directly in the [Variable or Expression](properties_Object.md#variable-or-expression) of the object in the Property List. + +When the form is executed, 4D automatically manages the pop-up menu or combo box during input or display: when a user chooses a value, it is saved in the field; this field value is shown in the pop-up menu when the form is displayed: + +![](assets/en/FormObjects/popupDropdown_choiceList.png) + +>It is not possible to combine this principle with using an array to initialize the object. If you enter a field name in the Variable Name area, then you must use a choice list. + +### Save as +When you have associated a pop-up menu/drop-down list with a choice list and with a field, you can use the [Save as Value/Reference property](properties_DataSource.md#save-as). This option lets you optimize the size of the data saved. + +## Using a standard action +You can assign a standard action to a pop-up menu/drop-down list ([Action](properties_Action.md#standard-action) theme of the Property List). Only actions that display a sublist of items (except the goto page action) are supported by this object. For example, if you select the `backgroundColor` standard action, at runtime the object will display an automatic list of background colors. You can can override this automatic list by assigning in addition a choice list in which each item has been assigned a custom standard action. + +For more information, please refer to the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section. + +## Supported Properties +[Alpha Format](properties_Display.md#alpha-format) - [Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#css-class) - [Date Format](properties_Display.md#date-format) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Not rendered](properties_Display.md#not-rendered) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Standard action](properties_Action.md#standard-action) - [Save as](properties_DataSource.md#save-as) - [Time Format](properties_Display.md#time-format) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/docs/FormObjects/formObjects_overview.md b/docs/FormObjects/formObjects_overview.md new file mode 100644 index 00000000000000..33dec64412bce1 --- /dev/null +++ b/docs/FormObjects/formObjects_overview.md @@ -0,0 +1,37 @@ +--- +id: formObjectsOverview +title: About 4D Form Objects +--- + +You build and customize your application forms by manipulating the objects on them. You can add objects, reposition objects, set object properties, enforce business rules by specifying data entry constraints, or write object methods that run automatically when the object is used. + +## Active and static objects + +4D forms support a large number of built-in **active** and **static** objects: + +- **active objects** perform a database task or an interface function. Fields are active objects. Other active objects — enterable objects (variables), combo boxes, drop-down lists, picture buttons, and so on — store data temporarily in memory or perform some action such as opening a dialog box, printing a report, or starting a background process. +- **static objects** are generally used for setting the appearance of the form and its labels as well as for the graphic interface. Static objects do not have associated variables like active objects. However, you can insert dynamic objects into static objects. + + +## Handling form objects + +You can add or modify 4D form objects in the following ways: + +* **Form editor:** Drag an object from the Form editor toolbar onto the form. Then use the Property List to specify the object's properties. +See the [Building Forms](https://doc.4d.com/4Dv17R6/4D/17-R6/Building-forms.200-4354618.en.html) chapter for more information. + +* **4D language**: Commands from the [Objects (Forms)](https://doc.4d.com/4Dv17R5/4D/17-R5/Objects-Forms.201-4127128.en.html) theme such as `OBJECT DUPLICATE` or `OBJECT SET FONT STYLE` allow to create and define form objects. + +* **JSON code in dynamic forms:** Define the properties using JSON. Use the [type](properties_Object.md#type) property to define the object type, then set its available properties. See the [Dynamic Forms](https://doc.4d.com/4Dv17R5/4D/17-R5/Dynamic-Forms.300-4163740.en.html#3692292) page for information. +Example for a button object: + ``` + { + "type": "button", + "style": "bevel", + "text": "OK", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } diff --git a/docs/FormObjects/groupBox.md b/docs/FormObjects/groupBox.md new file mode 100644 index 00000000000000..595f2485e1d407 --- /dev/null +++ b/docs/FormObjects/groupBox.md @@ -0,0 +1,28 @@ +--- +id: groupBox +title: Group Box +--- + +A group box is a static object that allows you to visually assemble multiple form objects: + +![](assets/en/FormObjects/groupBox.png) + +>The name of a group box is static text; you can use a “localizable” reference as with any 4D label (see [Using references in static text](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-references-in-static-text.300-4163725.en.html) and *XLIFF Architecture* section in 4D Design Reference. + + + +#### JSON Example: + +``` + "myGroup": { + "type": "groupBox", + "title": "Employee Info" + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [CSS Class](properties_Object.md#css-class) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/docs/FormObjects/input_overview.md b/docs/FormObjects/input_overview.md new file mode 100644 index 00000000000000..bed80c4c208491 --- /dev/null +++ b/docs/FormObjects/input_overview.md @@ -0,0 +1,44 @@ +--- +id: inputOverview +title: Input +--- + +## Overview + +Inputs allow you to add enterable or non-enterable expressions such as database [fields](Concepts/identifiers.md#fields) and [variables](Concepts/variables.md) to your forms. Inputs can handle character-based data (text, dates, numbers...) or pictures: + +![](assets/en/FormObjects/input.png) + +Inputs can contain [assignable or non-assignable expressions](Concepts/quick-tour.md#assignable-vs-non-assignable-expressions). + +In addition, inputs can be [enterable or non-enterable](properties_Entry.md#enterable). An enterable input accepts data. You can set data entry controls for the object. A non-enterable input can only display values but cannot be edited by the user. + +You can manage the data with object or form [methods](Concepts/methods.md). + + +### JSON Example: + +```code4d + "myText": { + "type": "input", //define the type of object + "spellcheck": true, //enable spelling verification + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20 //height of the object + } +``` + + +## Supported Properties +[Alpha Format](properties_Display.md#alpha-format) - [Auto Spellcheck](properties_Entry.md#auto-spellcheck) - [Bold](properties_Text.md#bold) - [Boolean Format](properties_Display.md#boolean-format) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#css-class) - [Context Menu](properties_Entry.md#context-menu) - [Date Format](properties_Display.md#date-format) - [Default value](properties_RangeOfValues.md#default-value) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression type](properties_Object.md#expression-type) - [Fill Color](properties_BackgroundAndBorder.md#fill-color) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Multiline](properties_Entry.md#multiline) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Orientation](properties_Text.md#orientation) - [Picture Format](properties_Display.md#picture-format) - [Placeholder](properties_Entry.md#placeholder) - [Print Frame](properties_Print.md#print-frame) - [Required List](properties_RangeOfValues.md#required-list) - [Right](properties_CoordinatesAndSizing.md#right) - [Save as](properties_DataSource.md#save-as) - [Selection always visible](properties_Entry.md#selection-always-visible) - [Store with default style tags](properties_Text.md#store-with-default-style-tags) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - [Vertical Sizing](properties_ResizingOptions.md#vertical -sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +--- +## Input alternatives + +You can also represent field and variable expressions in your forms using alternative objects, more particularly: + +* You can display and enter data from database fields directly in columns of [selection type List boxes](listbox_overview.md). +* You can represent a list field or variable directly in a form using [Pop-up Menus/Drop-down Lists](popupMenuDropdownList_overview) and [Combo Boxes](comboBox_overview.md) objects. +* You can represent a boolean expression as a [check box](checkbox_overview.md) or as a [radio button](radio_overview.md) object. \ No newline at end of file diff --git a/docs/FormObjects/list_overview.md b/docs/FormObjects/list_overview.md new file mode 100644 index 00000000000000..4c1dd336e759c0 --- /dev/null +++ b/docs/FormObjects/list_overview.md @@ -0,0 +1,160 @@ +--- +id: listOverview +title: Hierarchical List +--- + +## Overview + +Hierarchical lists are form objects that can be used to display data as lists with one or more levels that can be expanded or collapsed. + +![](assets/en/FormObjects/Hlist1.png) + +Where appropriate, the expand/collapse icon is automatically displayed to the left of the item. Hierarchical lists support an unlimited number of sublevels. + + +## Hierarchical list data source + +The contents of a hierarchical list form object can be initialized in one of the following ways: + +- Associate an existing [choice list](properties_DataSource.md#choice-list) to the object. The choice list must have been defined in the List editor in Design mode. +- Directly assign a hierarchical list reference to the [variable or expression](properties_Object.md#variable-or-expression) associated with the form object. + +In both cases, you manage a hierarchical list at runtime through its *ListRef* reference, using the [Hierarchical list](https://doc.4d.com/4Dv17R6/4D/17-R6/Hierarchical-Lists.201-4310291.en.html) commands in the 4D language. + + +## ListRef and object name + +A hierarchical list is both a **language object** existing in memory and a **form object**. + +The **language object** is referenced by an unique internal ID of the Longint type, designated by *ListRef* in the 4D Language Reference. This ID is returned by the commands that can be used to create lists: `New list`, `Copy list`, `Load list`, `BLOB to list`. There is only one instance of the language object in memory and any modification carried out on this object is immediately carried over to all the places where it is used. + +The **form object** is not necessarily unique: there may be several representations of the same hierarchical list in the same form or in different ones. As with other form objects, you specify the object in the language using the syntax (*;"ListName", etc.). + +You connect the hierarchical list "language object" with the hierarchical list "form object" by the intermediary of the variable containing the ListRef value. For example, if you have associated the $mylist [variable](properties_Object.md#variable-or-expression) to the form object, you can write: + +```code4d +$mylist:=New list +``` + +Each representation of the list has its own specific characteristics and shares common characteristics with all the other representations. The following characteristics are specific to each representation of the list: + +- The selection, +- The expanded/collapsed state of its items, +- The position of the scrolling cursor. + +The other characteristics (font, font size, style, entry control, color, list contents, icons, etc.) are common to all the representations and cannot be modified separately. +Consequently, when you use commands based on the expanded/collapsed configuration or the current item, for example `Count list items` (when the final `*` parameter is not passed), it is important to be able to specify the representation to be used without any ambiguity. + +You must use the `ListRef` ID with language commands when you want to specify the hierarchical list found in memory. On the other hand, if you want to specify the representation of a hierarchical list object at the form level, you must use the object name (string type) in the command, via the standard syntax (*;"ListName", etc.). + +> In the case of commands that set properties, the syntax based on the object name does not mean that only the form object specified will be modified by the command, but rather that the action of the command will be based on the state of this object. The common characteristics of hierarchical lists are always modified in all of their representations. +> For example, if you execute: + +```code4d +SET LIST ITEM FONT(*;"mylist1";*;thefont) +``` + +>... you are indicating that you want to modify the font of the hierarchical list item associated with the *mylist1* form object. The command will take the current item of the *mylist1* object into account to specify the item to modify, but this modification will be carried over to all the representations of the list in all of the processes. + +### Support of @ + +As with other object property management commands, it is possible to use the “@” character in the `ListName` parameter. As a rule, this syntax is used to designate a set of objects in the form. However, in the context of hierarchical list commands, this does not apply in every case. This syntax will have two different effects depending on the type of command: + +- For commands that set properties, this syntax designates all the objects whose name corresponds (standard behavior). For example, the parameter "LH@" designates all objects of the hierarchical list type whose name begins with “LH.” + - `DELETE FROM LIST` + - `INSERT IN LIST` + - `SELECT LIST ITEMS BY POSITION` + - `SET LIST ITEM` + - `SET LIST ITEM FONT` + - `SET LIST ITEM ICON` + - `SET LIST ITEM PARAMETER` + - `SET LIST ITEM PROPERTIES` + +- For commands retrieving properties, this syntax designates the first object whose name corresponds: + - `Count list items` + - `Find in list` + - `GET LIST ITEM` + - `Get list item font` + - `GET LIST ITEM ICON` + - `GET LIST ITEM PARAMETER` + - `GET LIST ITEM PROPERTIES` + - `List item parent` + - `List item position` + - `Selected list items` + + +## Generic commands to use with hierarchical lists + +It is possible to modify the appearance of a hierarchical list form objects using several generic 4D commands. You can pass to these commands either the object name of the hierarchical list (using the * parameter), or its variable name (containing the ListRef value): + +- `OBJECT SET FONT` +- `OBJECT SET FONT STYLE` +- `OBJECT SET FONT SIZE` +- `OBJECT SET COLOR` +- `OBJECT SET FILTER` +- `OBJECT SET ENTERABLE` +- `OBJECT SET SCROLLBAR` +- `OBJECT SET SCROLL POSITION` +- `OBJECT SET RGB COLORS` + +> Reminder: Except `OBJECT SET SCROLL POSITION`, these commands modify all the representations of the same list, even if you only specify a list via its object name. + +## Priority of property commands + +Certain properties of hierarchical lists (for example, the **Enterable** attribute or the color) can be set in different ways: in the form properties, via a command of the “Object Properties” theme or via a command of the “Hierarchical Lists” theme. When all three of these means are used to set list properties, the following order of priority is applied: + +1. Commands of the “Hierarchical Lists” theme +2. Generic object property commands +3. Form property + +This principle is applied regardless of the order in which the commands are called. If an item property is modified individually via a hierarchical list command, the equivalent object property command will have no effect on this item even if it is called subsequently. For example, if the color of an item is modified via the `SET LIST ITEM PROPERTIES` command, the `OBJECT SET COLOR` command will have no effect on this item. + + +## Management of items by position or by reference + +You can usually work in two ways with the contents of hierarchical lists: by position or by reference. + +- When you work by position, 4D bases itself on the position in relation to the items of the list displayed on screen in order to identify them. The result will differ according to whether or not certain hierarchical items are expanded or collapsed. Note that in the case of multiple representations, each form object has its own configuration of expanded/collapsed items. +- When you work by reference, 4D bases itself on the *itemRef* ID number of the list items. Each item can thus be specified individually, regardless of its position or its display in the hierarchical list. + + +### Using item reference numbers (itemRef) + +Each item of a hierarchical list has a reference number (*itemRef*) of the Longint type. This value is only intended for your own use: 4D simply maintains it. + +> Warning: You can use any type of Longint value as a reference number, except for 0. In fact, for most of the commands in this theme, the value 0 is used to specify the last item added to the list. + +Here are a few tips for using reference numbers: + +1. You do not need to identify each item with a unique number (beginner level). + + - First example: you build a system of tabs by programming, for example, an address book. Since the system returns the number of the tab selected, you will probably not need more information than this. In this case, do not worry about item reference numbers: pass any value (except 0) in the *itemRef* parameter. Note that for an address book system, you can predefine a list A, B, ..., Z in Design mode. You can also create it by programming in order to eliminate any letters for which there are no records. + - Second example: while working with a database, you progressively build a list of keywords. You can save this list at the end of each session by using the `SAVE LIST` or `LIST TO BLOB` commands and reload it at the beginning of each new session using the `Load list` or `BLOB to list` commands. You can display this list in a floating palette; when each user clicks on a keyword in the list, the item chosen is inserted into the enterable area that is selected in the foreground process. The important thing is that you only process the item selected, because the `Selected list items` command returns the position of the item that you must process. When using this position value, you obtain the title of the item by means of the `GET LIST ITEM` command. Here again, you do not need to identify each item individually; you can pass any value (except 0) in the *itemRef* parameter. + +2. You need to partially identify the list items (intermediary level). +You use the item reference number to store information needed when you must work with the item; this point is detailed in the example of the `APPEND TO LIST` command. In this example, we use the item reference numbers to store record numbers. However, we must be able to establish a distinction between items that correspond to the [Department] records and those that correspond to the [Employees] records. + +3. You need to identify all the list items individually (advanced level). +You program an elaborate management of hierarchical lists in which you absolutely must be able to identify each item individually at every level of the list. A simple way of implementing this is to maintain a personal counter. Suppose that you create a *hlList* list using the `APPEND TO LIST` command. At this stage, you initialize a counter *vhlCounter* to 1. Each time you call `APPEND TO LIST` or `INSERT IN LIST`, you increment this counter `(vhlCounter:=vhlCounter+1)`, and you pass the counter number as the item reference number. The trick consists in never decrementing the counter when you delete items — the counter can only increase. In this way, you guarantee the uniqueness of the item reference numbers. Since these numbers are of the Longint type, you can add or insert more than two billion items in a list that has been reinitialized... (however if you are working with such a great number of items, this usually means that you should use a table rather than a list.) + +> If you use Bitwise Operators, you can also use item reference numbers for storing information that can be put into a Longint, i.e. 2 Integers, 4-byte values or, yet again, 32 Booleans. + +### When do you need unique reference numbers? + +In most cases, when using hierarchical lists for user interface purposes and when only dealing with the selected item (the one that was clicked or dragged), you will not need to use item reference numbers at all. Using `Selected list items` and `GET LIST ITEM` you have all you need to deal with the currently selected item. In addition, commands such as `INSERT IN LIST` and `DELETE FROM LIST` allow you to manipulate the list “relatively” with respect to the selected item. + +Basically, you need to deal with item reference numbers when you want direct access to any item of the list programmatically and not necessarily the one currently selected in the list. + + +## Modifiable element + +You can control whether hierarchical list items can be modified by the user by using the **Alt+click**(Windows) / **Option+click** (macOS) shortcut, or by carrying out a long click on the text of the item. + +- Whatever the hierarchical list data source, you can control the whole object with the [Enterable](properties_Entry.md#enterable) property. + +- In addition, if you populate the hierarchical list using a list created in the Lists editor, you control whether an item in a hierarchical list is modifiable using the **Modifiable Element** option in the Lists editor. For more information, see [Setting list properties](https://doc.4d.com/4Dv17R6/4D/17-R6/Setting-list-properties.300-4354625.en.html). + + +## Supported Properties + +[Bold](properties_Text.md#bold) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#css-class) - [Draggable](properties_Action.md#draggable-and-droppable) - [Droppable](properties_Action.md#draggable-and-droppable) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Multi-selectable](properties_Action.md#multi-selectable) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/docs/FormObjects/listbox_overview.md b/docs/FormObjects/listbox_overview.md new file mode 100644 index 00000000000000..3cee55af4db12b --- /dev/null +++ b/docs/FormObjects/listbox_overview.md @@ -0,0 +1,1131 @@ +--- +id: listboxOverview +title: List Box +--- + +## Overview + +List boxes are complex active objects that allow displaying and entering data as synchronized columns. They can be bound to database contents such as entity selections and record sections, or to any language contents such as collections and arrays. They include advanced features regarding data entry, column sorting, event managemet, customized appearance, moving of columns, etc. + +![](assets/en/FormObjects/listbox.png) + +A list box contains one or more columns whose contents are automatically synchronized. The number of columns is, in theory, unlimited (it depends on the machine resources). + +### Basic user features + +During execution, list boxes allow displaying and entering data as lists. To make a cell editable ([if entry is allowed for the column](#managing-entry)), simply click twice on the value that it contains: + +![](assets/en/FormObjects/listbox_edit.png) + +Users can enter and display the text on several lines within a list box cell. To add a line break, press **Ctrl+Carriage return** on Windows or **Option+Carriage return** on macOS. + +Booleans and pictures can be displayed in cells, as well as dates, times, or numbers. It is possible to sort column values by clicking on a header ([standard sort](#managing-sorts)). All columns are automatically synchronized. + +It is also possible to resize each column, and the user can modify the order of [columns](properties_ListBox.md#locked-columns-and-static-columns) and [rows](properties_Action.md#movable-rows) by moving them using the mouse, if this action is authorized. Note that list boxes can be used in [hierarchical mode](#hierarchical-list-boxes). + +The user can select one or more rows using the standard shortcuts: **Shift+click** for an adjacent selection and **Ctrl+click** (Windows) or **Command+click** (macOS) for a non-adjacent selection. + + +### List box parts + +A list box is composed of four distinct parts: + +* the list box object in its entirety, +* columns, +* column headers, and +* column footers. + +![](assets/en/FormObjects/listbox_parts.png) + +Each part has its own name as well as specific properties. For example, the number of columns or the alternating color of each row is set in the list box object properties, the width of each column is set in the column properties, and the font of the header is set in the header properties. + +It is possible to add an object method to the list box object and/or to each column of the list box. Object methods are called in the following order: + +1. Object method of each column +2. Object method of the list box + +The column object method gets events that occur in its [header](#list-box-headers) and [footer](#list-box-footers). + + + +### List box types + +There are several types of list boxes, with their own specific behaviors and properties. The list box type depends on its [Data Source property](properties_Object.md#data-source): + +- **Arrays**: each column is bound to a 4D array. Array-based list boxes can be displayed as [hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes). +- **Selection** (**Current selection** or **Named selection**): each column is bound to an expression (e.g. a field) which is evaluated for every record of the selection. +- **Collection or Entity selection**: each column is bound to an expression which is evaluated for every element of the collection or every entity of the entity selection. + +>It is not possible to combine different list box types in the same list box object. The data source is set when the list box is created. It is then no longer possible to modify it by programming. + + +### Managing list boxes + +You can completely configure a list box object through its properties, and you can also manage it dynamically through programming. + +The 4D Language includes a dedicated "List Box" theme for list box commands, but commands from various other themes, such as "Object properties" commands or `EDIT ITEM`, `Displayed line number` commands can also be used. Refer to the [List Box Commands Summary](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box-Commands-Summary.300-4311159.en.html) page of the *4D Language reference* for more information. + + + +## List box objects + +### Array list boxes + +In an array list box, each column must be associated with a one-dimensional 4D array; all array types can be used, with the exception of pointer arrays. The number of rows is based on the number of array elements. + +By default, 4D assigns the name “ColumnX” to each column variable, and thus to each associated array. You can change it, as well as other column properties, in the [column properties](listbox_overview.md#column-specific-properties). The display format for each column can also be defined using the `OBJECT SET FORMAT` command + +>Array type list boxes can be displayed in [hierarchical mode](listbox_overview.md#hierarchical-list-boxes), with specific mechanisms. + +With array type list box, the values entered or displayed are managed using the 4D language. You can also associate a [choice list](properties_DataSource.md#choice-list) with a column in order to control data entry. +The values of columns are managed using high-level List box commands (such as `LISTBOX INSERT ROWS` or `LISTBOX DELETE ROWS`) as well as array manipulation commands. For example, to initialize the contents of a column, you can use the following instruction: + +```code4d +ARRAY TEXT(ColumnName;size) +``` + +You can also use a list: + +```code4d +LIST TO ARRAY("ListName";ColumnName) +``` + +>**Warning**: When a list box contains several columns of different sizes, only the number of items of the smallest array (column) will be displayed. You should make sure that each array has the same number of elements as the others. Also, if a list box column is empty (this occurs when the associated array was not correctly declared or sized using the language), the list box displays nothing. + + + + +### Selection list boxes + +In this type of list box, each column can be associated with a field (for example `[Employees]LastName)` or an expression. The expression can be based on one or more fields (for example, `[Employees]FirstName+" "[Employees]LastName`) or it may simply be a formula (for example `String(Milliseconds)`). The expression can also be a project method, a variable or an array item. You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +The contents of each row is then evaluated according to a selection of records: the **current selection** of a table or a **named selection**. + +In the case of a list box based on the current selection of a table, any modification done from the database side is automatically reflected in the list box, and vice versa. The current selection is therefore always the same in both places. + + +### Collection or Entity selection list boxes + +In this type of list box, each column must be associated to an expression. The contents of each row is then evaluated per collection element or per entity of the entity selection. + +Each element of the collection or each entity is available as an object that can be accessed through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. A column expression can be a project method, a variable, or any formula, accessing each entity or collection element object through `This`, for example `This.` (or `This.value` in case of a collection of scalar values). You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +When the data source is an entity selection, any modifications made on the list box side are automatically saved in the database. On the other hand, modifications made on the database side are visible in the list box after touched entities have been reloaded. + +When the data source is a collection, any modifications made in the list box values are reflected in the collection. On the other hand, if modifications are done on the collection using for example the various methods of the *Collections* theme, you will need to explicitely notify 4D by reassigning the collection variable to itself, so that the list box contents is refreshed. For example: + +```code4d +myCol:=myCol.push("new value") //display new value in list box +``` + + + +### Supported Properties + +Supported properties depend on the list box type. + + +|Property|Array list box|Selection list box|Collection or Entity Selection list box| +|---|----|---|---| +|[Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color)|X|X|X| +|[Background Color](properties_BackgroundAndBorder.md#background-color)|X|X|X| +|[Bold](properties_Text.md#bold)|X|X|X| +|[Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression)||X|X| +|[Border Line Style](properties_BackgroundAndBorder.md#border-line-style)|X|X|X| +|[Bottom](properties_CoordinatesAndSizing.md#bottom)|X|X|X| +|[Class](properties_Object.md#css-class)|X|X|X| +|[Collection or entity selection](properties_Object.md#collection-or-entity-selection)||X|X| +|[Column Auto-Resizing](properties_ResizingOptions.md#column-auto-resizing)|X|X|X| +|[Current item](properties_DataSource.md#current-item)|||X| +|[Current item position](properties_DataSource.md#current-item-position)|||X| +|[Data Source](properties_Object.md#data-source)|X|X|X| +|[Detail Form Name](properties_ListBox.md#detail-form-name)||X|| +|[Display Headers](properties_Headers.md#display-headers)|X|X|X| +|[Display Footers](properties_Footers.md#display-footers)|X|X|X| +|[Double-click on row](properties_ListBox.md#double-click-on-row)||X|| +|[Draggable](properties_Action.md#droppable)|X|X|X| +|[Droppable](properties_Action.md#droppable)|X|X|X| +|[Focusable](properties_Entry.md#focusable)|X|X|X| +|[Font](properties_Text.md#font)|X|X|X| +|[Font Color](properties_Text.md#font_color)|X|X|X| +|[Font Color Expression](properties_Text.md#font-color-expression)||X|X| +|[Font Size](properties_Text.md#font-size)|X|X|X| +|[Height (list box)](properties_CoordinatesAndSizing.md#height)|X|X|X| +|[Height (headers)](properties_Headers.md#height)|X|X|X| +|[Height (footers)](properties_Footers.md#height)|X|X|X| +|[Hide extra blank rows](properties_BackgroundAndBorder.md#hide-extra-blank-rows)|X|X|X| +|[Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle)|X|X|X| +|[Hide selection highlight](properties_Appearance.md#hide-selection-highlight)|X|X|X| +|[Hierarchical List Box](properties_Object.md#hierarchical-list-box)|X||| +|[Highlight Set](properties_ListBox.md#highlight-set)||X|| +|[Horizontal Alignment](properties_Text.md#horizontal-alignment)|X|X|X| +|[Horizontal Line Color](properties_Gridlines.md#horizontal-line-color)|X|X|X| +|[Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar)|X|X|X| +|[Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing)|X|X|X| +|[Italic](properties_Text.md#italic)|X|X|X| +|[Left](properties_CoordinatesAndSizing.md#left)|X|X|X| +|[Master Table](properties_DataSource.md#table)||X|| +|[Meta info expression](properties_Text.md#meta-info-expression)|||X| +|[Method](properties_Action.md#method)|X|X|X| +|[Movable Rows](properties_Action.md#movable-rows)|X||| +|[Named Selection](properties_DataSource.md#selectionName)||X|| +|[Number of Columns](properties_ListBox.md#number-of-columns)|X|X|X| +|[Number of Locked Columns](properties_ListBox.md#number-of-locked-columns)|X|X|X| +|[Number of Static Columns](properties_ListBox.md#number-of-static-columns)|X|X|X| +|[Object Name](properties_Object.md#object-name)|X|X|X| +|[Right](properties_CoordinatesAndSizing.md#right)|X|X|X| +|[Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array)|X||| +|[Row Control Array](properties_ListBox.md#row-control-array)|X||| +|[Row Font Color Array](properties_Text.md#row-font-color-array)|X||| +|[Row Height](properties_CoordinatesAndSizing.md#row-height)|X||| +|[Row Height Array](properties_CoordinatesAndSizing.md#row-height-array)|X||| +|[Row Style Array](properties_Text.md#row-style-array)|X||| +|[Selected Items](properties_DataSource.md#selected-items)|||X| +|[Selection Mode](properties_ListBox.md#selection-mode)|X|X|X| +|[Single-Click Edit](properties_Entry.md#single-click-edit)|X|X|X| +|[Sortable](properties_Action.md#sortable)|X|X|X| +|[Standard action](properties_Action.md#standard-action)|X||| +|[Style Expression](properties_Text.md#style-expression)||X|X| +|[Top](properties_CoordinatesAndSizing.md#top)|X|X|X| +|[Transparent](properties_BackgroundAndBorder.md#transparent)|X|X|X| +|[Type](properties_Object.md#type)|X|X|X| +|[Underline](properties_Text.md#underline)|X|X|X| +|[Variable or Expression](properties_Object.md#variable-or-expression)|X|X|| +|[Vertical Alignment](properties_Text.md#vertical-alignment)|X|X|X| +|[Vertical Line Color](properties_Gridlines.md#vertical-line-color)|X|X|X| +|[Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar)|X|X|X| +|[Vertical Sizing](properties_ResizingOptions.md#vertical-sizing)|X|X|X| +|[Visibility](properties_Display.md#visibility)|X|X|X| +|[Width](properties_CoordinatesAndSizing.md#width)|X|X|X| + + +> List box columns, headers and footers support specific properties. + + + + + +## List box columns + +A list box is made of one or more column object(s) which have specific properties. You can select a list box column in the Form editor by clicking on it when the list box object is selected: + +![](assets/en/FormObjects/listbox_column.png) + +You can set standard properties (text, background color, etc.) for each column of the list box; these properties take priority over those of the list box object properties. + +>You can define the [Expression type](properties_Object.md#expression-type) for array list box columns (String, Text, Number, Date, Time, Picture, Boolean, or Object). The use of object arrays requires a 4D View Pro licence (see [Using object arrays in columns (4D View Pro)](#using-object-arrays-in-columns-4d-view-pro)). + + +### Column Specific Properties + +[Alpha Format](properties_Display.md#alpha-format) - [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) - [Automatic Row Height](properties_CoordinatesAndSizing.md#automatic-row-height) - [Background Color](properties_Text.md#background-color) - [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) - [Bold](properties_Text.md#bold) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#css-class) - [Data Type (selection and collection list box column)](properties_DataSource.md#data-type) - [Date Format](properties_Display.md#date-format) - [Default Values](properties_DataSource.md#default-values) - [Display Type](properties_Display.md#display-type) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression](properties_DataSource.md#expression) - [Expression Type (array list box column)](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Invisible](properties_Display.md#visibility) - [Maximum Width](properties_CoordinatesAndSizing.md#maximum-width) - [Method](properties_Action.md#method) - [Minimum Width](properties_CoordinatesAndSizing.md#minimum-width) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Resizable](properties_ResizingOptions.md#resizable) - [Required List](properties_RangeOfValues.md#required-list) - [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) - [Row Font Color Array](properties_Text.md#row-font-color-array) - [Row Style Array](properties_Text.md#row-style-array) - [Save as](properties_DataSource.md#save-as) - [Style Expression](properties_Text.md#style-expression) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## List box headers + +> To be able to access the header properties of a list box, you must enable the [Display Headers](properties_Headers.md#display-headers) option of the list box. + +When headers are displayed, you can select a header in the Form editor by clicking it when the list box object is selected: + +![](assets/en/FormObjects/listbox_header.png) + +You can set standard text properties for each column header of the list box; in this case, these properties have priority over those of the column or of the list box itself. + +In addition, you have access to the specific properties for headers. Specifically, an icon can be displayed in the header next to or in place of the column title, for example when performing [customized sorts](#managing-sorts). + +![](assets/en/FormObjects/lbHeaderIcon.png) + +At runtime, events that occur in a header are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a header, it is applied to all headers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"header3";False)` will hide all headers in the list box object to which *header3* belongs and not simply this header. + +### Header Specific Properties + +[Bold](properties_Text.md#bold) - [Class](properties_Object.md#css-class) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Icon Location](properties_TextAndPicture.md#icon-location) - [Italic](properties_Text.md#italic) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_TextAndPicture.md#picture-pathname) - [Title](properties_Object.md#title) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) + + + + + +## List box footers + +>To be able to access footer properties for a list box, you must enable the [Display Footers](properties_Footers.md#display-footers) option. + +List boxes can contain non-enterable "footers" displaying additional information. For data shown in table form, footers are usually used to display calculations such as totals or averages. + +When footers are displayed, you can click to select one when the list box object is selected in the Form editor: + +![](assets/en/FormObjects/listbox_footers.png) + +For each List box column footer, you can set standard text properties: in this case, these properties take priority over those of the column or of the list box. You can also access specific properties for footers. In particular, you can insert a [custom or automatic calculation](properties_Object.md#variable-calculation). + +At runtime, events that occur in a footer are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a footer, it is applied to all footers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"footer3";False)` will hide all footers in the list box object to which *footer3* belongs and not simply this footer. + +### Footer Specific Properties + + +[Alpha Format](properties_Display.md#alpha-format) - [Background Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Bold](properties_Text.md#bold) - [Class](properties_Object.md#css-class) - [Date Format](properties_Display.md#date-format) - [Expression Type](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable Calculation](properties_Object.md#variable-calculation) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## Managing entry + +For a list box cell to be enterable, both of the following conditions must be met: + +- The cell’s column must have been set as [Enterable](properties_Entry.md#enterable) (otherwise, the cells of the column can never be enterable). +- In the `On Before Data Entry` event, $0 does not return -1. When the cursor arrives in the cell, the `On Before Data Entry` event is generated in the column method. If, in the context of this event, $0 is set to -1, the cell is considered as not enterable. If the event was generated after **Tab** or **Shift+Tab** was pressed, the focus goes to either the next cell or the previous one, respectively. If $0 is not -1 (by default $0 is 0), the cell is enterable and switches to editing mode. + +Let’s consider the example of a list box containing two arrays, one date and one text. The date array is not enterable but the text array is enterable if the date has not already past. + +![](assets/en/FormObjects/listbox_entry.png) + +Here is the method of the *arrText* column: + +```code4d + Case of + :(Form event=On Before Data Entry) // a cell gets the focus + LISTBOX GET CELL POSITION(*;"lb";$col;$row) + // identification of cell + If(arrDate{$row} Data entry in collection/entity selection type list boxes has a limitation when the expression evaluates to null. In this case, it is not possible to edit or remove the null value in the cell. + + + +## Managing selections + +Selections are managed differently depending on whether the list box is based on an array, on a selection of records, or on a collection/entity selection: + +- **Selection list box**: Selections are managed by a set, which you can modify if necessary, called `$ListboxSetX` by default (where X starts at 0 and is incremented based on the number of list boxes in the form). This set is [defined in the properties](properties_ListBox.md#highlight-set) of the list box. It is automatically maintained by 4D: If the user selects one or more rows in the list box, the set is immediately updated. On the other hand, it is also possible to use the commands of the "Sets" theme in order to modify the selection of the list box via programming. + +- **Collection/Entity selection list box**: Selections are managed through dedicated list box properties: + - [Current item](properties_DataSource.md#current-item) is an object that will receive the selected element/entity + - [Selected Items](properties_DataSource.md#selected-items) is a collection of selected items + - [Current item position](properties_DataSource.md#current-item-position) returns the position of the selected element or entity. + +- **Array list box**: The `LISTBOX SELECT ROW` command can be used to select one or more rows of the list box by programming. +The [variable linked to the List box object](properties_Object.md#variable-or-expression) is used to get, set or store selections of object rows. This variable corresponds to a Boolean array that is automatically created and maintained by 4D. The size of this array is determined by the size of the list box: it contains the same number of elements as the smallest array linked to the columns. +Each element of this array contains `True` if the corresponding line is selected and `False` otherwise. 4D updates the contents of this array depending on user actions. Inversely, you can change the value of array elements to change the selection in the list box. +On the other hand, you can neither insert nor delete rows in this array; you cannot retype rows either. The `Count in array` command can be used to find out the number of selected lines. +For example, this method allows inverting the selection of the first row of the (array type) list box: +```code4d + ARRAY BOOLEAN(tBListBox;10) + //tBListBox is the name of the list box variable in the form + If(tBListBox{1}=True) + tBListBox{1}:=False + Else + tBListBox{1}:=True + End if +``` + +> The `OBJECT SET SCROLL POSITION` command scrolls the list box rows so that the first selected row or a specified row is displayed. + + +### Customizing appearance of selected rows + +When the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is selected, you need to make list box selections visible using available interface options. Since selections are still fully managed by 4D, this means: + +- For array type list boxes, you must parse the Boolean array variable associated with the list box to determine which rows are selected or not. +- For selection type list boxes, you have to check whether the current record (row) belongs to the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. + +You can then define specific background colors, font colors and/or font styles by programming to customize the appearance of selected rows. This can be done using arrays or expressions, depending on the type of list box being displayed (see the following sections). + +> You can use the `lk inherited` constant to mimic the current appearance of the list box (e.g., font color, background color, font style, etc.). + +#### Selection list boxes + +To determine which rows are selected, you have to check whether they are included in the set indicated in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. You can then define the appearance of selected rows using one or more of the relevant [color or style expression property](#using-arrays-and-expressions). + +Keep in mind that expressions are automatically re-evaluated each time the: +- list box selection changes. +- list box gets or loses the focus. +- form window containing the list box becomes, or ceases to be, the frontmost window. + + +#### Array list boxes +You have to parse the Boolean array [Variable or Expression](properties_Object.md#variable-or-expression) associated with the list box to determine whether rows are selected or not selected. + +You can then define the appearance of selected rows using one or more of the relevant [color or style array property](#using-arrays-and-expressions). + +Note that list box arrays used for defining the appearance of selected rows must be recalculated during the `On Selection Change` form event; however, you can also modify these arrays based on the following additional form events: +- `On Getting Focus` (list box property) +- `On Losing Focus` (list box property) +- `On Activate` (form property) +- `On Deactivate` (form property) +...depending on whether and how you want to visually represent changes of focus in selections. + +##### Example + +You have chosen to hide the system highlight and want to display list box selections with a green background color, as shown here: + +![](assets/en/FormObjects/listbox_styles7.png) + +For an array type list box, you need to update the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) by programming. In the JSON form, you have defined the following Row Background Color Array for the list box: + +``` + "rowFillSource": "_ListboxBackground", +``` + +In the object method of the list box, you can write: + +```code4d + Case of + :(Form event=On Selection Change) + $n:=Size of array(LB_Arrays) + ARRAY LONGINT(_ListboxBackground;$n) // row background colors + For($i;1;$n) + If(LB_Arrays{$i}=True) // selected + _ListboxBackground{$i}:=0x0080C080 // green background + Else // not selected + _ListboxBackground{$i}:=lk inherited + End if + End for + End case +``` + +For a selection type list box, to produce the same effect you can use a method to update the [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) based on the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property. + +For example, in the JSON form, you have defined the following Highlight Set and Background Color Expression for the list box: + +``` + "highlightSet": "$SampleSet", + "rowFillSource": "UI_SetColor", +``` +You can write in the *UI_SetColor* method: + +```code4d + If(Is in set("$SampleSet")) + $color:=0x0080C080 // green background + Else + $color:=lk inherited + End if + + $0:=$color +``` + +> In hierarchical list boxes, break rows cannot be highlighted when the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is checked. Since it is not possible to have distinct colors for headers of the same level, there is no way to highlight a specific break row by programming. + + +## Managing sorts + +By default, a list box automatically handles standard column sorts when the header is clicked. A standard sort is an alphanumeric sort of column values, alternately ascending/descending with each successive click. All columns are always synchronized automatically. + +You can prevent standard user sorts by deselecting the [Sortable](properties_Action.md#sortable) property of the list box. + +The developer can set up custom sorts using the `LISTBOX SORT COLUMNS` command and/or combining the `On Header Click` and `On After Sort` form events (see the `FORM Event` command) and relevant 4D commands. + +> The [Sortable](properties_Action.md#sortable) property only affects the standard user sorts; the `LISTBOX SORT COLUMNS` command does not take this property into account. + +The value of the [column header variable](properties_Object.md#variable-or-expression) allows you to manage additional information: the current sort of the column (read) and the display of the sort arrow. + +- If the variable is set to 0, the column is not sorted and the sort arrow is not displayed; +![](assets/en/FormObjects/sorticon0.png) + +- If the variable is set to 1, the column is sorted in ascending order and the sort arrow is displayed; +![](assets/en/FormObjects/sorticon1.png) + +- If the variable is set to 2, the column is sorted in descending order and the sort arrow is displayed. +![](assets/en/FormObjects/sorticon2.png) + +You can set the value of the variable (for example, Header2:=2) in order to “force” the sort arrow display. The column sort itself is not modified in this case; it is up to the developer to handle it. + +> The `OBJECT SET FORMAT` command offers specific support for icons in list box headers, which can be useful when you want to work with a customized sort icon. + + +## Managing row colors, styles, and display + +There are several different ways to set background colors, font colors and font styles for list boxes: + +- at the level of the [list box object properties](#list-box-objects), +- at the level of the [column properties](#list-box-columns), +- using [arrays or expressions properties](#using-arrays-and-expressions) for the list box and/or for each column, +- at the level of the text of each cell (if [multi-style text](properties_Text.md#multi-style)). + + +### Priority & inheritance + +Priority and inheritance principles are observed when the same property is set at more than one level. + +|Priority level|Setting location| +|---|---| +|high priority|Cell (if multi-style text)| +||Column arrays/methods| +||List box arrays/methods| +||Column properties| +||List box properties| +|low priority|Meta Info expression (for collection or entity selection list boxes)| + +For example, if you set a font style in the list box properties and another using a style array for the column, the latter one will be taken into account. + +For each attribute (style, color and background color), an **inheritance** is implemented when the default value is used: + +- for cell attributes: attribute values of rows +- for row attributes: attribute values of columns +- for column attributes: attribute values of the list box + +This way, if you want an object to inherit the attribute value from a higher level, you can use pass the `lk inherited` constant (default value) to the definition command or directly in the element of the corresponding style/color array. For example, given an array list box containing a standard font style with alternating colors: +![](assets/en/FormObjects/listbox_styles3.png) + +You perform the following modifications: + +- change the background of row 2 to red using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property of the list box object, +- change the style of row 4 to italics using the [Row Style Array](properties_Text.md#row-style-array) property of the list box object, +- two elements in column 5 are changed to bold using the [Row Style Array](properties_Text.md#row-style-array) property of the column 5 object, +- the 2 elements for column 1 and 2 are changed to dark blue using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property for the column 1 and 2 objects: + +![](assets/en/FormObjects/listbox_styles3.png) + +To restore the original appearance of the list box, you can: + +- pass the `lk inherited` constant in element 2 of the background color arrays for columns 1 and 2: then they inherit the red background color of the row. +- pass the `lk inherited` constant in elements 3 and 4 of the style array for column 5: then they inherit the standard style, except for element 4, which changes to italics as specified in the style array of the list box. +- pass the `lk inherited` constant in element 4 of the style array for the list box in order to remove the italics style. +- pass the `lk inherited` constant in element 2 of the background color array for the list box in order to restore the original alternating color of the list box. + + +### Using arrays and expressions + +Depending of the list box type, you can use different properties to customize row colors, styles and display: + +|Property|Array list box|Selection list box|Collection or Entity Selection list box| +|---|----|---|---| +|Background color|[Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array)|[Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression)|[Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression)| +|Font color|[Row Font Color Array](properties_Text.md#row-font-color-array)|[Font Color Expression](properties_Text.md#font-color-expression)|[Font Color Expression](properties_Text.md#font-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression)| +Font style|[Row Style Array](properties_Text.md#row-style-array)|[Style Expression](properties_Text.md#style-expression)|[Style Expression](properties_Text.md#style-expression) or [Meta info expression](properties_Text.md#meta-info-expression)| +Display|[Row Control Array](properties_ListBox.md#row-control-array)|-|-| + + + + +## Printing list boxes + +Two printing modes are available: **preview mode** - which can be used to print a list box like a form object, and **advanced mode** - which lets you control the printing of the list box object itself within the form. Note that the "Printing" appearance is available for list box objects in the Form editor. + +### Preview mode + +Printing a list box in preview mode consists of directly printing the list box and the form that contains it using the standard print commands or the **Print** menu command. The list box is printed as it is in the form. This mode does not allow precise control of the printing of the object; in particular, it does not allow you to print all the rows of a list box that contains more rows than it can display. + +### Advanced mode + +In this mode, the printing of list boxes is carried out by programming, via the `Print object` command (project forms and table forms are supported). The `LISTBOX GET PRINT INFORMATION` command is used to control the printing of the object. + +In this mode: + +- The height of the list box object is automatically reduced when the number of rows to be printed is less than the original height of the object (there are no "blank" rows printed). On the other hand, the height does not automatically increase according to the contents of the object. The size of the object actually printed can be obtained via the `LISTBOX GET PRINT INFORMATION` command. +- The list box object is printed "as is", in other words, taking its current display parameters into account: visibility of headers and gridlines, hidden and displayed rows, etc. +These parameters also include the first row to be printed: if you call the `OBJECT SET SCROLL POSITION` command before launching the printing, the first row printed in the list box will be the one designated by the command. +- An automatic mechanism facilitates the printing of list boxes that contain more rows than it is possible to display: successive calls to `Print object` can be used to print a new set of rows each time. The `LISTBOX GET PRINT INFORMATION` command can be used to check the status of the printing while it is underway. + + + + + +## Hierarchical list boxes + +A hierarchical list box is a list box in which the contents of the first column appears in hierarchical form. This type of representation is adapted to the presentation of information that includes repeated values and/or values that are hierarchically dependent (country/region/city and so on). + +> Only [array type list boxes](#array-list-boxes) can be hierarchical. + +Hierarchical list boxes are a particular way of representing data but they do not modify the data structure (arrays). Hierarchical list boxes are managed exactly the same way as regular list boxes. + + +### Defining the hierarchy + +To specify a hierarchical list box, there are several possibilities: + +* Manually configure hierarchical elements using the Property list of the form editor (or edit the JSON form). +* Visually generate the hierarchy using the list box management pop-up menu, in the form editor. +* Use the [LISTBOX SET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-SET-HIERARCHY.301-4127969.en.html) and [LISTBOX GET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-GET-HIERARCHY.301-4127970.en.html) commands, described in the *4D Language Reference* manual. + + +#### Hierarchical List Box property + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +The first variable always corresponds to the name of the variable for the first column of the list box (the two values are automatically bound). This first variable is always visible and enterable. For example: country. +The second variable is also always visible and enterable; it specifies the second hierarchical level. For example: regions. +Beginning with the third field, each variable depends on the one preceding it. For example: counties, cities, and so on. A maximum of ten hierarchical levels can be specified. If you remove a value, the whole hierarchy moves up a level. + +The last variable is never hierarchical even if several identical values exists at this level. For example, referring to the configuration illustrated above, imagine that arr1 contains the values A A A B B B, arr2 has the values 1 1 1 2 2 2 and arr3 the values X X Y Y Y Z. In this case, A, B, 1 and 2 could appear in collapsed form, but not X and Y: + +![](assets/en/FormObjects/property_hierarchicalListBox.png) + +This principle is not applied when only one variable is specified in the hierarchy: in this case, identical values may be grouped. + +>If you specify a hierarchy based on the first columns of an existing list box, you must then remove or hide these columns (except for the first), otherwise they will appear in duplicate in the list box. If you specify the hierarchy via the pop-up menu of the editor (see below), the unnecessary columns are automatically removed from the list box. + + +#### Create hierarchy using the contextual menu + +When you select at least one column in addition to the first one in a list box object (of the array type) in the form editor, the **Create hierarchy** command is available in the context menu: + +![](assets/en/FormObjects/listbox_hierarchy1.png) + +This command is a shortcut to define a hierarchy. When it is selected, the following actions are carried out: + +* The **Hierarchical list box** option is checked for the object in the Property List. +* The variables of the columns are used to specify the hierarchy. They replace any variables already specified. +* The columns selected no longer appear in the list box (except for the title of the first one). + +Example: given a list box whose first columns contain Country, Region, City and Population. When Country, Region and City are selected, if you choose **Create hierarchy** in the context menu, a three-level hierarchy is created in the first column, columns 2 and 3 are removed and the Population column becomes the second: + +![](assets/en/FormObjects/listbox_hierarchy2.png) + +##### Cancel hierarchy +When the first column is selected and already specified as hierarchical, you can use the **Cancel hierarchy** command. When you choose this command, the following actions are carried out: + +* The **Hierarchical list box** option is deselected for the object, +* The hierarchical levels 2 to X are removed and transformed into columns added to the list box. + + +### How it works + +When a form containing a hierarchical list box is opened for the first time, by default all the rows are expanded. + +A break row and a hierarchical "node" are automatically added in the list box when values are repeated in the arrays. For example, imagine a list box containing four arrays specifying cities, each city being characterized by its country, its region, its name and its number of inhabitants: + +![](assets/en/FormObjects/hierarch1.png) + +If this list box is displayed in hierarchical form (the first three arrays being included in the hierarchy), you obtain: + +![](assets/en/FormObjects/hierarch2.png) + +The arrays are not sorted before the hierarchy is constructed. If, for example, an array contains the data AAABBAACC, the hierarchy obtained is: + > A + > B + > A + > C + +To expand or collapse a hierarchical "node," you can just click on it. If you **Alt+click** (Windows) or **Option+click** (macOS) on the node, all its sub-elements will be expanded or collapsed as well. These operations can also be carried out by programming using the `LISTBOX EXPAND` and `LISTBOX COLLAPSE` commands. + +When values of the date or time type are included in a hierarchical list box, they are displayed in the short system format. + +#### Sorts in hierarchical list boxes + +In a list box in hierarchical mode, a standard sort (carried out by clicking on the header of a list box column) is always constructed as follows: + +- In the first place, all the levels of the hierarchical column (first column) are automatically sorted by ascending order. +- The sort is then carried out by ascending or descending order (according to the user action) on the values of the column that was clicked. +- All the columns are synchronized. +- During subsequent sorts carried out on non-hierarchical columns of the list box, only the last level of the first column is sorted. It is possible to modify the sorting of this column by clicking on its header. + +Given for example the following list box, in which no specific sort is specified: + +![](assets/en/FormObjects/hierarch3.png) + +If you click on the "Population" header to sort the populations by ascending (or alternately descending) order, the data appear as follows: + +![](assets/en/FormObjects/hierarch4.png) + +As for all list boxes, you can [disable the standard sort mechanism](properties_Action.md#sortable) and manage sorts using programming. + + +#### Selections and positions in hierarchical list boxes + +A hierarchical list box displays a variable number of rows on screen according to the expanded/collapsed state of the hierarchical nodes. This does not however mean that the number of rows of the arrays vary. Only the display is modified, not the data. It is important to understand this principle because programmed management of hierarchical list boxes is always based on the data of the arrays, not on the displayed data. In particular, the break rows added automatically are not taken into account in the display options arrays (see below). + +Let’s look at the following arrays for example: + +![](assets/en/FormObjects/hierarch5.png) + +If these arrays are represented hierarchically, the row "Quimper" will not be displayed on the second row, but on the fourth, because of the two break rows that are added: + +![](assets/en/FormObjects/hierarch6.png) + +Regardless of how the data are displayed in the list box (hierarchically or not), if you want to change the row containing "Quimper" to bold, you must use the statement Style{2} = bold. Only the position of the row in the arrays is taken into account. + +This principle is implemented for internal arrays that can be used to manage: + +- colors +- background colors +- styles +- hidden rows +- selections + +For example, if you want to select the row containing Rennes, you must pass: + +```code4d + ->MyListbox{3}:=True +``` + +Non-hierarchical representation: +![](assets/en/FormObjects/hierarch7.png) +Hierarchical representation: +![](assets/en/FormObjects/hierarch8.png) + +> If one or more rows are hidden because their parents are collapsed, they are no longer selected. Only the rows that are visible (either directly or by scrolling) can be selected. In other words, rows cannot be both hidden and selected. + +As with selections, the `LISTBOX GET CELL POSITION` command will return the same values for a hierarchical list box and a non-hierarchical list box. This means that in both of the examples below, `LISTBOX GET CELL POSITION` will return the same position: (3;2). + +*Non-hierarchical representation:* +![](assets/en/FormObjects/hierarch9.png) + +*Hierarchical representation:* +![](assets/en/FormObjects/hierarch10.png) + +When all the rows of a sub-hierarchy are hidden, the break line is automatically hidden. In the above example, if rows 1 to 3 are hidden, the "Brittany" break row will not appear. + +#### Break rows + +If the user selects a break row, `LISTBOX GET CELL POSITION` returns the first occurrence of the row in the corresponding array. In the following case: + +![](assets/en/FormObjects/hierarch11.png) + + +... `LISTBOX GET CELL POSITION` returns (2;4). To select a break row by programming, you will need to use the `LISTBOX SELECT BREAK` command. + +Break rows are not taken into account in the internal arrays used to manage the graphic appearance of list boxes (styles and colors). It is however possible to modify these characteristics for break rows via the graphic management commands for objects. You simply need to execute the appropriate commands on the arrays that constitute the hierarchy. + +Given for example the following list box (the names of the associated arrays are specified in parentheses): + +*Non-hierarchical representation:* +![](assets/en/FormObjects/hierarch12.png) + +*Hierarchical representation:* +![](assets/en/FormObjects/hierarch13.png) + +In hierarchical mode, break levels are not taken into account by the style modification arrays named `tStyle` and `tColors`. To modify the color or style of break levels, you must execute the following statements: + +```code4d + OBJECT SET RGB COLORS(T1;0x0000FF;0xB0B0B0) + OBJECT SET FONT STYLE(T2;Bold) +``` + +>In this context, only the syntax using the array variable can function with the object property commands because the arrays do not have any associated object. + +Result: + +![](assets/en/FormObjects/hierarch14.png) + + +#### Optimized management of expand/collapse + +You can optimize hierarchical list boxes display and management using the `On Expand` and `On Collapse` form events. + +A hierarchical list box is built from the contents of its arrays so it can only be displayed when all these arrays are loaded into memory. This makes it difficult to build large hierarchical list boxes based on arrays generated from data (through the `SELECTION TO ARRAY` command), not only because of the display speed but also the memory used. + +Using the `On Expand` and `On Collapse` form events can overcome these constraints: for example, you can display only part of the hierarchy and load/unload the arrays on the fly, based on user actions. In the context of these events, the `LISTBOX GET CELL POSITION` command returns the cell where the user clicked in order to expand or collapse a row. + +In this case, you must fill and empty arrays through the code. The principles to be implemented are: +- When the list box is displayed, only the first array must be filled. However, you must create a second array with empty values so that the list box displays the expand/collapse buttons: +![](assets/en/FormObjects/hierarch15.png) + +- When a user clicks on an expand button, you can process the `On Expand` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned and lets you build the appropriate hierarchy: you fill the first array with the repeated values and the second with the values sent from the `SELECTION TO ARRAY` command and you insert as many rows as needed in the list box using the `LISTBOX INSERT ROWS` command. +![](assets/en/FormObjects/hierarch16.png) + +- When a user clicks on a collapse button, you can process the `On Collapse` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned: you remove as many rows as needed from the list box using the `LISTBOX DELETE ROWS` command. + + + +## Object arrays in columns (4D View Pro) + +List box columns can handle object arrays. Since object arrays can contain different kinds of data, this powerful new feature allows you to mix different input types in the rows of a single column, and display various widgets as well. For example, you could insert a text input in the first row, a check box in the second, and a drop-down list in the third. Object arrays also provide access to new kinds of widgets, such as buttons or color pickers. + +The following list box was designed using an object array: + +![](assets/en/FormObjects/listbox_column_objectArray.png) + +>**Note about Licensing**: The ability to use object arrays in list boxes is a first step to the upcoming "4D View Pro" tool that will progressively replace the 4D View plug-in. Using this feature requires you to have a valid 4D View license. For more information, please refer to the 4D Web site. + +### Configuring an object array column + +To assign an object array to a list box column, you just need to set the object array name in either the Property list ("Variable Name" field), or using the [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-INSERT-COLUMN.301-4311153.en.html) command, like with any array-based column. In the Property list, you can now select Object as a "Expression Type" for the column: + +![](assets/en/FormObjects/listbox_column_objectArray_config.png) + +Standard properties related to coordinates, size, and style are available for object columns. You can define them using the Property list, or by programming the style, font color, background color and visibility for each row of an object-type list box column. These types of columns can also be hidden. + +However, the Data Source theme is not available for object-type list box columns. In fact, the contents of each column cell are based on attributes found in the corresponding element of the object array. Each array element can define: + +the value type (mandatory): text, color, event, etc. +the value itself (optional): used for input/output. +the cell content display (optional): button, list, etc. +additional settings (optional): depend on the value type +To define these properties, you need to set the appropriate attributes in the object (available attributes are listed below). For example, you can write "Hello World!" in an object column using this simple code: + +```code4d +ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob) //first element + OB SET($ob;"valueType";"text") //defines the value type (mandatory) + OB SET($ob;"value";"Hello World!") //defines the value + APPEND TO ARRAY(obColumn;$ob) +``` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld.png) + +>Display format and entry filters cannot be set for an object column. They automatically depend on the value type. + +#### valueType and data display + +When a list box column is associated with an object array, the way a cell is displayed, entered, or edited, is based on the valueType attribute of the array element. Supported valueType values are: + +* "text": for a text value +* "real": for a numeric value that can include separators like a \, <.>, or <,> +* "integer": for an integer value +* "boolean": for a True/False value +* "color": to define a background color +* "event": to display a button with a label. + +4D uses default widgets with regards to the "valueType" value (i.e., a "text" is displayed as a text input widget, a "boolean" as a check box), but alternate displays are also available through options (*e.g.*, a real can also be represented as a drop-down menu). The following table shows the default display as well as alternatives for each type of value: + +|valueType| Default widget |Alternative widget(s)| +|---|---|---| +|text| text input |drop-down menu (required list) or combo box (choice list)| +|real| controlled text input (numbers and separators) |drop-down menu (required list) or combo box (choice list)| +|integer| controlled text input (numbers only)| drop-down menu (required list) or combo box (choice list) or three-states check box +|boolean| check box |drop-down menu (required list)| +|color| background color| text| +|event |button with label| +|||All widgets can have an additional unit toggle button or ellipsis button attached to the cell.| + +You set the cell display and options using specific attributes in each object (see below). + +#### Display formats and entry filters + +You cannot set display formats or entry filters for columns of object-type list boxes. They are automatically defined according to the value type. These are listed in the following table: + +|Value type |Default format |Entry control| +|---|---|---| +|text| same as defined in object |any (no control)| +|real| same as defined in object (using system decimal separator) |"0-9" and "." and "-" +|||"0-9" and "." if min>=0| +|integer| same as defined in object |"0-9" and "-"| +|||"0-9" if min>=0| +|Boolean| check box| N/A| +|color |N/A |N/A| +|event |N/A |N/A| + +### Attributes + +Each element of the object array is an object that can contain one or more attributes that will define the cell contents and data display (see example above). + +The only mandatory attribute is "valueType" and its supported values are "text", "real", "integer", "boolean", "color", and "event". The following table lists all the attributes supported in list box object arrays, depending on the "valueType" value (any other attributes are ignored). Display formats are detailed and examples are provided below. + +| |valueType| text| real |integer| boolean| color| event| +|---|---|---|---|---|---|---|---| +|*Attributes* |*Description* | | | | | | | +|value| cell value (input or output)|x| x| x| | | | +|min| minimum value| |x| x| | | | +|max| maximum value| |x| x| | | | +|behavior| "threeStates" value | | |x | | | | +|requiredList| drop-down list defined in object|x| x|x || | | +|choiceList| combo box defined in object|x|x|x| | | | +|requiredListReference| 4D list ref, depends on "saveAs" value|x|x|x| | | | +|requiredListName| 4D list name, depends on "saveAs" value|x|x|x| | | | +|saveAs| "reference" or "value"| x|x|x| | | | +|choiceListReference| 4D list ref, display combo box| x| x| x| | | | +|choiceListName| 4D list name, display combo box|x|x|x| | | | +|unitList| array of X elements|x|x|x| | | | +|unitReference| index of selected element|x|x| x | | | | +|unitsListReference| 4D list ref for units|x |x| x | | | | +|unitsListName| 4D list name for units| x|x| x| | | | +|alternateButton| add an alternate button|x|x|x|x|x| | + +#### value + +Cell values are stored in the "value" attribute. This attribute is used for input as well as output. It can also be used to define default values when using lists (see below). + +````code4d + ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob1) + $entry:="Hello world!" + OB SET($ob1;"valueType";"text") + OB SET($ob1;"value";$entry) // if the user enters a new value, $entry will contain the edited value + C_OBJECT($ob2) + OB SET($ob2;"valueType";"real") + OB SET($ob2;"value";2/3) + C_OBJECT($ob3) + OB SET($ob3;"valueType";"boolean") + OB SET($ob3;"value";True) + + APPEND TO ARRAY(obColumn;$ob1) + APPEND TO ARRAY(obColumn;$ob2) + APPEND TO ARRAY(obColumn;$ob3) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_value.png) + +>Null values are supported and result in an empty cell. + +#### min and max + +When the "valueType" is "real" or "integer", the object also accepts min and max attributes with appropriate values (values must be of the same type as the valueType). + +These attributes can be used to control the range of input values. When a cell is validated (when it loses the focus), if the input value is lower than the min value or greater than the max value, then it is rejected. In this case, the previous value is maintained and a tip displays an explanation. + +````code4d + C_OBJECT($ob3) + $entry3:=2015 + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";$entry3) + OB SET($ob3;"min";2000) + OB SET($ob3;"max";3000) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_minMax.png) + +#### behavior + +The behavior attribute provides variations to the regular representation of values. In 4D v15, a single variation is proposed: + +|Attribute |Available value(s)| valueType(s)| Description| +|---|---|---|---| +|behavior| threeStates |integer| Represents a numeric value as a three-states check box.
2=semi-checked, 1=checked, 0=unchecked, -1=invisible, -2=unchecked disabled, -3=checked disabled, -4=semi-checked disabled| + +```code4d + C_OBJECT($ob3) + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";-3) + C_OBJECT($ob4) + OB SET($ob4;"valueType";"integer") + OB SET($ob4;"value";-3) + OB SET($ob4;"behavior";"threeStates") +``` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_behavior.png) + +#### requiredList and choiceList + +When a "choiceList" or a "requiredList" attribute is present inside the object, the text input is replaced by a drop-down list or a combo box, depending of the attribute: + +* If the attribute is "choiceList", the cell is displayed as a combo box. This means that the user can select or type a value. +* If the attribute is "requiredList" then the cell is displayed as a drop-down list and the user can only select one of the values provided in the list. + +In both cases, a "value" attribute can be used to preselect a value in the widget. + +>The widget values are defined through an array. If you want to assign an existing 4D list to the widget, you need to use the "requiredListReference", "requiredListName", "choiceListReference", or "choiceListName" attributes. + +Examples: + +* You want to display a drop-down list with only two options: "Open" or "Closed". "Closed" must be preselected: + +```code4d + ARRAY TEXT($RequiredList;0) + APPEND TO ARRAY($RequiredList;"Open") + APPEND TO ARRAY($RequiredList;"Closed") + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"Closed") + OB SET ARRAY($ob;"requiredList";$RequiredList) +``` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_openClosed.png) + +* You want to accept any integer value, but display a combo box to suggest the most common values: + +```code4d + ARRAY LONGINT($ChoiceList;0) + APPEND TO ARRAY($ChoiceList;5) + APPEND TO ARRAY($ChoiceList;10) + APPEND TO ARRAY($ChoiceList;20) + APPEND TO ARRAY($ChoiceList;50) + APPEND TO ARRAY($ChoiceList;100) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"value";10) //10 as default value + OB SET ARRAY($ob;"choiceList";$ChoiceList) +``` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_commonValues.png) + +#### requiredListName and requiredListReference + +The "requiredListName" and "requiredListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Lists editor of the Tool box) or by programming (using the New list command). The cell will then be displayed as a drop-down list. This means that the user can only select one of the values provided in the list. + +Use "requiredListName" or "requiredListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. + +>* If you want to define these values through a simple array, you need to use the "requiredList" attribute. +>* If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Examples: + +* You want to display a drop-down list based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green"), save it as a value and display "blue" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + +```code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"saveAs";"value") + OB SET($ob;"value";"blue") + OB SET($ob;"requiredListName";"colors") +``` +![](assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + +* You want to display a drop-down list based on a list defined by programming and save it as a reference: + +```code4d + <>List:=New list + APPEND TO LIST(<>List;"Paris";1) + APPEND TO LIST(<>List;"London";2) + APPEND TO LIST(<>List;"Berlin";3) + APPEND TO LIST(<>List;"Madrid";4) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"saveAs";"reference") + OB SET($ob;"value";2) //displays London by default + OB SET($ob;"requiredListReference";<>List) +``` + ![](assets/en/FormObjects/listbox_column_objectArray_cities.png) + +#### choiceListName and choiceListReference + +The "choiceListName" and "choiceListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Tool box) or by programming (using the New list command). The cell is then displayed as a combo box, which means that the user can select or type a value. + +Use "choiceListName" or "choiceListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. + +>* If you want to define these values through a simple array, you need to use the "choiceList" attribute. +>* If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Example: + +You want to display a combo box based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green") and display "green" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + +````code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"blue") + OB SET($ob;"choiceListName";"colors") +```` + +![](../assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + + +#### unitsList, unitsListName, unitsListReference and unitReference + +You can use specific attributes to add units associated with cell values (*e.g.*: "10 cm", "20 pixels", etc.). To define the unit list, you can use one of the following attributes: + +* "unitsList": an array containing the x elements used to define the available units (e.g.: "cm", "inches", "km", "miles", etc.). Use this attribute to define units within the object. +* "unitsListReference": a reference to a 4D list containing available units. Use this attribute to define units with a 4D list created with the [New list](https://doc.4d.com/4Dv15/4D/15.6/New-list.301-3818474.en.html) command. +* "unitsListName": a name of a design-based 4D list that contains available units. Use this attribute to define units with a 4D list created in the Tool box. + +Regardless of the way the unit list is defined, it can be associated with the following attribute: + +* "unitReference": a single value that contains the index (from 1 to x) of the selected item in the "unitList", "unitsListReference" or "unitsListName" values list. + +The current unit is displayed as a button that cycles through the "unitList", "unitsListReference" or "unitsListName" values each time it is clicked (e.g., "pixels" -> "rows" -> "cm" -> "pixels" -> etc.) + +Example: + +We want to set up a numeric input followed by two possible units: "rows" or "pixels". The current value is "2" + "lines". We use values defined directly in the object ("unitsList" attribute): + +````code4d +ARRAY TEXT($_units;0) +APPEND TO ARRAY($_units;"lines") +APPEND TO ARRAY($_units;"pixels") +C_OBJECT($ob) +OB SET($ob;"valueType";"integer") +OB SET($ob;"value";2) // 2 "units" +OB SET($ob;"unitReference";1) //"lines" +OB SET ARRAY($ob;"unitsList";$_units) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_unitList.png) + +#### alternateButton + +If you want to add an ellipsis button [...] to a cell, you just need to pass the "alternateButton" with the True value in the object. The button will be displayed in the cell automatically. + +When this button is clicked by a user, an `On Alternate Click` event will be generated, and you will be able to handle it however you want (see the "Event management" paragraph for more information). + +>`On Alternate Click` is the new name of the `On Arrow Click` event, renamed in 4D v15 to highlight its extended scope. + +Example: + +```code4d +C_OBJECT($ob1) +$entry:="Hello world!" +OB SET($ob;"valueType";"text") +OB SET($ob;"alternateButton";True) +OB SET($ob;"value";$entry) +``` + +![](assets/en/FormObjects/listbox_column_objectArray_alternateButton.png) + + +#### color valueType + +The "color" valueType allows you to display either a color or a text. + +* If the value is a number, a colored rectangle is drawn inside the cell. Example: + + ````code4d + C_OBJECT($ob4) + OB SET($ob4;"valueType";"color") + OB SET($ob4;"value";0x00FF0000) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_colorValue.png) + + +* If the value is a text, then the text is displayed (*e.g.*: "value";"Automatic"). + + +#### event valueType + +The "event" valueType displays a simple button that generates an `On Clicked` event when clicked. No data or value can be passed or returned. + +Optionally, you can pass a "label" attribute. + +Example: + +````code4d +C_OBJECT($ob) +OB SET($ob;"valueType";"event") +OB SET($ob;"label";"Edit...") +```` + +![](assets/en/FormObjects/listbox_column_objectArray_eventValueType.png) + + +### Event management +Several events can be handled while using an object list box array: + +* **On Data Change**: An `On Data Change` event is triggered when any value has been modified either: + * in a text input zone + * in a drop-down list + * in a combo box area + * in a unit button (switch from value x to value x+1) + * in a check box (switch between checked/unchecked) +* **On Clicked**: When the user clicks on a button installed using the "event" *valueType* attribute, an `On Clicked` event will be generated. This event is managed by the programmer. +* **On Alternative Click**: When the user clicks on an ellipsis button ("alternateButton" attribute), an `On Alternative Click` event will be generated. This event is managed by the programmer. + +>`On Alternative Click` is the new name of the `On Arrow Click` event that was available in previous versions of 4D. This event has been renamed in 4D v15 since its scope has been extended. + + + diff --git a/docs/FormObjects/pictureButton_overview.md b/docs/FormObjects/pictureButton_overview.md new file mode 100644 index 00000000000000..56adb0674ed894 --- /dev/null +++ b/docs/FormObjects/pictureButton_overview.md @@ -0,0 +1,67 @@ +--- +id: pictureButtonOverview +title: Picture Button +--- +## Overview + +A picture button is similar to a [standard button](button_overview.md). However unlike a standard button (which accepts three states: enabled, disabled and clicked), a picture button has a different image to represent each state. + +Picture buttons can be used in two ways: + +* As command buttons in a form. In this case, the picture button generally includes four different states: enabled, disabled, clicked and rolled over. +For example, a table of thumbnails that has one row of four columns, each thumbnail corresponds to the Default, Clicked, Roll over, and Disabled states. + + |Property|JSON name|Value| + |---|---|---| + |Rows|rowCount|1| + |Columns|columnCount|4| + |Switch back when Released|switchBackWhenReleased|true| + |Switch when Roll Over|switchWhenRollover|true| + |Use Last Frame as Disabled|useLastFrameAsDisabled|true| + +* As a picture button letting the user choose among several choices. In this case, a picture button can be used in place of a pop-up picture menu. With [Picture Pop-up Menus](picturePopupMenu_overview.md), all choices are displayed simultaneously (as the items in the pop-up menu), while the picture button displays the choices consecutively (as the user clicks the button). +Here is an example of a picture button. Suppose you want to give the users of a custom application the opportunity to choose the interface language for the application. You implement the option as a picture button in a custom properties dialog box: + +![](assets/en/FormObjects/button_pictureButton.png) + +Clicking the object changes the picture. + + +## Using picture buttons + +You can implement a picture button in the following manner: + +1. First, prepare a single graphic in which the series of images are arranged in a row, a column, or a row-by-column grid. + + ![](assets/en/FormObjects/pictureButton_grid.png) + +You can organize pictures as columns, rows, or a row-by-column grid (as shown above). When organizing pictures as a grid, they are numbered from left to right, row by row, beginning with 0. For example, the second picture of the second row of a grid that consists of two rows and three columns, is numbered 4 (The UK flag in the example above). + +2. Next, make sure the image is in your project's Resources and enter the path in the [Pathname](properties_TextAndPicture.md#picture-pathname) property. + +3. Define the graphic's [Rows and Columns](properties_Crop.md) properties. + +4. Specify when the images change by selecting appropriate [animation](properties_Animation.md) properties. + + +## Animation + +In addition to the standard positioning and appearance settings, you can set some specific properties for picture buttons, especially concerning how and when the pictures are displayed. These property options can be combined to enhance your picture buttons. + +- By default (when no [animation option](properties_Animation.md) is selected), a picture button displays the next picture in the series when the user clicks; it displays the previous picture in the series when the user holds down the **Shift** key and clicks. When the user reaches the last picture in the series, the picture does not change when the user clicks again. In other words, it does not cycle back to the first picture in the series. + +The following other modes are available: +- [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) +- [Switch back when Released](properties_Animation.md#switch-back-when-released) +- [Switch when Roll Over](properties_Animation.md#switch-when-roll-over) +- [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) +- [Use Last Frame as Disabled](properties_Animation.md#use-last-frame-as-disabled) +- [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) + + + +>The [associated variable](properties_Object.md#variable-or-expression) of the picture button returns the index number, in the thumbnail table, of the current picture displayed. The numbering of pictures in the table begins with 0. + +## Supported Properties + +[Bold](properties_Text.md#bold) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switchBackWhenReleased) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switchWhenRollOver) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/docs/FormObjects/picturePopupMenu_overview.md b/docs/FormObjects/picturePopupMenu_overview.md new file mode 100644 index 00000000000000..cfac411ac4228f --- /dev/null +++ b/docs/FormObjects/picturePopupMenu_overview.md @@ -0,0 +1,32 @@ +--- +id: picturePopupMenuOverview +title: Picture Pop-up Menu +--- +## Overview + +A picture pop-up menu is a pop-up menu that displays a two-dimensional array of pictures. A picture pop-up menu can be used instead of a [picture button](pictureButton_overview.md). The creation of the picture to use with a picture pop-up menu is similar to the creation of a picture for a picture button. The concept is the same as for [button grids](buttonGrid_overview.md), except that the graphic is used as a pop-up menu instead of a form object. + + +## Using picture pop-up menus + +To create a picture pop-up menu, you need to [refer to a picture](properties_Picture.md#pathname). The following example allows you to select the interface language by selecting it from a picture pop-up menu. Each language is represented by the corresponding flag: + +![](assets/en/FormObjects/picturePopupMenu_example.png) + +### Programming + +You can manage picture pop-up menus using methods. As with [button grids](buttonGrid_overview.md), variables associated with picture pop-up menus are set to the value of the selected element in the picture pop-up menu. If no element is selected, the value is 0. Elements are numbered, row by row, from left to right starting with the top row. + + +### Goto page + +You can assign the ``gotoPage`` [standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) to a picture pop-up menu. When that action is selected, 4D will automatically display the page of the form that corresponds to the position of the picture selected in the picture array. Elements are numbered from left to right and top to bottom, beginning with the top left corner. + +For example, if the user selects the 3rd element, 4D will display the third page of the current form (if it exists). +If you want to manage the effect of a click yourself, select `No action`. + + + + +## Supported Properties +[Bold](properties_Text.md#bold) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) -[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows)- [Standard action](properties_Action.md#standard-action) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/docs/FormObjects/pluginArea_overview.md b/docs/FormObjects/pluginArea_overview.md new file mode 100644 index 00000000000000..72eb72849fdce4 --- /dev/null +++ b/docs/FormObjects/pluginArea_overview.md @@ -0,0 +1,35 @@ +--- +id: pluginAreaOverview +title: Plug-in Area +--- + +## Overview + +A plug-in area is an area on the form that is completely controlled by a plug-in. The ability to incorporate plug-ins into forms gives you unlimited possibilities when creating custom applications. A plug-in can perform a simple task such as displaying a digital clock on a form, or a complex task such as providing full-featured word processing, spreadsheet, or graphics capabilities. + +When opening a database, 4D creates an internal list of the plug-ins [installed in your database](#installing-plug-ins). Once you have inserted a Plug-in Area in a form, you can assign a plug-in to the area directly in the Type list in the Property List: + +![](assets/en/FormObjects/pluginArea.png) + +> Some plug-ins, such as 4D Internet Commands, cannot be used in forms or external windows. When a plug-in cannot be used in a form, it does not appear in the plug-in list of the Property List. + +If you draw a plug-in area that is too small, 4D will display it as a button whose title is the name of the variable associated with the area. During execution, the user can click on this button in order to open a specific window displaying the plug-in. + + +### Advanced properties + +If advanced options are provided by the author of the plug-in, a **Plug-in** theme containing an [**Advanced Properties**](properties_Plugins.md) button may be enabled in the Property list. In this case, you can click this button to set these options, usually through a custom dialog box. + + +## Installing plug-ins + +To add a plug-in in your 4D environment, you first need to quit 4D. Plug-ins are loaded when you launch 4D. For more information about the installation of plug-ins, refer to [Installing plugins or components](https://doc.4d.com/4Dv17R6/4D/17-R6/Installing-plugins-or-components.300-4354866.en.html). + + +## Creating plug-ins + +If you are interested in designing your own plug-ins, you can receive extensive information about writing and implementing plug-ins. 4D provides a [complete kit (on github)](https://github.com/4d/4D-Plugin-SDK) to help you write custom plug-ins. + + +## Supported Properties +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Advanced Properties](properties_Plugins.md) - [Class](properties_Object.md#css-class) - [Draggable](properties_Action.md#draggable-and-droppable) - [Droppable](properties_Action.md#draggable-and-droppable) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Plug-in Kind](properties_Object.md#plug-in-kind) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibilty](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/docs/FormObjects/progressIndicator.md b/docs/FormObjects/progressIndicator.md new file mode 100644 index 00000000000000..ed34454220141d --- /dev/null +++ b/docs/FormObjects/progressIndicator.md @@ -0,0 +1,67 @@ +--- +id: progressIndicator +title: Progress Indicator +--- +## Overview + +A progress indicator (also called "thermometer") is designed to display or set numeric or date/time values graphically. + +![](assets/en/FormObjects/progress1.png) + +### Using indicators + +You can use indicators either to display or set values. For example, if a progress indicator is given a value by a method, it displays the value. If the user drags the indicator point, the value changes. The value can be used in another object such as a field or an enterable or non-enterable object. + +The variable associated with the indicator controls the display. You place values into, or use values from, the indicator using methods. For example, a method for a field or enterable object could be used to control a progress indicator: + +```code4d + $vTherm:=[Employees]Salary +``` + +This method assigns the value of the Salary field to the $vTherm variable. This method would be attached to the Salary field. + +Conversely, you could use the indicator to control the value in a field. The user drags the indicator to set the value. In this case the method becomes: + +```code4d + [Employees]Salary:=$vTherm +``` + +The method assigns the value of the indicator to the Salary field. As the user drags the indicator, the value in the Salary field changes. + + +## Default thermometer + +![](assets/en/FormObjects/indicator_progressBar.png) + +The thermometer is the basic progress indicator. + +You can display horizontal or vertical thermometers bars. This is determined by the shape of the object that you draw. + +Multiple graphical options are available: minimum/maximum values, graduations, steps. + +### Supported Properties +[Barber shop](properties_Scale.md#barber-shop) - [Bold](properties_Text.md#bold) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) -[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Display graduation](properties_Scale.md#display-graduation) - [Enterable](properties_Entry.md#enterable) - [Execute object method](properties_Action.md#execute-object-method) - [Expression Type](properties_Object.md#expression-type) (only "integer", "number", "date", or "time") - [Height](properties_CoordinatesAndSizing.md#height) - [Graduation step](properties_Scale.md#graduation-step) -[Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Label Location](properties_Scale.md#label-location) - [Left](properties_CoordinatesAndSizing.md#left) - [Maximum](properties_Scale.md#maximum) - [Minimum](properties_Scale.md#minimum) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Step](properties_Scale.md#step) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + + +## Barber shop + +![](assets/en/FormObjects/indicator.gif) + +**Barber shop** is a variant of the default thermometer. To enable this variant, you need to set the [Barber shop](properties_Scale.md#barber-shop) property. + +>In JSON code, just remove "max" property from a default thermometer object to enable the Barber shop variant. + +Barber shop displays a continuous animation, like the [spinner](spinner.md). These thermometers are generally used to indicate to the user that the program is in the process of carrying out a long operation. When this thermometer variant is selected, [graphical Scale properties](properties_Scale.md) are not available. + +When the form is executed, the object is not animated. You manage the animation by passing a value to its [associated variable or expression](properties_Object.md#variable-or-expression): + +* 1 (or any value other than 0) = Start animation, +* 0 = Stop animation. + +### Supported Properties +[Barber shop](properties_Scale.md#barber-shop) - [Bold](properties_Text.md#bold) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) -[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Enterable](properties_Entry.md#enterable) - [Execute object method](properties_Action.md#execute-object-method) - [Expression Type](properties_Object.md#expression-type) (only "integer", "number", "date", or "time") - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + + +## See also +- [rulers](ruler.md) +- [steppers](stepper.md) \ No newline at end of file diff --git a/docs/FormObjects/properties_Action.md b/docs/FormObjects/properties_Action.md new file mode 100644 index 00000000000000..9fe41bc85f81a2 --- /dev/null +++ b/docs/FormObjects/properties_Action.md @@ -0,0 +1,202 @@ +--- +id: propertiesAction +title:Action +--- + + +--- +## Draggable + +Control whether and how the user can drag the object. By default, no drag operation is allowed. + +Two drag modes are available: + +- **Custom**: In this mode, any drag operation performed on the object triggers the `On Begin Drag` form event in the context of the object. You then manage the drag action using a method. +In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D **copies** text or pictures directly from the form object. It can then be used in the same 4D area, between two 4D areas, or between 4D and another application. For example, automatic drag (and drop) lets you copy a value between two fields without using programming: +![](assets/en/FormObjects/property_automaticDragDrop.png) +![](assets/en/FormObjects/property_automaticDragDrop2.png) +In this mode, the `On Begin Drag` form event is NOT generated. If you want to "force" the use of the custom drag while automatic drag is enabled, hold down the **Alt** (Windows) or **Option** (macOS) key during the action. This option is not available for pictures. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|dragging|text |"none" (default), "custom", "automatic" (excluding list box)| + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + + + +#### See also +[Droppable](#droppable) + + +--- +## Droppable + +Control whether and how the object can be the destination of a drag and drop operation. + +Two drop modes are available: + +- **Custom**: In this mode, any drop operation performed on the object triggers the `On Drag Over` and `On Drop` form events in the context of the object. You then manage the drop action using a method. +In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D automatically manages — if possible — the insertion of dragged data of the text or picture type that is dropped onto the object (the data are pasted into the object). The `On Drag Over` and `On Drop` form events are NOT generated. On the other hand, the `On After Edit` (during the drop) and `On Data Change` (when the object loses the focus) events are generated. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|dropping|text |"none" (default), "custom", "automatic" (excluding list box)| + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + +#### See also +[Draggable](#draggable) + + +--- +## Execute object method +When this option is enabled, the object method is executed with the `On Data Change` event *at the same moment* the user changes the value of the indicator. When the option is disabled, the method is executed *after* the modification. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|continuousExecution|boolean |true, false| + +#### Objects Supported + +[Progress bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + + + + + +--- +## Method + +Reference of a method attached to the object. Object methods generally "manage" the object while the form is displayed or printed. You do not call an object method—4D calls it automatically when an event involves the object to which the object method is attached. + +Several types of method references are supported: + +- a standard object method file path, i.e. that uses the following pattern: +`ObjectMethods/objectName.4dm` +... where `objectName` is the actual [object name](properties_Object.md#object-name). This type of reference indicates that the method file is located at the default location ("sources/forms/*formName*/ObjectMethods/"). In this case, 4D automatically handles the object method when operations are executed on the form object (renaming, duplication, copy/paste...) + +- a project method name: name of an existing project method without file extension, i.e.: +`myMethod` +In this case, 4D does not provide automatic support for object operations. + +- a custom method file path including the .4dm extension, e.g.: +`ObjectMethods/objectName.4dm` +You can also use a filesystem: +`/RESOURCES/Buttons/bOK.4dm` +In this case, 4D does not provide automatic support for object operations. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|method|text |Object method standard or custom file path, or project method name| + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Movable Rows +`Array type list boxes` + +Authorizes the movement of rows during execution. This option is selected by default. It is not available for [selection type list boxes](listbox_overview.md#selection-list-boxes) nor for [list boxes in hierarchical mode](properties_Hierarchy.md#hierarchical-list-box). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|movableRows|boolean |true, false| + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + + +--- +## Multi-selectable + +Allows the selection of multiple records/options in a [hierarchical list](list_overview.md). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|selectionMode| text|"multiple", "single", "none" + +#### Objects Supported + +[Hierarchical List](list_overview.md) + + + + +--- +## Sortable + +Allows sorting column data by clicking a [listbox](listbox_overview.md) header. This option is selected by default. Picture type arrays (columns) cannot be sorted using this feature. + +In list boxes based on a selection of records, the standard sort function is available only: +* When the data source is *Current Selection*, +* With columns associated with fields (of the Alpha, Number, Date, Time or Boolean type). + +In other cases (list boxes based on named selections, columns associated with expressions), the standard sort function is not available. A standard list box sort changes the order of the current selection in the database. However, the highlighted records and the current record are not changed. A standard sort synchronizes all the columns of the list box, including calculated columns. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|sortable|boolean|true, false| + +#### Objects Supported +[List Box](listbox_overview.md) + + + + + + +--- +## Standard action +Typical activities to be performed by active objects (*e.g.*, letting the user accept, cancel, or delete records, move between records or from page to page in a multi-page form, etc.) have been predefined by 4D as standard actions. They are described in detail in the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section of the *Design Reference*. + +You can assign both a standard action and a project method to an object. In this case, the standard action is usually executed after the method and 4D uses this action to enable/disable the object according to the current context. When an object is deactivated, the associated project method cannot be executed. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|action|string |The name of a [valid standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html).| + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [List Box](listbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Tab control](tabControl.md) diff --git a/docs/FormObjects/properties_Animation.md b/docs/FormObjects/properties_Animation.md new file mode 100644 index 00000000000000..0a76f838e3abca --- /dev/null +++ b/docs/FormObjects/properties_Animation.md @@ -0,0 +1,121 @@ +--- +id: propertiesAnimation +title:Animation +--- +--- +## Loop back to first frame + +Pictures are displayed in a continuous loop. When the user reaches the last picture and clicks again, the first picture appears, and so forth. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|loopBackToFirstFrame|boolean|true, false| + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + +--- +## Switch back when released + +Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released. This mode allows you to create an action button with a different picture for each state (idle and clicked). You can use this mode to create a 3D effect or display any picture that depicts the action of the button. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|switchBackWhenReleased|boolean|true, false| + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch continuously on clicks + +Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation). When the user reaches the last picture, the object does not cycle back to the first picture. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|switchContinuously|boolean|true, false| + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + +--- +## Switch every x ticks + +Enables cycling through the contents of the picture button at the specified speed (in ticks). In this mode, all other options are ignored. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|frameDelay|integer|minimum: 0| + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch when roll over + +Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|switchWhenRollover|boolean|true, false| + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + +--- +## Use Last frame as disabled + +Enables setting the last thumbnail as the one to display when the button is disabled. The thumbnail used when the button is disabled is processed separately by 4D: when you combine this option with "Switch Continuously" and "Loop Back to First Frame", the last picture is excluded from the sequence associated with the button and only appears when it is disabled. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---|---|---| +|useLastFrameAsDisabled|boolean|true, false| + + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + diff --git a/docs/FormObjects/properties_Appearance.md b/docs/FormObjects/properties_Appearance.md new file mode 100644 index 00000000000000..dfb3d38e11d528 --- /dev/null +++ b/docs/FormObjects/properties_Appearance.md @@ -0,0 +1,411 @@ +--- +id: propertiesAppearance +title:Appearance +--- +--- +## Default Button + +The default button property modifies a button's appearance in order to indicate the recommended choice to the user. The difference in appearance depends on the OS. + +|Windows|macOS| +|:---:|:---:| +|The default button has a blue outline.

![](assets/en/FormObjects/property_defaultButtonWindows.en.png)|The default buttons are blue.

![](assets/en/FormObjects/property_defaultButtonmacOS.en.png)| + +>There can only be one default button per form page. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +defaultButton|boolean|true, false | + +#### Objects Supported + +[Regular Button](button_overview.md#regular) - [Flat Button](button_overview.md#regular) + + + + +--- +## Hide focus rectangle + +During execution, a field or any enterable area is outlined by a selection rectangle when it has the focus (via the Tab key or a single click). You can hide this rectangle by enabling this property. Hiding the focus rectangle may be useful in the case of specific interfaces. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|hideFocusRing|boolean|true, false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Subform](subform_overview.md) + + + +--- +## Hide selection highlight +`Selection type list boxes` + +This property is used to disable the selection highlight in list boxes. + +When this option is enabled, the selection highlight is no longer visible for selections made in list boxes. Selections themselves are still valid and work in exactly the same way as previously; however, they are no longer represented graphically onscreen, and you will need to [define their appearance programmatically](listbox_overview.md#customizing-appearance-of-selected-rows). + +By default, this option is not enabled. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|hideSystemHighlight|boolean|true, false| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Horizontal Scroll Bar + +An interface tool allowing the user to move the viewing area to the left or right. + +Available values: + +|Property List|JSON value|Description| +|---|----|---| +|Yes|"visible"|The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame).| +|No|"hidden"|The scrollbar is never visible| +|Automatic|"automatic"|The scrollbar appears automatically whenever necessary and the user can enter text larger than the object width| + + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|scrollbarHorizontal|text|"visible", "hidden", "automatic"| + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also +[Vertical scroll bar](#vertical-scroll-bar) + +--- +## Resolution + +Sets the screen resolution for the 4D Write Pro area contents. By default, it is set to 72 dpi (macOS), which is the standard resolution for 4D forms on all platforms. Setting this property to 96 dpi will set a windows/web rendering on both macOS and Windows platforms. Setting this property to **automatic** means that document rendering will differ between macOS and Windows platforms. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +dpi|number|0=automatic, 72, 96 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +--- +## Show background + +Displays/hides both background images and background color. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +showBackground|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + +--- +## Show footers + +Displays/hides the footers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +showFooters|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +--- +## Show Formula Bar + +When enabled, the formula bar is visible below the Toolbar interface in the 4D View Pro area. If not selected, the formula bar is hidden. + +> This property is available only for the [Toolbar](#user-interface) interface. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +withFormulaBar|boolean|true (default), false| + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + +--- +## Show headers + +Displays/hides the headers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +showHeaders|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +--- +## Show hidden characters + +Displays/hides invisible characters + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +showHiddenChars|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +--- +## Show horizontal ruler + +Displays/hides the horizontal ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +showHorizontalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + + +--- +## Show HTML WYSYWIG + +Enables/disables the HTML WYSIWYG view, in which any 4D Write Pro advanced attributes which are not compliant with all browsers are removed. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +showHTMLWysiwyg|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + +--- +## Show page frame + +Displays/hides the page frame when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +showPageFrames|boolean|true, false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +--- +## Show references + +Displays all 4D expressions inserted in the 4D Write Pro document as *references*. When this option is disabled, 4D expressions are displayed as *values*. By default when you insert a 4D field or expression, 4D Write Pro computes and displays its current value. Select this property if you wish to know which field or expression is displayed. The field or expression references then appear in your document, with a gray background. + +For example, you have inserted the current date along with a format, the date is displayed: + +![](assets/en/FormObjects/writePro1.png) + +With the Show references property on, the reference is displayed: + +![](assets/en/FormObjects/writeProExpr.png) + +> 4D expressions can be inserted using the `ST INSERT EXPRESSION` command. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +showReferences|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + +--- +## Show vertical ruler + +Displays/hides the vertical ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +showVerticalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +--- +## Tab Control Direction + +You can set the direction of tab controls in your forms. This property is available on all the platforms but can only be displayed in macOS. You can choose to place the tab controls on top (standard) or on the bottom. + +When tab controls with a custom direction are displayed under Windows, they automatically return to the standard direction (top). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +labelsPlacement|boolean|"top", "bottom" | + +#### Objects Supported + +[Tab Control](tabControl.md) + + +--- +## User Interface + +You can add an interface to 4D View Pro areas to allow end users to perform basic modifications and data manipulations. 4D View Pro offers two optional interfaces to choose from, **Ribbon** and **Toolbar**. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +userInterface|text|"none" (default), "ribbon", "toolbar" | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + + +#### See also + +[4D View Pro reference guide](https://doc.4d.com/4Dv18/4D/18/4D-View-Pro-Reference.100-4522233.en.html) + +--- +## Vertical Scroll Bar + +An interface tool allowing the user to move the viewing area up and down. + +Available values: + +|Property List|JSON value|Description| +|---|----|---| +|Yes|"visible"|The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame).| +|No|"hidden"|The scrollbar is never visible| +|Automatic|"automatic"|The scrollbar appears automatically whenever necessary (in other words, when the size of the object contents is greater than that of the frame)| + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +> If a text input object does not have a scroll bar, the user can scroll the information using the arrow keys. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|scrollbarVertical|text|"visible", "hidden", "automatic"| + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also + +[Horizontal scroll bar](#horizontal-scroll-bar) + +--- +## View mode + +Sets the mode for displaying the 4D Write Pro document in the form area. Three values are available: + +- **Page**: the most complete view mode, which includes page outlines, orientation, margins, page breaks, headers and footers, etc. +- **Draft**: draft mode with basic document properties +- **Embedded**: view mode suitable for embedded areas; it does not display margins, footers, headers, page frames, etc. This mode can also be used to produce a web-like view output (if you also select the [96 dpi resolution](#resolution) and the [Show HTML WYSIWYG](#show-html-wysiwyg) properties). + +> The View mode property is only used for onscreen rendering. Regarding printing settings, specific rendering rules are automatically used. + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +layoutMode|text|"page", "draft", "embedded"| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + +--- +## Zoom + +Sets the zoom percentage for displaying 4D Write Pro area contents. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +zoom|number|minimum = 0 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + diff --git a/docs/FormObjects/properties_BackgroundAndBorder.md b/docs/FormObjects/properties_BackgroundAndBorder.md new file mode 100644 index 00000000000000..7b7259242135f3 --- /dev/null +++ b/docs/FormObjects/properties_BackgroundAndBorder.md @@ -0,0 +1,230 @@ +--- +id: propertiesBackgroundAndBorder +title: Background and Border +--- +--- +## Alternate Background Color + +Allows setting a different background color for odd-numbered rows/columns in a list box. By default, *Automatic* is selected: the column uses the alternate background color set at the list box level. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|alternateFill|string|any css value; "transparent"; "automatic"| + +#### Objects Supported +[List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Background Color / Fill Color + +Defines the background color of an object. + +In the case of a list box, by default *Automatic* is selected: the column uses the background color set at the list box level. + +#### JSON Grammar + + +|Name|Data Type|Possible Values| +|---|---|---| +|fill|string|any css value; "transparent"; "automatic"| + +#### Objects Supported + +[Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Oval](shapes_overview.md#oval) - [Rectangle](shapes_overview.md#rectangle) - [Text Area](text.md) + +#### See also +[Transparent](#transparent) + + +--- +## Background Color Expression + +`Selection and collection type list boxes` + +An expression or a variable (array variables cannot be used) to apply a custom background color to each row of the list box. The expression or variable will be evaluated for each row displayed and must return a RGB color value. For more information, refer to the description of the `OBJECT SET RGB COLORS` command in the *4D Language Reference manual*. + +>With collection or entity selection type list boxes, this property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|rowFillSource|string|An expression returning a RGB color value| + +#### Objects Supported +[List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Border Line Style + +Allows setting a standard style for the object border. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|borderStyle|text |"system", "none", "solid", "dotted", "raised", "sunken", "double"| + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro areas](writeProArea_overview.md) - [Buttons](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicator](progressIndicator.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Stepper](stepper.md) - [Subform](subform_overview.md#overview) - [Text Area](text.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Dotted Line Type + +Describes dotted line type as a sequence of black and white points. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|strokeDashArray|number array or string|Ex. "6 1" or \[6,1\] for a sequence of 6 black point and 1 white point| + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + + +--- +## Hide extra blank rows + +Controls the display of extra blank rows added at the bottom of a list box object. By default, 4D adds such extra rows to fill the empty area: + +![](assets/en/FormObjects/property_hideExtraBlankRows1.png) + +You can remove these empty rows by selecting this option. The bottom of the list box object is then left blank: + +![](assets/en/FormObjects/property_hideExtraBlankRows2.png) + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|hideExtraBlankRows|boolean|true, false| + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + +--- +## Line Color + +Designates the color of the object's lines. +The color can be specified by: + +* a color name - like "red" +* a HEX value - like "#ff0000" +* an RGB value - like "rgb(255,0,0)" + +You can also set this property using the [**OBJECT SET RGB COLORS**](https://doc.4d.com/4Dv18/4D/18/OBJECT-SET-RGB-COLORS.301-4505456.en.html) command. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|stroke |string |any css value, "transparent", "automatic"| + +> This property is also available for text based objects, in which case it designates both the font color and the object's lines, see [Font color](properties_Text.md#font-color). + +#### Objects Supported + +[Line](shapes_overview.md#line) - [Oval](shapes_overview.md#oval) - [Rectangle](shapes_overview.md#rectangle) + + + +--- +## Line Width + +Designates the thickness of a line. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|strokeWidth|number|0 for smallest width on a printed form, or any integer value < 20| + +#### Objects Supported + +[Line](shapes_overview.md#line) - [Oval](shapes_overview.md#oval) - [Rectangle](shapes_overview.md#rectangle) + + + + + + + +--- +## Row Background Color Array + +`Array type list boxes` + +The name of an array to apply a custom background color to each row of the list box or column. + +The name of a Longint array must be entered. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. + +For example, given a list box where the rows have an alternating gray/light gray color, defined in the properties of the list box. A background color array has also been set for the list box in order to switch the color of rows where at least one value is negative to light orange: + +```code4d + <>_BgndColors{$i}:=0x00FFD0B0 // orange + <>_BgndColors{$i}:=-255 // default value +``` +![](assets/en/FormObjects/listbox_styles1.png) + +Next you want to color the cells with negative values in dark orange. To do this, you set a background color array for each column, for example <>_BgndColor_1, <>_BgndColor_2 and <>_BgndColor_3. The values of these arrays have priority over the ones set in the list box properties as well as those of the general background color array: + +```code4d + <>_BgndColorsCol_3{2}:=0x00FF8000 // dark orange + <>_BgndColorsCol_2{5}:=0x00FF8000 + <>_BgndColorsCol_1{9}:=0x00FF8000 + <>_BgndColorsCol_1{16}:=0x00FF8000 +``` +![](assets/en/FormObjects/listbox_styles2.png) + +You can get the same result using the `LISTBOX SET ROW FONT STYLE` and `LISTBOX SET ROW COLOR` commands. They have the advantage of letting you skip having to predefine style/color arrays for the columns: instead they are created dynamically by the commands. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|rowFillSource|string|The name of a longint array.| + +#### Objects Supported +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Transparent + +Sets the list box background to "Transparent". When set, any [alternate background color](#alternate-background-color) or [background color](#background-color-fill-color) defined for the column is ignored. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|fill|text|"transparent"| + +#### Objects Supported +[List Box](listbox_overview.md#overview) + +#### See also +[Background Color / Fill Color](#background-color-fill-color) \ No newline at end of file diff --git a/docs/FormObjects/properties_CoordinatesAndSizing.md b/docs/FormObjects/properties_CoordinatesAndSizing.md new file mode 100644 index 00000000000000..e20afd1158d585 --- /dev/null +++ b/docs/FormObjects/properties_CoordinatesAndSizing.md @@ -0,0 +1,294 @@ +--- +id: propertiesCoordinatesAndSizing +title:Coordinates & Sizing +--- +--- +## Automatic Row Height +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is only available for array-based, non-hierarchical list boxes. The property is not selected by default. + +When used, the height of every row in the column will automatically be calculated by 4D, and the column contents will be taken into account. Note that only columns with the option selected will be taken into account to calculate the row height. + +>When resizing the form, if the "Grow" [horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + +When this property is enabled, the height of every row is automatically calculated in order to make the cell contents entirely fit without being truncated (unless the [Wordwrap](properties_Display.md#wordwrap) option is disabled. + +* The row height calculation takes into account: + * any content types (text, numerics, dates, times, pictures (calculation depends on the picture format), objects), + * any control types (inputs, check boxes, lists, dropdowns), + * fonts, fonts styles and font sizes, + * the [Wordwrap](properties_Display.md#wordwrap) option: if disabled, the height is based on the number of paragraphs (lines are truncated); if enabled, the height is based on number of lines (not truncated). + +* The row height calculation ignores: + * hidden column contents + * [Row Height](#row-height) and [Row Height Array](#row-height-array) properties (if any) set either in the Property list or by programming. + +>Since it requires additional calculations at runtime, the automatic row height option could affect the scrolling fluidity of your list box, in particular when it contains a large number of rows. + + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|rowHeightAuto|boolean |true, false| + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Bottom + +Bottom coordinate of the object in the form. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|bottom|number | minimum: 0| + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Rectangle](shapes_overview.md#rectangle) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Text Area](text.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Left + +Left coordinate of the object on the form. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|left|number |minimum: 0| + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Text Area](text.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Right + +Right coordinate of the object in the form. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|right|number |minimum: 0| + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Text Area](text.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Top + +Top coordinate of the object in the form. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|top |number |minimum: 0| + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Text Area](text.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Corner Radius + +Defines the corner roundness (in pixels) of objects of the [rectangle](shapes_overview.md#rectangle) type. By default, the radius value for rectangles is 0 pixels. You can change this property to draw rounded rectangles with custom shapes: + +![](assets/en/FormObjects/shape_rectangle.png) + +Minimum value is 0, in this case a standard non-rounded rectangle is drawn. +Maximum value depends on the rectangle size (it cannot exceed half the size of the shortest rectangle side) and is calculated dynamically. + +You can also set this property using the [OBJECT Get corner radius](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-Get-corner-radius.301-4311357.en.html) and [OBJECT SET CORNER RADIUS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-CORNER-RADIUS.301-4311356.en.html) commands. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|borderRadius|integer |minimum: 0| + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) + + + + +--- +## Height + +This property designates an object's vertical size. + +>Some objects may have a predefined height that cannot be altered. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|height|number |minimum: 0| + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Text Area](text.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Width + +This property designates an object's horizontal size. + + + + +>* Some objects may have a predefined height that cannot be altered. +>* If the [Resizable](properties_ResizingOptions.md#resizable) property is used for a [list box column](listbox_overview.md#list-box-columns), the user can also manually resize the column. +>* When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|width|number |minimum: 0| + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Text Area](text.md) - [Web Area](webArea_overview.md#overview) + + + + + + + + + +--- +## Maximum Width + +The maximum width of the column (in pixels). The width of the column cannot be increased beyond this value when resizing the column or form. + +>When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|maxWidth|number |minimum: 0| + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + +--- +## Minimum Width + +The minimum width of the column (in pixels). The width of the column cannot be reduced below this value when resizing the column or form. + +>When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|minWidth|number |minimum: 0| + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + + + +--- +## Row Height + + +Sets the height of list box rows (excluding headers and footers). By default, the row height is set according to the platform and the font size. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|rowHeight|string |css value in unit "em" or "px" (default)| + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height Array](#row-height-array) + + + +--- +## Row Height Array +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is used to specify the name of a row height array that you want to associate with the list box. A row height array must be of the numeric type (longint by default). + +When a row height array is defined, each of its elements whose value is different from 0 (zero) is taken into account to determine the height of the corresponding row in the list box, based on the current Row Height unit. + +For example, you can write: + +```code4d +ARRAY LONGINT(RowHeights;20) +RowHeights{5}:=3 +``` + +Assuming that the unit of the rows is "lines," then the fifth row of the list box will have a height of three lines, while every other row will keep its default height. + +>* The Row Height Array property is not taken into account for hierarchical list boxes. +>* For array-based list boxes, this property is available only if the [Automatic Row Height](#automatic-row-height) option is not selected. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|rowHeightSource|string|Name of a 4D array variable.| + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height](#row-height) + + + + diff --git a/docs/FormObjects/properties_Crop.md b/docs/FormObjects/properties_Crop.md new file mode 100644 index 00000000000000..18f30a7803faf9 --- /dev/null +++ b/docs/FormObjects/properties_Crop.md @@ -0,0 +1,46 @@ +--- +id: propertiesCrop +title:Crop +--- +--- +## Columns + +Sets the number of columns in a thumbnail table. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---|:---:|---| +|columnCount|integer|minimum: 1| + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + +--- +## Rows + +Sets the number of rows in a thumbnail table. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---|:---:|---| +|rowCount|integer|minimum: 1| + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + + + + + + + diff --git a/docs/FormObjects/properties_DataSource.md b/docs/FormObjects/properties_DataSource.md new file mode 100644 index 00000000000000..043e3814e4ecc3 --- /dev/null +++ b/docs/FormObjects/properties_DataSource.md @@ -0,0 +1,300 @@ +--- +id: propertiesDataSource +title: Data Source +--- +--- +## Automatic Insertion + +When this option is selected, if a user enters a value that is not found in the choice list associated with the object, this value is automatically added to the list stored in memory. You can associate choice lists to objects using: +- the [Choice List](properties_DataSource.md#choice-list) JSON property +- the [OBJECT SET LIST BY NAME](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-NAME.301-4128227.en.html) or [OBJECT SET LIST BY REFERENCE](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-REFERENCE.301-4128237.en.html) commands. +- the form editor's Property List. + +For example, given a choice list containing "France, Germany, Italy" that is associated with a "Countries" combo box: if the **automatic insertion** property is set and a user enters "Spain", then the value "Spain" is automatically added to the list in memory: + +![](assets/en/FormObjects/comboBox_AutomaticInsertion_example.png) + +Naturally, the value entered must not belong to the list of [excluded values](properties_RangeOfValues.md#excluded-list) associated with the object, if one has been set. + +>If the list was created from a list defined in Design mode, the original list is not modified. + +When the **automatic insertion** option is not selected (default), the value entered is stored in the object but not in the list in memory. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|automaticInsertion|boolean |true, false| + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Choice List + +Associates a choice list with an object. It can be a choice list name (a list reference) or a collection of default values. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|choiceList|list, collection|A list of possible values| +|list|list, collection|A list of possible values (hierarchical lists only)| + + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - +[Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Choice List (static list) + +List of static values to use as labels for the tab control object. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|labels|list, collection|A list of values to fill the tab control| + +#### Objects Supported + +[Tab Control](tabControl.md) + + +--- +## Current item +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the collection element/entity selected by the user. You must use an object variable or an assignable expression that accepts objects. If the user does not select anything or if you used a collection of scalar values, the Null value is assigned. + +>This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|currentItemSource| string|Object expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + + + +--- + +## Current item position +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned a longint indicating the position of the collection element/entity selected by the user. + +* if no element/entity is selected, the variable or expression receives zero, +* if a single element/entity is selected, the variable or expression receives its location, +* if multiple elements/entities are selected, the variable or expression receives the position of element/entity that was last selected. + +>This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|currentItemPositionSource| string|Number expression | + +#### Objects Supported +[List Box ](listbox_overview.md) + + + + + +--- +## Data Type + +Please refer to [Expression Type](properties_Object.md#expression-type) section. + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- + +## Default (list of) values + +List of values that will be used as default values for the list box column (array type only). These values are automatically available in the [array variable](properties_Object.md#variable-or-expression) associated with this column when the form is executed. Using the language, you can manage the object by referring to this array. + +> Do not make confusion between this property and the "[default value](properties_RangeOfValues.md#default-list-of-values)" property that allows to define a field value in new records. + +You must enter a list of values. In the Form editor, a specific dialog box allows you to enter values separated by carriage returns: + +![](assets/en/FormObjects/defaultValues.png) + +> You can also define a [choice list](properties_DataSource.md#choice-list) with the list box column. However, a choice list will be used as list of selectable values for each column row, whereas the default list fill all column rows. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|values |collection |A collection of default values (strings), ex: "a", "b", "c", "d"| + +#### Objects Supported + +[List Box Column (array type only)](listbox_overview.md#list-box-columns) + + + + +--- +## Expression + +This description is specific to [selection](listbox_overview.md#selection-list-boxes) + and [collection](listbox_overview.md#collection-or-entity-selection-list-boxes) type list box columns. See also **[Variable or Expression](properties_Object.md#variable-or-expression)** section. + +A 4D expression to be associated with a column. You can enter: + +- A **simple variable** (in this case, it must be explicitly declared for compilation). You can use any type of variable except BLOBs and arrays. The value of the variable will be generally calculated in the `On Display Detail` event. + +- A **field** using the standard [Table]Field syntax ([selection type list box](listbox_overview.md#selection-list-boxes) + only), for example: `[Employees]LastName`. The following types of fields can be used: + * String + * Numeric + * Date + * Time + * Picture + * Boolean +You can use fields from the Master Table or from other tables. + +- A **4D expression** (simple expression, formula or 4D method). The expression must return a value. The value will be evaluated in the `On Display Detail` and `On Data Change` events. The result of the expression will be automatically displayed when you switch to Application mode. The expression will be evaluated for each record of the selection (current or named) of the Master Table (for selection type list boxes), each element of the collection (for collection type list boxes) or each entity of the selection (for entity selection list boxes). If it is empty, the column will not display any results. +The following expression types are supported: + * String + * Numeric + * Date + * Picture + * Boolean + + For collection/entity selection list boxes, Null or unsupported types are displayed as empty strings. + When using collections or entity selections, you will usually declare the element property or entity attribute associated to a column within an expression containing [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html). `This` is a dedicated 4D command that returns a reference to the currently processed element. For example, you can use **This.\** where **\** is the path of a property in the collection or an entity attribute path to access the current value of each element/entity. + If you use a collection of scalar values, 4D will create an object for each collection element with a single property (named "value"), filled with the element value. In this case, you will use **This.value** as expression. + + If a [non-assignable expression](Concepts/quick-tour.md#expressions) is used (e.g. `[Person]FirstName+" "+[Person]LastName`), the column is never enterable even if the [Enterable](properties_Entry.md#enterable) property is enabled. + +If a field, a variable, or an assignable expression (*e.g. Person.lastName*) is used, the column can be enterable or not depending on the [Enterable](properties_Entry.md#enterable) property. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|dataSource |string |A 4D variable, field name, or an arbitrary complex language expression.| + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Master Table +`Current selection list boxes` + +Specifies the table whose current selection will be used. This table and its current selection will form the reference for the fields associated with the columns of the list box (field references or expressions containing fields). Even if some columns contain fields from other tables, the number of rows displayed will be defined by the master table. + +All database tables can be used, regardless of whether the form is related to a table (table form) or not (project form). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|table| number|Table number| + +#### Objects Supported +[List Box](listbox_overview.md#overview) + + + +--- + +## Save as + + +This property is available in the following conditions: + +- a [choice list](#choice-list) is associated with the object +- for [inputs](input_overview.md) and [list box columns](listbox_overview.md#list-box-columns), a [required list](properties_RangeOfValues.md#required-list) is also defined for the object (both options should use usually the same list), so that only values from the list can be entered by the user. + +This property specifies, in the context of a field or variable associated with a list of values, the type of contents to save: + +- **Save as Value** (default option): the value of the item chosen in the list by the user is saved directly. For example, if the user chooses the value "Blue", then this value is saved in the field. +- **Save as Reference**: the reference of the choice list item is saved in the object. This reference is the numeric value associated with each item either through the *itemRef* parameter of the `APPEND TO LIST` or `SET LIST ITEM` commands, or in the lists editor. + +This option lets you optimize memory usage: storing numeric values in fields uses less space than storing strings. It also makes it easier to translate applications: you just create multiple lists in different languages but with the same item references, then load the list based on the language of the application. + +Using this property requires compliance with the following principles: + +- To be able to store the reference, the field or variable data source must be of the Number type (regardless of the type of value displayed in the list). +- Valid and unique references must be associated with list items. +- If you use this property for a [drop-down list](dropdownList_Overview.md), it must be associated with a field. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|saveAs| string|"value", "reference"| + +#### Objects Supported +[Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Selected Items +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the elements or entities selected by the user. + +* for a collection list box, you must use a collection variable or an assignable expression that accepts collections, +* for an entity selection list box, an entity selection object is built. You must use an object variable or an assignable expression that accepts objects. + +>This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|selectedItemsSource| string|Collection expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + +--- +## Selection Name +`Named selection list boxes` + +Specifies the named selection to be used. You must enter the name of a valid named selection. It can be a process or interprocess named selection. The contents of the list box will be based on this selection. The named selection chosen must exist and be valid at the time the list box is displayed, otherwise the list box will be displayed blank. + +> Named selections are ordered lists of records. They are used to keep the order and current record of a selection in memory. For more information, refer to **Named Selections** section in the *4D Language Reference manual*. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|namedSelection| string|Named selection name| + +#### Objects Supported +[List Box](listbox_overview.md#overview) diff --git a/docs/FormObjects/properties_Display.md b/docs/FormObjects/properties_Display.md new file mode 100644 index 00000000000000..821e8f44a70ca9 --- /dev/null +++ b/docs/FormObjects/properties_Display.md @@ -0,0 +1,624 @@ +--- +id: propertiesDisplay +title:Display +--- + +--- +## Alpha Format + +Alpha formats control the way the alphanumeric fields and variables appear when displayed or printed. Here is a list of formats provided for alphanumeric fields: + +![](assets/en/FormObjects/property_alphaFormat.png) + +You can choose a format from this list or use any custom format. The default list contains formats for some of the most common alpha fields that require formats: US telephone numbers (local and long distance), Social Security numbers, and zip codes. You can also enter a custom format name set in the Filters and formats editor of the tool box. In this case, the format cannot be modified in the object properties. +Any custom formats or filters that you have created are automatically available, preceded by a vertical bar (|). + +The number sign (#) is the placeholder for an alphanumeric display format. You can include the appropriate dashes, hyphens, spaces, and any other punctuation marks that you want to display. You use the actual punctuation marks you want and the number sign for each character you want to display. + +For example, consider a part number with a format such as "RB-1762-1". + +The alpha format would be: + + ##-####-# + +When the user enters "RB17621," the field displays: + + RB-1762-1 + +The field actually contains "RB17621". + +If the user enters more characters than the format allows, 4D displays the last characters. For example, if the format is: + + (#######) + +and the user enters "proportion", the field displays: + + (portion) + +The field actually contains "proportion". 4D accepts and stores the entire entry no matter what the display format. No information is lost. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|textFormat|string|"### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats| + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + + + +--- + +## Date Format + +Date formats control the way dates appear when displayed or printed. For data entry, you enter dates in the MM/DD/YYYY format, regardless of the display format you have chosen. + +>Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for dates must only be selected among the 4D built-in formats. + +The table below shows choices available: + +|Format name|JSON String|Example (US system)| +|---|---|---| +|System date short|- (default)|03/25/20 | +|System date abbreviated *(1)*|systemMedium|Wed, Mar 25, 2020 | +|System date long|systemLong|Wednesday, March 25, 2020 | +|RFC 822|rfc822|Tue, 25 Mar 2020 22:00:00 GMT | +|Short Century|shortCentury |03/25/20 but 04/25/2032 *(2)*| +|Internal date long|long |March 25, 2020 | +|Internal date abbreviated *(1)*|abbreviated|Mar 25, 2020| +|Internal date short|short |03/25/2020 | +|ISO Date Time *(3)*|iso8601 |2020-03-25T00:00:00| + +*(1)* To avoid ambiguity and in accordance with current practice, the abbreviated date formats display "jun" for June and "jul" for July. This particularity only applies to French versions of 4D. + +*(2)* The year is displayed using two digits when it belongs to the interval (1930;2029) otherwise it will be displayed using four digits. This is by default but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + +*(3)* The `ISO Date Time` format corresponds to the XML date and time representation standard (ISO8601). It is mainly intended to be used when importing/exporting data in XML format and in Web Services. + +>Regardless of the display format, if the year is entered with two digits then 4D assumes the century to be the 21st if the year belongs to the interval (00;29) and the 20th if it belongs to the interval (30;99). This is the default setting but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|dateFormat|string|"systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values)| + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + +--- +## Number Format + +>Number fields include the Integer, Long integer, Integer 64 bits, Real and Float types. + +Number formats control the way numbers appear when displayed or printed. For data entry, you enter only the numbers (including a decimal point or minus sign if necessary), regardless of the display format you have chosen. + +4D provides various default number formats. + +### Placeholders + +In each of the number display formats, the number sign (#), zero (0), caret (^), and asterisk (*) are used as placeholders. You create your own number formats by using one placeholder for each digit you expect to display. + +|Placeholder |Effect for leading or trailing zero| +|---|---| +|# |Displays nothing| +|0| Displays 0| +|^| Displays a space (1)| +|*| Displays an asterisk| + +(1) The caret (^) generates a space character that occupies the same width as a digit in most fonts. + + +For example, if you want to display three-digit numbers, you could use the format ###. If the user enters more digits than the format allows, 4D displays <<< in the field to indicate that more digits were entered than the number of digits specified in the display format. + + +If the user enters a negative number, the leftmost character is displayed as a minus sign (unless a negative display format has been specified). If ##0 is the format, minus 26 is displayed as –26 and minus 260 is displayed as <<< because the minus sign occupies a placeholder and there are only three placeholders. + +>No matter what the display format, 4D accepts and stores the number entered in the field. No information is lost. + +Each placeholder character has a different effect on the display of leading or trailing zeros. A leading zero is a zero that starts a number before the decimal point; a trailing zero is a zero that ends a number after the decimal point. + +Suppose you use the format ##0 to display three digits. If the user enters nothing in the field, the field displays 0. If the user enters 26, the field displays 26. + + +### Separator characters + +The numeric display formats (except for scientific notations) are automatically based on regional system parameters. 4D replaces the “.” and “,” characters by, respectively, the decimal separator and the thousand separator defined in the operating system. The period and comma are thus considered as placeholder characters, following the example of 0 or #. + +>On Windows, when using the decimal separator key of the numeric keypad, 4D makes a distinction depending on the type of field where the cursor is located: +> * in a Real type field, using this key will insert the decimal separator defined in the system, +> * in any other type of field, this key inserts the character associated with the key, usually a period (.) or comma (,). + + +### Decimal points and other display characters + +You can use a decimal point in a number display format. If you want the decimal to display regardless of whether the user types it in, it must be placed between zeros. + +You can use any other characters in the format. When used alone, or placed before or after placeholders, the characters always appear. For example, if you use the following format: + + $##0 + +a dollar sign always appears because it is placed before the placeholders. + +If characters are placed between placeholders, they appear only if digits are displayed on both sides. For example, if you define the format: + + ###.##0 + +the point appears only if the user enters at least four digits. + +Spaces are treated as characters in number display formats. + +### Formats for positive, negative, and zero + +A number display format can have up to three parts allowing you to specify display formats for positive, negative, and zero values. You specify the three parts by separating them with semicolons as shown below: + + Positive;Negative;Zero + +You do not have to specify all three parts of the format. If you use just one part, 4D uses it for all numbers, placing a minus sign in front of negative numbers. + +If you use two parts, 4D uses the first part for positive numbers and zero and the second part for negative numbers. If you use three parts, the first is for positive numbers, the second for negative numbers, and the third for zero. + +>The third part (zero) is not interpreted and does not accept replacement characters. If you enter `###;###;#`, the zero value will be displayed “#”. In other words, what you actually enter is what will be displayed for the zero value. + +Here is an example of a number display format that shows dollar signs and commas, places negative values in parentheses, and does not display zeros: + + $###,##0.00;($###,##0.00); + +Notice that the presence of the second semicolon instructs 4D to use nothing to display zero. The following format is similar except that the absence of the second semicolon instructs 4D to use the positive number format for zero: + + $###,##0.00;($###,##0.00) + +In this case, the display for zero would be $0.00. + +### Scientific notation + +If you want to display numbers in scientific notation, use the **ampersand** (&) followed by a number to specify the number of digits you want to display. For example, the format: + + &3 + +would display 759.62 as: + + 7.60e+2 + + +The scientific notation format is the only format that will automatically round the displayed number. Note in the example above that the number is rounded up to 7.60e+2 instead of truncating to 7.59e+2. + +### Hexadecimal formats + +You can display a number in hexadecimal using the following display formats: + +* `&x`: This format displays hexadecimal numbers using the “0xFFFF” format. +* `&$`: This format displays hexadecimal numbers using the “$FFFF” format. + +### XML notation + +The `&xml` format will make a number compliant with XML standard rules. In particular, the decimal separator character will be a period "." in all cases, regardless of the system settings. + +### Displaying a number as a time + +You can display a number as a time (with a time format) by using `&/` followed by a digit. Time is determined by calculating the number of seconds since midnight that the value represents. The digit in the format corresponds to the order in which the time format appears in the Format drop-down menu. + +For example, the format: + + &/5 + +corresponds to the 5th time format in the pop-up menu, specifically the AM/PM time. A number field with this format would display 25000 as: + + 6:56 AM + +### Examples + +The following table shows how different formats affect the display of numbers. The three columns — Positive, Negative, and Zero — each show how 1,234.50, –1,234.50, and 0 would be displayed. + +|Format Entered |Positive| Negative |Zero| +|---|---|---|---| +|### | <<< | <<< | | +|#### | 1234 |<<<< | | +|####### | 1234 |-1234 | | +|#####.## | 1234.5 |-1234.5 | | +|####0.00 |1234.50 |-1234.50 |0.00 | +|#####0 |1234 |-1234 | 0 | +|+#####0;–#####0;0| +1234 |-1234 |0 | +|#####0DB;#####0CR;0|1234DB |1234CR |0 | +|#####0;(#####0)| 1234 |(1234) |0 | +|###,##0 | 1,234 |-1,234 |0 | +|##,##0.00 | 1,234.50|-1,234.50 |0.00 | +|\^\^\^\^\^\^\^ | 1234 |-1234 | | +|\^\^\^\^\^\^0 | 1234 |-1234 |0 | +|\^\^\^,\^\^0 |1,234 |-1,234 |0 | +|\^\^,\^\^0.00 | 1,234.50|-1,234.50 |0.00 | +|\*\*\*\*\*\*\* |\*\*\*1234 |\*\*-1234 |\*\*\*\*\*\*\*| +|\*\*\**\*\*0 |\*\*\*1234 |\*\*-1234 |\*\*\*\*\*\*0| +|\*\*\*,*\*0 |\*\*1,234 |\*-1,234 |\*\*\*\*\*\*0| +|\*\*,\*\*0.00 |\*1,234.50 |-1,234.50 |\*\*\*\*\*0.00| +|$\*,\*\*0.00;–$\*,\*\*0.00|$1,234.50|-$1,234.50|$\*\*\*\*0.00| +|$\^\^\^\^0 | $ 1234 |$–1234 |$ 0 | +|$\^\^\^0;–$\^\^\^0|$1234 |–$1234 |$ 0 | +|$\^\^\^0 ;($\^\^\^0)|$1234 |($1234) |$ 0 | +|$\^,\^\^0.00 ;($\^,\^\^0.00)|$1,234.50 | ($1,234.50)|$ 0.00| +|&2 |1.2e+3 |-1.2e+3 |0.0e+0 | +|&5 |1.23450e+3 |-1.23450e+3|0.00000| +|&xml | 1234.5 |-1234.5 | 0 | + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|numberFormat|string|Numbers (including a decimal point or minus sign if necessary)| + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Progress Indicators](progressIndicator.md) + + + + + + +--- +## Picture Format + +Picture formats control how pictures appear when displayed or printed. For data entry, the user always enters pictures by pasting them from the Clipboard or by drag and drop, regardless of the display format. + +The truncation and scaling options do not affect the picture itself. The contents of a Picture field are always saved. Only the display on the particular form is affected by the picture display format. + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Truncated (centered and non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Truncated (centered)** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. + +>When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + +### Scaled to fit (proportional) and Scaled to fit centered (proportional) + +`JSON grammar: "proportionalTopLeft" / "proportionalCenter"` + +When you use **Scaled to fit (proportional)**, the picture is reduced proportionally on all sides to fit the area created for the picture. The **Scaled to fit centered (proportional)** option does the same, but centers the picture in the picture area. + +If the picture is smaller than the area set in the form, it will not be modified. If the picture is bigger than the area set in the form, it is proportionally reduced. Since it is proportionally reduced, the picture will not appear distorted. + +If you have applied the **Scaled to fit centered (proportional)** format, the picture is also centered in the area: + +![](assets/en/FormObjects/property_pictureFormat_ScaledProportional.png) + + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|pictureFormat|string|"truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft", "proportionalCenter"| + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + +--- +## Time Format + +Time formats control the way times appear when displayed or printed. For data entry, you enter times in the 24-hour HH:MM:SS format or the 12-hour HH:MM:SS AM/PM format, regardless of the display format you have chosen. + +>Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for times must only be selected among the 4D built-in formats. + +The table below shows the Time field display formats and gives examples: + +|Format name|JSON string| Comments|Example for 04:30:25| +|---|---|---|---| +|HH:MM:SS|hh_mm_ss| |04:30:25 | +|HH:MM|hh_mm| |04:30 | +|Hour Min Sec|HH_MM_SS| |4 hours 30 minutes 25 seconds | +|Hour Min|HH_MM| |4 hours 30 minutes | +|HH:MM AM/PM|hh_mm_am| |4:30 a.m. | +|MM SS|mm_ss |Time expressed as a duration from 00:00:00 |270:25| +|Min Sec|MM_SS|Time expressed as a duration from 00:00:00 |270 Minutes 25 Seconds| +|ISO Date Time|iso8601|Corresponds to the XML standard for representing time-related data. It is mainly intended to be used when importing/exporting data in XML format| 0000-00-00T04:30:25| +|System time short|- (default)| Standard time format defined in the system|04:30:25| +|System time long abbreviated|systemMedium |macOS only: Abbreviated time format defined in the system.
Windows: this format is the same as the System time short format| 4•30•25 AM| +|System time long|systemLong| macOS only: Long time format defined in the system.
Windows: this format is the same as the System time short format |4:30:25 AM HNEC| + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|timeFormat|string |"systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values)| + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + +--- +## Text when False/Text when True + +When a [boolean expression](properties_Object.md#expression-type) is displayed as: +- a text in an [input object](input_overview.md) +- a ["popup"](properties_Display.md#display-type) in a [list box column](listbox_overview.md#list-box-columns), + +... you can select the text to display for each value: +- **Text when True** - the text to be displayed when the value is "true" +- **Text when False** - the text to be displayed when the value is "false" + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|booleanFormat|string|"\<*textWhenTrue*\>;\<*textWhenFalse*\>", e.g. "Assigned;Unassigned"| + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + +--- +## Display Type + +Used to associate a display format with the column data. The formats provided depends on the variable type (array type list box) or the data/field type (selection and collection type list boxes). + +Boolean and number (numeric or integer) columns can be displayed as check boxes. In this case, the [Title](#title) property can be defined. + +Boolean columns can also be displayed as pop-up menus. In this case, the [Text when False and Text when True](#text-when-false-text-when-true) properties must be defined. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|controlType|string|

  • **number columns**: "automatic" (default) or "checkbox"
  • **boolean columns**: "checkbox" (default) or "popup"| + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Not rendered + +When this property is enabled, the object is not drawn on the form, however it can still be activated. + +In particular, this property allows implementing "invisible" buttons. Non-rendered buttons can be placed on top of graphic objects. They remain invisible and do not highlight when clicked, however their action is triggered when they are clicked. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|display| boolean|true, false| + +#### Objects Supported + +[Button](button_overview.md) - [Drop-down List](dropdownList_Overview.md) + + + + + + + +--- +## Three-States + + +Allows a check box object to accept a third state. The variable associated with the check box returns the value 2 when the check box is in the third state. + + +#### Three-states check boxes in list box columns + +List box columns with a numeric [data type](properties_Object.md#expression-type) can be displayed as three-states check boxes. If chosen, the following values are displayed: +* 0 = unchecked box, +* 1 = checked box, +* 2 (or any value >0) = semi-checked box (third state). For data entry, this state returns the value 2. +* -1 = invisible check box, +* -2 = unchecked box, not enterable, +* -3 = checked box, not enterable, +* -4 = semi-checked box, not enterable + +In this case as well, the [Title](#title) property is also available so that the title of the check box can be entered. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|threeState| boolean|true, false| + +#### Objects Supported + +[Check box](checkbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Title + +This property is available for a list box column if: +- the [column type](properties_Object.md#expression-type) is **boolean** and its [display type](properties_Display.md#display-type) is "Check Box" +- the [column type](properties_Object.md#expression-type) is **number** (numeric or integer) and its [display type](properties_Display.md#display-type) is "Three-states Checkbox". + +In that cases, the title of the check box can be entered using this property. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|controlTitle|string |Any custom label for the check box | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Truncate with ellipsis + +Controls the display of values when list box columns are too narrow to show their full contents. + +This option is available for columns with any type of contents, except pictures and objects. + +* When the property is enabled (default), if the contents of a list box cell exceed the width of the column, they are truncated and an ellipsis is displayed: + + ![](assets/en/FormObjects/property_truncate1.png) + +>The position of the ellipsis depends on the OS. In the above example (Windows), it is added on the right side of the text. On macOS, the ellipsis is added in the middle of the text. + +* When the property is disabled, if the contents of a cell exceed the width of the column, they are simply clipped with no ellipsis added: + + ![](assets/en/FormObjects/property_truncate2.png) + +The Truncate with ellipsis option is enabled by default and can be specified with list boxes of the Array, Selection, or Collection type. + + +> When applied to Text type columns, the Truncate with ellipsis option is available only if the [Wordwrap](#wordwrap) option is not selected. When the Wordwrap property is selected, extra contents in cells are handled through the word-wrapping features so the Truncate with ellipsis property is not available. + +The Truncate with ellipsis property can be applied to Boolean type columns; however, the result differs depending on the [cell format](#display-type): +- For Pop-up type Boolean formats, labels are truncated with an ellipsis, +- For Check box type Boolean formats, labels are always clipped. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|truncateMode | string|"withEllipsis", "none" | + + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-footers) + + + + + +--- +## Visibility + +This property allows hiding by default the object in the Application environment. + +You can handle the Visible property for most form objects. This property simplifies dynamic interface development. In this context, it is often necessary to hide objects programatically during the `On load` event of the form then to display certain objects afterwards. The Visible property allows inverting this logic by making certain objects invisible by default. The developer can then program their display using the `OBJECT SET VISIBLE` command depending on the context. + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|visibility|string|"visible", "hidden"| + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Text Area](text.md) - [Web Area](webArea_overview.md) + + + + + + +--- +## Wordwrap + +> For [input](input_overview.md) objects, available when the [Multiline](properties_Entry.md#multiline) property is set to "yes" . + +Manages the display of contents when it exceeds the width of the object. + +#### Checked for list box/Yes for input +`JSON grammar: "normal"` + +When this option is selected, text automatically wraps to the next line whenever its width exceeds that of the column/area, if the column/area height permits it. + +- In single-line columns/areas, only the last word that can be displayed entirely is displayed. 4D inserts line returns; it is possible to scroll the contents of the area by pressing the down arrow key. + +- In multiline columns/areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap2.png) + + +#### Unchecked for list box/No for input +`JSON grammar: "none"` + +When this option is selected, 4D does not do any automatic line returns and the last word that can be displayed may be truncated. In text type areas, carriage returns are supported: + +![](assets/en/FormObjects/wordwrap3.png) + +In list boxes, any text that is too long is truncated and displayed with an ellipse (...). In the following example, the Wordwrap option is **checked for the left column** and **unchecked for the right column**: + +![](assets/en/FormObjects/property_wordwrap1.png) + +Note that regardless of the Wordwrap option’s value, the row height is not changed. If the text with line breaks cannot be entirely displayed in the column, it is truncated (without an ellipse). In the case of list boxes displaying just a single row, only the first line of text is displayed: + +![](assets/en/FormObjects/property_wordwrap2.png) + + +#### Automatic for input (default option) +`JSON grammar: "automatic"` + +- In single-line areas, words located at the end of lines are truncated and there are no line returns. +- In multiline areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap1.png) + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|wordwrap |string | "automatic" (excluding list box), "normal", "none"| + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + diff --git a/docs/FormObjects/properties_Entry.md b/docs/FormObjects/properties_Entry.md new file mode 100644 index 00000000000000..0024f25cd839c4 --- /dev/null +++ b/docs/FormObjects/properties_Entry.md @@ -0,0 +1,346 @@ +--- +id: propertiesEntry +title:Entry +--- +--- +## Auto Spellcheck + +4D includes an integrated and customizable spell-check utility. Text type [inputs](input_overview.md) can be checked, as well as [4D Write Pro](writeProArea_overview.md) documents. + +The Auto Spellcheck property activates the spell-check for each object. When used, a spell-check is automatically performed during data entry. You can also execute the `SPELL CHECKING` 4D language command for each object to be checked. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|spellcheck|boolean |true, false| + + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Input](input_overview.md) + + +--- +## Context Menu + +Allows the user access to a standard context menu in the object when the form is executed. + +For a picture type [input](input_overview.md), in addition to standard editing commands (Cut, Copy, Paste and Clear), the menu contains the **Import...** command, which can be used to import a picture stored in a file, as well as the **Save as...** command, which can be used to save the picture to disk. The menu can also be used to modify the display format of the picture: the **Truncated non-centered**, **Scaled to fit** and **Scaled to fit centered prop.** options are provided. The modification of the [display format](properties_Display#picture-format) using this menu is temporary; it is not saved with the record. + +For a [multi-style](properties_Text.md#multi-style) text type [input](input_overview.md), in addition to standard editing commands, the context menu provides the following commands: +- **Fonts...**: displays the font system dialog box +- **Recent fonts**: displays the names of recent fonts selected during the session. The list can store up to 10 fonts (beyond that, the last font used replaces the oldest). By default, this list is empty and the option is not displayed. You can manage this list using the `SET RECENT FONTS` and `FONT LIST` commands. +- commands for supported style modifications: font, size, style, color and background color. +When the user modifies a style attribute via this pop-up menu, 4D generates the `On After Edit` form event. + +For a [Web Area](webArea_overview.md), the contents of the menu depend of the rendering engine of the platform. It is possible to control access to the context menu via the [`WA SET PREFERENCE`](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|contextMenu|string |"automatic" (used if missing), "none"| + +#### Objects Supported + +[Input](input_overview.md) - [Web Area](webArea_overview.md) - [4D Write Pro areas](writeProArea_overview.md) + + + + + + +--- +## Enterable + +The Enterable attribute indicates whether users can enter values into the object. + +Objects are enterable by default. If you want to make a field or an object non-enterable for that form, you can disable the Enterable property for the object. A non-enterable object only displays data. You control the data by methods that use the field or variable name. You can still use the `On Clicked`, `On Double Clicked`, `On Drag Over`, `On Drop`, `On Getting Focus` and `On Losing Focus` form events with non-enterable objects. This makes it easier to manage custom context menus and lets you design interfaces where you can drag-and-drop and select non-enterable variables. + +When this property is disabled, any pop-up menus associated with a list box column via a list are disabled. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|enterable|boolean |true, false| + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Progress Bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + +--- +## Entry Filter + +An entry filter controls exactly what the user can type during data entry. Unlike [required lists](properties_RangeOfValues.md#required-list) for example, entry filters operate on a character-by-character basis. For example, if a part number always consists of two letters followed by three digits, you can use an entry filter to restrict the user to that pattern. You can even control the particular letters and numbers. + +An entry filter operates only during data entry. It has no effect on data display after the user deselects the object. In general, you use entry filters and [display formats](properties_Display.md) together. The filter constrains data entry and the format ensures proper display of the value after data entry. + +During data entry, an entry filter evaluates each character as it is typed. If the user attempts to type an invalid character (a number instead of a letter, for example), 4D simply does not accept it. The null character remains unchanged until the user types a valid character. + +Entry filters can also be used to display required formatting characters so that the user need not enter them. For example, an American telephone number consists of a three-digit area code, followed by a seven-digit number that is broken up into two groups of three and four digits, respectively. A display format can be used to enclose the area code in parentheses and display a dash after the third digit of the telephone number. When such a format is used, the user does not need to enter the parentheses or the dashes. + +### Defining an entry filter + +Most of the time, you can use one of the [built-in filters](#default-entry-filters) of 4D for what you need; however, you can also create and use custom filters: + +- you can directly enter a filter definition string +- or you can enter the name of an entry filter created in the Filters editor in the Toolbox. The names of custom filters you create begin with a vertical bar (|). + +For information about creating entry filters, see [Filter and format codes](https://doc.4d.com/4Dv18/4D/18/Filter-and-format-codes.300-4575706.en.html). + + +### Default entry filters + +Here is a table that explains each of the entry filter choices in the Entry Filter drop-down list: + +|Entry Filter|Description| +|---|---| +|~A| Allow any letters, but convert to uppercase.| +|&9| Allow only numbers.| +|&A| Allow only capital letters.| +|&a| Allow only letters (uppercase and lowercase).| +|&@| Allow only alphanumeric characters. No special characters.| +|~a##| State name abbreviation (e.g., CA). Allow any two letters, but convert to uppercase.| +|!0&9##/##/##| Standard date entry format. Display zeros in entry spaces. Allow any numbers.| +|!0&9 Day: ## Month: ## Year: ##| Custom date entry format. Display zeros in entry spaces. Allow any numbers. Two entries after each word.| +|!0&9##:##| Time entry format. Limited to hours and minutes. Display zeros in entry spaces. Allow any four numbers, separated by a colon.| +|!0&9## Hrs ## Mins ## Secs| Time entry format. Display zeros in entry spaces. Allow any two numbers before each word.| +|!0&9Hrs: ## Mins: ## Secs: ## |Time entry format. Display zeros in entry spaces. Allow any two numbers after each word.| +|!0&9##-##-##-##| Local telephone number format. Display zeros in entry spaces. Allow any number. Three entries, hyphen, four entries.| +|!_&9(###)!0###-####| Long distance telephone number. Display underscores in first three entry spaces, zeros in remainder.| +|!0&9###-###-###| Long distance telephone number. Display zeros in entry spaces. Allow any number. Three entries, hyphen, three entries, hyphen, four entries.| +|!0&9###-##-###| Social Security number. Display zeros in entry spaces. Allow any numbers.| +|~"A-Z;0-9; ;,;.;-"| Uppercase letters and punctuation. Allow only capital letters, numbers, spaces, commas, periods, and hyphens.| +|&"a-z;0-9; ;,;.;-"| Upper and lowercase letters and punctuation. Allow lowercase letters, numbers, spaces, commas, periods, and hyphens.| +|&"0-9;.;-"| Numbers. Allow only numbers, decimal points, and hyphens (minus sign).| + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|entryFilter|string |
  • Entry filter code or
  • Entry filter name (filter names start with | )| + + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + + +--- +## Focusable + +When the **Focusable** property is enabled for an object, the object can have the focus (and can thus be activated by the keyboard for instance). It is outlined by a gray dotted line when it is selected — except when the [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) option has also been selected. + +> An [input object](input_overview.md) is always focusable if it has the [Enterable](#enterable) property. + +* ![](assets/en/FormObjects/property_focusable1.png)
    Check box shows focus when selected +

    +

    + +* ![](assets/en/FormObjects/property_focusable2.png)
    Check box is selected but cannot show focus| + + +When the **Focusable** property is selected for a non-enterable object, the user can select, copy or even drag-and-drop the contents of the area. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|focusable|boolean |true, false| + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) + + + + +--- +## Keyboard Layout + +This property associates a specific keyboard layout to an [input object](input_overview.md). For example, in an international application, if a form contains a field whose contents must be entered in Greek characters, you can associate the "Greek" keyboard layout with this field. This way, during data entry, the keyboard configuration is automatically changed when this field has the focus. + +By default, the object uses the current keyboard layout. + +> You can also set and get the keyboard dynamically using the `OBJECT SET KEYBOARD LAYOUT` and `OBJECT Get keyboard layout` commands. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|keyboardDialect|text |Language code, for example "ar-ma" or "cs". See RFC3066, ISO639 and ISO3166| + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Multiline + +This property is available for [inputs objects](input_overview.md) containing expressions of the Text type and fields of the Alpha and Text type. It can have three different values: Yes, No, Automatic (default). + +#### Automatic +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- In multiline inputs, 4D carries out automatic line returns: +![](assets/en/FormObjects/multilineAuto.png) + +#### No +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- There are never line returns: the text is always displayed on a single row. If the Alpha or Text field or variable contains carriage returns, the text located after the first carriage return is removed as soon as the area is modified: +![](assets/en/FormObjects/multilineNo.png) + +#### Yes +When this value is selected, the property is managed by the [Wordwrap](properties_Display.md#wordwrap) option. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|multiline|text |"yes", "no", "automatic" (default if not defined)| + + +#### Objects Supported + +[Input](input_overview.md) + + + +--- +## Placeholder + +4D can display placeholder text in the fields of your forms. + +Placeholder text appears as watermark text in a field, supplying a help tip, indication or example for the data to be entered. This text disappears as soon as the user enters a character in the area: + +![](assets/en/FormObjects/property_placeholder.png) + +The placeholder text is displayed again if the contents of the field is erased. + +A placeholder can be displayed for the following types of data: + +- string (text or alpha) +- date and time when the **Blank if null** property is enabled. + +You can use an XLIFF reference in the ":xliff:resname" form as a placeholder, for example: + + :xliff:PH_Lastname + +You only pass the reference in the "Placeholder" field; it is not possible to combine a reference with static text. + +>You can also set and get the placeholder text by programming using the [OBJECT SET PLACEHOLDER](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-PLACEHOLDER.301-4128243.en.html) and [OBJECT Get placeholder](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-Get-placeholder.301-4128249.en.html) commands. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|placeholder |string |Text to be displayed (grayed out) when the object does not contain any value| + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Input](input_overview.md) + + +#### See also + +[Help tip](properties_Help.md) + + + +--- +## Selection always visible + +This property keeps the selection visible within the object after it has lost the focus. This makes it easier to implement interfaces that allow the text style to be modified (see [Multi-style](properties_Text.md#multi-style)). + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|showSelection|boolean |true, false| + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Shortcut + +This property allows setting special meaning keys (keyboard shortcuts) for [buttons](button_overview.md), [radio buttons](radio_overview.md), and [checkboxes](checkbox_overview.md). They allow the user to use the control using the keyboard instead of having to use the mouse. + +You can configure this option by clicking the [...] button in the Shortcuts property in the Property List. + + +![](assets/en/FormObjects/property_shortcut.png) + +>You can also assign a shortcut to a custom menu command. If there is a conflict between two shortcuts, the active object has priority. For more information about associating shortcuts with menus, refer to [Setting menu properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Setting-menu-properties.300-4163525.en.html). + +To view a list of all the shortcuts used in the 4D Design environment, see the [Shortcuts Page](https://doc.4d.com/4Dv17R5/4D/17-R5/Shortcuts-Page.300-4163701.en.html) in the Preferences dialog box. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|shortcutAccel |boolean|true, false (Ctrl Windows/Command macOS)| +|shortcutAlt |boolean|true, false| +|shortcutCommand |boolean |true, false| +|shortcutControl |boolean |true, false (macOS Control)| +|shortcutShift |boolean |true, false| +|||| +|shortcutKey |string |

  • any character key: "a", "b"...
  • [F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]"| + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Picture Button](pictureButton_overview.md) - +[Radio Button](radio_overview.md) + + + + + +--- +## Single-Click Edit + +Enables direct passage to edit mode in list boxes. + +When this option is enabled, list box cells switch to edit mode after a single user click, regardless of whether or not this area of the list box was selected beforehand. Note that this option allows cells to be edited even when the list box [selection mode](properties_ListBox.md#selection-mode) is set to "None". + +When this option is not enabled, users must first select the cell row and then click on a cell in order to edit its contents. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|singleClickEdit|boolean |true, false| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + diff --git a/docs/FormObjects/properties_Footers.md b/docs/FormObjects/properties_Footers.md new file mode 100644 index 00000000000000..2e793f5c02d235 --- /dev/null +++ b/docs/FormObjects/properties_Footers.md @@ -0,0 +1,71 @@ +--- +id: propertiesFooters +title: Footers +--- +--- +## Display Footers + +This property is used to display or hide [list box column footers](listbox_overview.md#list-box-footers). There is one footer per column; each footer is configured separately. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|showFooters|boolean |true, false| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box footer in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. + +>This property can also be set dynamically using the [LISTBOX SET FOOTERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/List-box-footer-specific-properties.300-4354808.en.html) command. + + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels +*(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showFooters": true, + "footerHeight": "44px", + ... + } +``` + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|footerHeight|string |positive decimal+px | em| + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Headers](properties_Headers.md) - [List box footers](listbox_overview.md#list-box-footers) \ No newline at end of file diff --git a/docs/FormObjects/properties_Gridlines.md b/docs/FormObjects/properties_Gridlines.md new file mode 100644 index 00000000000000..594c4f9166d093 --- /dev/null +++ b/docs/FormObjects/properties_Gridlines.md @@ -0,0 +1,36 @@ +--- +id: propertiesGridlines +title: Gridlines +--- +--- +## Horizontal Line Color + +Defines the color of the horizontal lines in a list box (gray by default). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|horizontalLineStroke| color|any css value, "'transparent", "automatic"| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Vertical Line Color + +Defines the color of the vertical lines in a list box (gray by default). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|verticalLineStroke| color|any css value, "'transparent", "automatic"| + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/docs/FormObjects/properties_Headers.md b/docs/FormObjects/properties_Headers.md new file mode 100644 index 00000000000000..d0cef3e36f1afb --- /dev/null +++ b/docs/FormObjects/properties_Headers.md @@ -0,0 +1,70 @@ +--- +id: propertiesHeaders +title: Headers +--- +--- +## Display Headers + +This property is used to display or hide [list box column headers](listbox_overview.md#list-box-headers). There is one header per column; each header is configured separately. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|showHeaders|boolean |true, false| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box header in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. + +>This property can also be set dynamically using the [LISTBOX SET HEADERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-SET-HEADERS-HEIGHT.301-4311129.en.html) command. + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels +*(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showHeaders": true, + "headerHeight": "22px", + ... + } +``` + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|headerHeight|string |positive decimal+px | em )| + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Footers](properties_Footers.md) - [List box headers](listbox_overview.md#list-box-headers) \ No newline at end of file diff --git a/docs/FormObjects/properties_Help.md b/docs/FormObjects/properties_Help.md new file mode 100644 index 00000000000000..cb09e263a4adfc --- /dev/null +++ b/docs/FormObjects/properties_Help.md @@ -0,0 +1,53 @@ +--- +id: propertiesHelp +title:Help +--- +--- +## Help Tip + +This property allows associating help messages with active objects in your forms. They can be displayed at runtime: + +![](assets/en/FormObjects/property_helpTip.png) + +> - The display delay and maximum duration of help tips can be controlled using the ``Tips delay`` and ``Tips duration`` selectors of the **[SET DATABASE PARAMETER](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html)** command. +> - Help tips can be globally disabled or enabled for the application using the Tips enabled selector of the [**SET DATABASE PARAMETER**](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html) command. + +You can either: + +- designate an existing help tip, previously specified in the [Help tips](https://doc.4d.com/4Dv17R5/4D/17-R5/Help-tips.200-4163423.en.html) editor of 4D. +- or enter the help message directly as a string. This allows you to take advantage of XLIFF architecture. You can enter an XLIFF reference here in order to display a message in the application language (for more information about XLIFF, refer to [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html). You can also use 4D references ([see Using references in static text](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-references-in-static-text.300-4163725.en.html)). + +>In macOS, displaying help tips is not supported in pop-up type windows. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---:|:---:|---| +|tooltip|text| additional information to help a user| + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md#overview) - [Hierarchical List](list_overview.md#overview) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up menu](picturePopupMenu_overview.md) - [Radio Button](radio_overview.md) + + +#### Other help features + +You can also associate help messages with form objects in two other ways: + +- at the level of the database structure (fields only). In this case, the help tip of the field is displayed in every form where it appears. For more information, refer to “Help Tips” in [Field properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Field-properties.300-4163580.en.html). +- using the **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command, for the current process. + +When different tips are associated with the same object in several locations, the following priority order is applied: + +1. structure level (lowest priority) +2. form editor level +3. **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command (highest priority) + + +#### See also + +[Placeholder](properties_Entry.md#placeholder) + + + diff --git a/docs/FormObjects/properties_Hierarchy.md b/docs/FormObjects/properties_Hierarchy.md new file mode 100644 index 00000000000000..b556bdc83bd942 --- /dev/null +++ b/docs/FormObjects/properties_Hierarchy.md @@ -0,0 +1,25 @@ +--- +id: propertiesHierarchy +title: Hierarchy +--- +--- +## Hierarchical List Box +`Array type list boxes` + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +See [Hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes) + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|datasource|string array |Collection of array names defining the hierarchy| + +#### Objects Supported + +[List Box](listbox_overview.md) diff --git a/docs/FormObjects/properties_ListBox.md b/docs/FormObjects/properties_ListBox.md new file mode 100644 index 00000000000000..2cbec1f1891edf --- /dev/null +++ b/docs/FormObjects/properties_ListBox.md @@ -0,0 +1,253 @@ +--- +id: propertiesListBox +title: List Box +--- + +--- +## Columns + +Collection of columns of the list box. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|columns |collection of column objects|Contains the properties for the list box columns | + +For a list of properties supported by column objects, please refer to the [Column Specific Properties](listbox_overview#column-specific-properties) section. + +#### Objects Supported + +[List Box](listbox_overview.md) + +--- +## Detail Form Name +`Selection type list box` + +Specifies the form to use for modifying or displaying individual records of the list box. + +The specified form is displayed: + +* when using `Add Subrecord` and `Edit Subrecord` standard actions applied to the list box (see [Using standard actions](https://doc.4d.com/4Dv17R6/4D/17-R6/Using-standard-actions.300-4354811.en.html)), +* when a row is double-clicked and the [Double-click on Row](#double-click-on-row) property is set to "Edit Record" or "Display Record". + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|detailForm |string |
  • Name (string) of table or project form
  • POSIX path (string) to a .json file describing the form
  • Object describing the form | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Double-click on row +`Selection type list box` + +Sets the action to be performed when a user double-clicks on a row in the list box. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the detail form defined [for the list box](#detail-form-name). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. + +>Double-clicking an empty row is ignored in list boxes. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|doubleClickInRowAction |string |"editSubrecord", "displaySubrecord"| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Highlight Set + +`Selection type list box` + +This property is used to specify the set to be used to manage highlighted records in the list box (when the **Arrays** data source is selected, a Boolean array with the same name as the list box is used). + +4D creates a default set named *ListBoxSetN* where *N* starts at 0 and is incremented according to the number of list boxes in the form. If necessary, you can modify the default set. It can be a local, process or interprocess set (we recommend using a local set, for example *$LBSet*, in order to limit network traffic). It is then maintained automatically by 4D. If the user selects one or more rows in the list box, the set is updated immediately. If you want to select one or more rows by programming, you can apply the commands of the “Sets” theme to this set. + +>* The highlighted status of the list box rows and the highlighted status of the table records are completely independent. +>* If the “Highlight Set” property does not contain a name, it will not be possible to make selections in the list box. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +| highlightSet| string| Name of the set| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Locked columns and static columns + +Locked columns and static columns are two separate and independent functionalities in list boxes: + +* Locked columns always stay displayed to the left of the list box; they do not scroll horizontally. +* Static columns cannot be moved by drag and drop within the list box. + +>You can set static and locked columns by programming, refer to [List Box](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box.201-4310263.en.html) in the [4D Language Reference](https://doc.4d.com/4Dv17R6/4D/17-R6/4D-Language-Reference.100-4310216.en.html) manual. + +These properties interact as follows: + +* If you set columns that are only static, they cannot be moved. + +* If you set columns that are locked but not static, you can still change their position freely within the locked area. However, a locked column cannot be moved outside of this locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns1.png) + +* If you set all of the columns in the locked area as static, you cannot move these columns within the locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns2.png) + +* You can set a combination of locked and static columns according to your needs. For example, if you set three locked columns and one static column, the user can swap the two right-most columns within the locked area (since only the first column is static). + +### Number of Locked Columns + +Number of columns that must stay permanently displayed in the left part of the list box, even when the user scrolls through the columns horizontally. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|lockedColumnCount |integer |minimum: 0| + +#### Objects Supported + +[List Box](listbox_overview.md) + + +### Number of Static Columns + +Number of columns that cannot be moved during execution. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|staticColumnCount | integer|minimum: 0| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Number of Columns + +Sets the number of columns of the list box. + +>You can add or remove columns dynamically by programming, using commands such as [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-INSERT-COLUMN.301-4505224.en.html) or [LISTBOX DELETE COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-DELETE-COLUMN.301-4505185.en.html). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|columnCount|integer |minimum: 1 + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Row Control Array + +`Array type list box` + +A 4D array controlling the display of list box rows. + +You can set the "hidden", "disabled" and "selectable" interface properties for each row in an array-based list box using this array. It can also be designated using the `LISTBOX SET ARRAY` command. + +The row control array must be of the Longint type and include the same number of rows as the list box. Each element of the *Row Control Array* defines the interface status of its corresponding row in the list box. Three interface properties are available using constants in the "List Box" constant theme: + +|Constant|Value|Comment| +|---|---|---| +|lk row is disabled |2|The corresponding row is disabled. The text and controls such as check boxes are dimmed or grayed out. Enterable text input areas are no longer enterable. Default value: Enabled| +|lk row is hidden|1|The corresponding row is hidden. Hiding rows only affects the display of the list box. The hidden rows are still present in the arrays and can be managed by programming. The language commands, more particularly `LISTBOX Get number of rows` or `LISTBOX GET CELL POSITION`, do not take the displayed/hidden status of rows into account. For example, in a list box with 10 rows where the first 9 rows are hidden, `LISTBOX Get number of rows` returns 10. From the user’s point of view, the presence of hidden rows in a list box is not visibly discernible. Only visible rows can be selected (for example using the Select All command). Default value: Visible| +|lk row is not selectable|4|The corresponding row is not selectable (highlighting is not possible). Enterable text input areas are no longer enterable unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. Controls such as check boxes and lists are still functional however. This setting is ignored if the list box selection mode is "None". Default value: Selectable| + +To change the status for a row, you just need to set the appropriate constant(s) to the corresponding array element. For example, if you do not want row #10 to be selectable, you can write: + +```code4d + aLControlArr{10}:=lk row is not selectable +``` + +![](assets/en/FormObjects/listbox_styles5.png) + +You can define several interface properties at once: + +```code4d + aLControlArr{8}:=lk row is not selectable + lk row is disabled +``` + +![](assets/en/FormObjects/listbox_styles6.png) + +Note that setting properties for an element overrides any other values for this element (if not reset). For example: + +```code4d + aLControlArr{6}:=lk row is disabled + lk row is not selectable + //sets row 6 as disabled AND not selectable + aLControlArr{6}:=lk row is disabled + //sets row 6 as disabled but selectable again +``` + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|rowControlSource |string |Row control array name| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). +The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|selectionMode|string|"multiple", "single", "none"| + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/docs/FormObjects/properties_Object.md b/docs/FormObjects/properties_Object.md new file mode 100644 index 00000000000000..0e2494f75ce87c --- /dev/null +++ b/docs/FormObjects/properties_Object.md @@ -0,0 +1,346 @@ +--- +id: propertiesObject +title:Objects +--- + +--- +## Type + + `MANDATORY SETTING` + +This property designates the type of the [active or inactive form object](formObjects_overview.md). + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|type|string|"button", "buttonGrid", "checkbox", "combo", "dropdown", "groupBox", "input", "line", "list", "listbox", "oval", "picture", "pictureButton", "picturePopup", "plugin", "progress", "radio", "rectangle", "ruler", "spinner", "splitter", "stepper", "subform", "tab", "text", "view", "webArea", "write"| + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) -[Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Text Area](text.md) - [Web Area](webArea_overview.md) + + +--- +## Object Name + +Each active form object is associated with an object name. Each object name must be unique. + +>Object names are limited to a size of 255 bytes. + +When using 4D’s language, you can refer to an active form object by its object name (for more information about this, refer to [Object Properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Object-Properties.300-4128195.en.html) in the 4D Language Reference manual). + +For more information about naming rules for form objects, refer to [Identifiers](Concepts/identifiers.md) section. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|name|string |Any allowed name which does not belong to an already existing object| + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Text Area](text.md) - [Web Area](webArea_overview.md) + + + +--- +## Variable or Expression + +> See also **[Expression](properties_DataSource#expression)** for Selection and collection type list box columns. + + +This property specifies the source of the data. Each active form object is associated with an object name and a variable name. The variable name can be different from the object’s name. In the same form, you can use the same variable several times while each [object name](#object-name) must be unique. + +>Variable name size is limited to 31 bytes. See [Identifiers](Concepts/identifiers.md) section for more information about naming rules. + +The form object variables allow you to control and monitor the objects. For example, when a button is clicked, its variable is set to 1; at all other times, it is 0. The expression associated with a progress indicator lets you read and change the current setting. + +Variables or expressions can be enterable or non-enterable and can receive data of the Text, Integer, Numeric, Date, Time, Picture, Boolean, or Object type. + +### Expressions + +You can use an expression as data source for an object. Any valid 4D expression is allowed: simple expression, formula, 4D function, project method name or field using the standard `[Table]Field` syntax. The expression is evaluated when the form is executed and reevaluated for each form event. Note that expressions can be [assignable or non-assignable](Concepts/quick-tour.md#expressions). + +>If the value entered corresponds to both a variable name and a method name, 4D considers that you are indicating the method. + + + +### Dynamic variables + +You can leave it up to 4D to create variables associated with your form objects (buttons, enterable variables, check boxes, etc.) dynamically and according to your needs. To do this, simply leave the "Variable or Expression" property (or `dataSource` JSON field) blank. + +When a variable is not named, when the form is loaded, 4D creates a new variable for the object, with a calculated name that is unique in the space of the process variables of the interpreter (which means that this mechanism can be used even in compiled mode). This temporary variable will be destroyed when the form is closed. +In order for this principle to work in compiled mode, it is imperative that dynamic variables are explicitly typed. There are two ways to do this: + +- You can set the type using the [Expression type](#expression-type) property. +- You can use a specific initialization code when the form is loaded that uses, for example, the `VARIABLE TO VARIABLE` command: + +```code4d + If(Form event=On Load) + C_TEXT($init) + $Ptr_object:=OBJECT Get pointer(Object named;"comments") + $init:="" + VARIABLE TO VARIABLE(Current process;$Ptr_object->;$init) + End if +``` + +In the 4D code, dynamic variables can be accessed using a pointer obtained with the `OBJECT Get pointer` command. For example: + +```code4d + // assign the time 12:00:00 to the variable for the "tstart" object + $p :=OBJECT Get pointer(Object named;"tstart") + $p->:=?12:00:00? +``` + +There are two advantages with this mechanism: + +- On the one hand, it allows the development of "subform" type components that can be used several times in the same host form. Let us take as an example the case of a datepicker subform that is inserted twice in a host form to set a start date and an end date. This subform will use objects for choosing the date of the month and the year. It will be necessary for these objects to work with different variables for the start date and the end date. Letting 4D create their variable with a unique name is a way of resolving this difficulty. +- On the other hand, it can be used to limit memory usage. In fact, form objects only work with process or inter-process variables. However, in compiled mode, an instance of each process variable is created in all the processes, including the server processes. This instance takes up memory, even when the form is not used during the session. Therefore, letting 4D create variables dynamically when loading the forms can save memory. + + +### Hierarchical List Box + +Using a string array (collection of arrays names) as *dataSource* value for a list box column defines a [hierarchical list box](listbox_overview.md#hierarchical-list-boxes). + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|dataSource|string, or string array|
  • 4D variable, field name, or arbitrary complex language expression.
  • Empty string for [dynamic variables](#dynamic-variables).
  • String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column]| + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Tab control](tabControl.md) - [Subform](subform_overview.md#overview) - [Radio Button](radio_overview.md) + + + + + +--- +## Expression Type + +> This property is called **Data Type** in the Property List for Selection and collection type list box columns. + + +Specify the data type for the expression or variable associated to the object. Note that main purpose of this setting is to configure options (such as display formats) available for the data type. It does not actually type the variable itself. In view of database compilation, you must use the 4D language commands of the `Compiler` theme. + +However, this property has a typing function in the following specific cases: + +- **[Dynamic variables](#dynamic-variables)**: you can use this property to declare the type of dynamic variables. +- **[List Box Columns](listbox_overview.md#list-box-columns)**: this property is used to associate a display format with the column data. The formats provided will depend on the variable type (array type list box) or the data/field type (selection and collection type list boxes). The standard 4D formats that can be used are: Alpha, Numeric, Date, Time, Picture and Boolean. The Text type does not have specific display formats. Any existing custom formats are also available. +- **[Picture variables](input_overview.md)**: you can use this menu to declare the variables before loading the form in interpreted mode. Specific native mechanisms govern the display of picture variables in forms. These mechanisms require greater precision when configuring variables: from now on, they must have already been declared before loading the form — i.e., even before the `On Load` form event — unlike other types of variables. To do this, you need either for the statement `C_PICTURE(varName)` to have been executed before loading the form (typically, in the method calling the `DIALOG` command), or for the variable to have been typed at the form level using the expression type property. +Otherwise, the picture variable will not be displayed correctly (only in interpreted mode). + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|dataSourceTypeHint |string |
  • **standard objects:** "integer", "boolean", "number", "picture", "text", date", "time", "arrayText", "arrayDate", "arrayTime", "arrayNumber", "collection", "object", "undefined"
  • **list box columns:** "boolean", "number", "picture", "text", date" (*array/selection list box only*) "integer", "time", "object"| + +#### Objects Supported + +[Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab Control](tabControl.md) + + +--- +## CSS Class + +A list of space-separated words used as class selectors in css files. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|class |string|One string with CSS name(s) separated by space characters| + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Radio Button](radio_overview.md) - [Static Picture](staticPicture.md) - [Subform](subform_overview.md#overview) - [Text Area](text.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Collection or entity selection + +To use collection elements or entities to define the row contents of the list box. + +Enter an expression that returns either a collection or an entity selection. Usually, you will enter the name of a variable, a collection element or a property that contain a collection or an entity selection. + +The collection or the entity selection must be available to the form when it is loaded. Each element of the collection or each entity of the entity selection will be associated to a list box row and will be available as an object through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command: + +* if you used a collection of objects, you can call **This** in the datasource expression to access each property value, for example **This.\**. +* if you used an entity selection, you can call **This** in the datasource expression to access each attribute value, for example **This.\**. + +>If you used a collection of scalar values (and not objects), 4D allows you to display each value by calling **This.value** in the datasource expression. However in this case you will not be able to modify values or to access the current ite object (see below) +Note: For information about entity selections, please refer to the [ORDA](https://doc.4d.com/4Dv17R6/4D/17-R6/ORDA.200-4354624.en.html) chapter. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|dataSource |string|Expression that returns a collection or an entity selection.| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Data Source + +Specify the type of list box. + +![](assets/en/FormObjects/listbox_dataSource.png) + +- **Arrays**(default): use array elements as the rows of the list box. +- **Current Selection**: use expressions, fields or methods whose values will be evaluated for each record of the current selection of a table. +- **Named Selection**: use expressions, fields or methods whose values will be evaluated for each record of a named selection. +- **Collection or Entity Selection**: use collection elements or entities to define the row contents of the list box. Note that with this list box type, you need to define the [Collection or Entity Selection](properties_Object.md#collection-or-entity-selection) property. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|listboxType|string|"array", "currentSelection", "namedSelection", "collection"| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Plug-in Kind + +Name of the [plug-in external area](pluginArea_overview.md) associated to the object. Plug-in external area names are published in the manifest.json file of the plug-in. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|pluginAreaKind|string|Name of the plug-in external area (starts with a % character)| + + +#### Objects Supported +[Plug-in Area](pluginArea_overview.md) + + + +--- + +## Radio Group + +Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +| radioGroup|string |Radio group name| + + +#### Objects Supported + +[Radio Button](radio_overview.md) + + + +--- + +## Title + +Allows inserting a label on an object. The font and the style of this label can be specified. + +You can force a carriage return in the label by using the \ character (backslash). + +![](assets/en/FormObjects/property_title.png) + +To insert a \ in the label, enter "\\". + +By default, the label is placed in the center of the object. When the object also contains an icon, you can modify the relative location of these two elements using the [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) property. + +For database translation purposes, you can enter an XLIFF reference in the title area of a button (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|text|string |any text | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + + + +--- +## Variable Calculation + +This property sets the type of calculation to be done in a [column footer](listbox_overview.md#list-box-footers) area. + +>The calculation for footers can also be set using the `LISTBOX SET FOOTER CALCULATION` 4D command. + +There are several types of calculations available. The following table shows which calculations can be used according to the type of data found in each column and indicates the type automatically affected by 4D to the footer variable (if it is not typed by the code): + +|Calculation|Num|Text|Date|Time|Bool|Pict|footer var type| +|---|---|---|---|---|---|---|---| +|Minimum|X||X|X|X||Same as column type| +|Maximum|X||X|X|X||Same as column type| +|Sum|X||X||X||Same as column type| +|Count|X|X|X|X|X|X|Longint| +|Average|X|||X|||Real| +|Standard deviation(*)|X|||X|||Real| +|Variance(*)|X|||X|||Real| +|Sum squares(*)|X|||X|||Real| +|Custom ("none")|X|X|X|X|X|X|Any| + +(*) Only for array type list boxes. + +When an automatic calculation is set, it is applied to all the values found in the list box column. Note that the calculation does not take the shown/hidden state of list box rows into account. If you want to restrict a calculation to only visible rows, you must use a custom calculation. + +When **Custom** ("none" in JSON) is set, no automatic calculations are performed by 4D and you must assign the value of the variable in this area by programming. + +>Automatic calculations are not supported with: +>* footers of columns based on formulas, +>* footers of [Collection and Entity selection](listbox_overview.md#collection-or-entity-selection-list-boxes) list boxes. +You need to use custom calculations. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|variableCalculation|string|"none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare"| + +#### Objects Supported + +[List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + diff --git a/docs/FormObjects/properties_Picture.md b/docs/FormObjects/properties_Picture.md new file mode 100644 index 00000000000000..edb038b81abc2a --- /dev/null +++ b/docs/FormObjects/properties_Picture.md @@ -0,0 +1,73 @@ +--- +id: propertiesPicture +title:Picture +--- +--- +## Pathname + +Pathname of a static source picture for a [picture button](pictureButton_overview.md), [picture pop-up Menu](picturePopupMenu_overview.md), or [static picture](staticPicture.md). You must use the POSIX syntax. + +Two main locations can be used for static picture path: + +- in the **Resources** folder of the project database. Appropriate when you want to share static pictures between several forms in the database. In this case, the Pathname is "/RESOURCES/\". +- in an image folder (e.g. named **Images**) within the form folder. Appropriate when the static pictures are used only in the form and/or you want to be able to move or duplicate the whole form within the project or different projects. In this case, the Pathname is "\" and is resolved from the root of the form folder. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---:|:---:|---| +|picture|text|Relative or filesystem path in POSIX syntax| + + +#### Objects Supported + +[Picture button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Static Picture](staticPicture.md) + + +--- +## Display + + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + + + +### Center / Truncated (non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Center** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. + +>When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|pictureFormat|string|"scaled", "tiled", "truncatedCenter", "truncatedTopLeft"| + +#### Objects Supported + +[Static Picture](staticPicture.md) \ No newline at end of file diff --git a/docs/FormObjects/properties_Plugins.md b/docs/FormObjects/properties_Plugins.md new file mode 100644 index 00000000000000..cf85543792bd4e --- /dev/null +++ b/docs/FormObjects/properties_Plugins.md @@ -0,0 +1,24 @@ +--- +id: propertiesPlugIns +title:Plug-ins +--- +--- +## Advanced Properties + +If advanced options are provided by the author of the plug-in, an **Advanced Properties** button may be enabled in the Property list. In this case, you can click this button to set these options, usually through a custom dialog box. + +Because the Advanced properties feature is under the control of the author of the plug-in, information about these Advanced options is the responsibility of the distributor of the plug-in. + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|customProperties|text|Plugin specific properties, passed to plugin as a JSON string if an object, or as a binary buffer if a base64 encoded string| + + +#### Objects Supported + +[Plug-in Area](pluginArea_overview.md) + diff --git a/docs/FormObjects/properties_Print.md b/docs/FormObjects/properties_Print.md new file mode 100644 index 00000000000000..250047ce23eeab --- /dev/null +++ b/docs/FormObjects/properties_Print.md @@ -0,0 +1,35 @@ +--- +id: propertiesPrint +title:Print +--- +--- +## Print frame + +This property handles the print mode for objects whose size can vary from one record to another depending on their contents. These objects can be set to print with either a fixed or variable frame. Fixed frame objects print within the confines of the object as it was created on the form. Variable frame objects expand during printing to include the entire contents of the object. Note that the width of objects printed as a variable size is not affected by this property; only the height varies automatically based on the contents of the object. + +You cannot place more than one variable frame object side-by-side on a form. You can place non-variable frame objects on either side of an object that will be printed with a variable size provided that the variable frame object is at least one line longer than the object beside it and that all objects are aligned on the top. If this condition is not respected, the contents of the other fields will be repeated for every horizontal slice of the variable frame object. + +> The `Print object` and `Print form` commands do not support this property. + + +The print options are: + +- **Variable** option / **Print Variable Frame** checked: 4D enlarges or reduces the form object area in order to print all the subrecords. + +- **Fixed (Truncation)** option / **Print Variable Frame** unchecked: 4D only prints the contents that appear in the object area. The form is only printed once and the contents not printed are ignored. + +- **Fixed (Multiple Records)** (subforms only): the initial size of the subform area is kept but 4D prints the form several times in order to print all the records. + +> This property can be set by programming using the `OBJECT SET PRINT VARIABLE FRAME` command. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---:|:---:|---| +|printFrame|string |"fixed", "variable", (subform only) "fixedMultiple"| + + +#### Objects Supported + +[Input](input_overview.md) - [Subforms](subform_overview.md) (list subforms only) - [4D Write Pro areas](writeProArea_overview.md) diff --git a/docs/FormObjects/properties_RangeOfValues.md b/docs/FormObjects/properties_RangeOfValues.md new file mode 100644 index 00000000000000..746a61f11df0fe --- /dev/null +++ b/docs/FormObjects/properties_RangeOfValues.md @@ -0,0 +1,85 @@ +--- +id: propertiesRangeOfValues +title: Range of Values +--- +--- +## Default value + +You can assign a default value to be entered in an input object. This property is useful for example when the input [data source](properties_Object.md#variable-or-expression) is a field: the default value is entered when a new record is first displayed. You can change the value unless the input area has been defined as [non-enterable](properties_Entry.md#enterable). + +The default value can only be used if the [data source type](properties_Object.md#expression-type) is: +- text/string +- number/integer +- date +- time +- boolean + +4D provides stamps for generating default values for the date, time, and sequence number. The date and time are taken from the system date and time. 4D automatically generates any sequence numbers needed. The table below shows the stamp to use to generate default values automatically: + +|Stamp| Meaning| +|---|---| +|#D|Current date| +|#H|Current time| +|#N|Sequence number| + +You can use a sequence number to create a unique number for each record in the table for the current data file. A sequence number is a longint that is generated for each new record. The numbers start at one (1) and increase incrementally by one (1). A sequence number is never repeated even if the record it is assigned to is deleted from the table. Each table has its own internal counter of sequence numbers. For more information, refer to the [Autoincrement](https://doc.4d.com/4Dv17R6/4D/17-R6/Field-properties.300-4354738.en.html#976029) paragraph. + +> Do not make confusion between this property and the "[default values](properties_DataSource.md#default-list-of-values)" property that allows to fill a list box column with static values. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|defaultValue |string, number, date, time, boolean|Any value and/or a stamp: "#D", "#H", "#N"| + +#### Objects Supported + +[Input](input_overview.md) + + + +--- + +## Excluded List + +Allows setting a list whose values cannot be entered in the object. If an excluded value is entered, it is not accepted and an error message is displayed. + +>If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|excludedList|list |A list of values to be excluded.| + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + +--- + +## Required List + +Restricts the valid entries to the items on the list. For example, you may want to use a required list for job titles so that valid entries are limited to titles that have been approved by management. + +Making a list required does not automatically display the list when the field is selected. If you want to display the required list, assign the same list to the [Choice List](properties_DataSource.md#choice-list) property. +However, unlike the [Choice List](properties_DataSource.md#choice-list) property, when a required list is defined, keyboard entry is no longer possible, only the selection of a list value using the pop-up menu is allowed. If different lists are defined using the [Choice List](properties_DataSource.md#choice-list) and Required List properties, the Required List property has priority. + +>If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|requiredList|list |A list of mandatory values.| + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + + diff --git a/docs/FormObjects/properties_Reference.md b/docs/FormObjects/properties_Reference.md new file mode 100644 index 00000000000000..7c2ae5690ace1c --- /dev/null +++ b/docs/FormObjects/properties_Reference.md @@ -0,0 +1,282 @@ +--- +id: propertiesReference +title: JSON property list +--- + +## A + +|Property|Description|Possible Values| +|---|---|---| +|[action](properties_Action.md#standard-action)|Typical activity to be performed. |The name of a valid standard action. | +|[allowFontColorPicker](properties_Text.md#allow-font-color-picker)|Allows displaying system font picker or color picker to edit object attributes|true, false (default)| +|[alternateFill](properties_BackgroundAndBorder.md#alternate-background-color)|Allows setting a different background color for odd-numbered rows/columns in a list box.|Any CSS value; "transparent"; "automatic"| +|[automaticInsertion](properties_DataSource.md#automatic-insertion)|Enables automatically adding a value to a list when a user enters a value that is not in the object's associated choice list.|true, false| + +## B + +|Property|Description|Possible Values| +|---|---|---| +|[booleanFormat](properties_Display.md#text-when-false-text-when-true)|Specifies only two possible values.|true, false| +|[borderRadius](properties_CoordinatesAndSizing.md#corner-radius)|The radius value for round rectangles. |minimum: 0| +|[borderStyle](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type)|Allows setting a standard style for the object border. |"system", "none", "solid", "dotted", "raised", "sunken", "double"| +|[bottom](properties_CoordinatesAndSizing.md#bottom)|Positions an object at the bottom (centered).|minimum: 0| + +## C + +|Property|Description|Possible Values| +|---|---|---| +|[choiceList](properties_DataSource.md#choice-list)|A list of choices associated with an object|A list of choices| +|[class](properties_Object.md#css-class)|A list of space-separated words used as class selectors in css files.|A list of class names| +|[columnCount](properties_Crop.md#columns)|Number of columns.|minimum: 1| +|[columns](properties_ListBox.md#columns)|A collection of list box columns|Collection of column objects with defined column properties +|[contextMenu](properties_Entry.md#context-menu)|Provides the user access to a standard context menu in the selected area. |"automatic", "none"| +|[continuousExecution](properties_Action.md#execute-object-method)|Designates whether or not to run the method of an object while the user is tracking the control. |true, false| +|[controlType](properties_Display.md#display-type)|Specifies how the value should be rendered in a list box cell.|"input", "checkbox" (for boolean / numeric columns), "automatic", "popup" (only for boolean columns)| +|[currentItemSource](properties_DataSource.md#current-item)| The last selected item in a list box.|Object expression | +|[currentItemPositionSource](properties_DataSource.md#current-item-position)| The position of the last selected item in a list box.|Number expression | +|[customBackgroundPicture](properties_TextAndPicture.md#background-pathname) |Sets the picture that will be drawn in the background of a button.|Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option.| +|[customBorderX](properties_TextAndPicture.md#horizontal-margin)|Sets the size (in pixels) of the internal horizontal margins of an object. Must be used with the style property with the "custom" option.|minimum: 0 +|[customBorderY](properties_TextAndPicture.md#vertical-margin)|Sets the size (in pixels) of the internal vertical margins of an object. Must be used with the style property with the "custom" option.|minimum: 0 +|[customOffset](properties_TextAndPicture.md#icon-offset)|Sets a custom offset value in pixels. Must be used with the style property with the "custom" option. |minimum: 0| +|[customProperties](properties_Plugins.md#advanced-properties)|Advanced properties (if any) |JSON string or base64 encoded string| + + +## D + +|Property|Description|Possible Values| +|---|---|---| +|[dataSource](properties_Object.md#variable-or-expression) (objects)
    [dataSource](properties_Subform.md#source) (subforms)
    [dataSource](properties_Object.md#data-source) (array list box)
    [dataSource](properties_Object.md#collection-or-entity-selection) (Collection or entity selection list box)
    [dataSource](properties_DataSource.md#expression) (list box column)
    [dataSource](properties_Hierarchy.md#hierarchical-list-box) (hierarchical list box)|Specifies the source of the data.|A 4D variable, field name, or an arbitrary complex language expression.| +|[dataSourceTypeHint](properties_Object.md#expression-type) (objects)
    [dataSourceTypeHint](properties_DataSource.md#data-type) (list box column)|Indicates the variable type.|"integer", "number", "boolean", "picture", "text", date", "time", "arrayText", "collection", "object", "undefined"| +|[dateFormat](properties_Display.md#date-format)|Controls the way dates appear when displayed or printed. Must only be selected among the 4D built-in formats.|"systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values)| +|[defaultButton](properties_Appearance.md#default-button)|Modifies a button's appearance in order to indicate the recommended choice to the user.|true, false| +|[defaultValue](properties_RangeOfValues.md#default-value)|Defines a value or a stamp to be entered by default in an input object|String or "#D", "#H", "#N"| +|[deletableInList](properties_Subform.md#allow-deletion)|Specifies if the user can delete subrecords in a list subform|true, false| +|[detailForm](properties_ListBox.md#detail-form-name) (list box)
    [detailForm](properties_Subform.md#detail-form) (subform)|Associates a detail form with a list subform.|Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | +|[display](properties_Display.md#not-rendered)|The object is drawn or not on the form.|true, false| +|[doubleClickInEmptyAreaAction](properties_Subform.md#double-click-on-empty-row)|Action to perform in case of a double-click on an empty line of a list subform.|"addSubrecord" or "" to do nothing| +|[doubleClickInRowAction](properties_ListBox.md#double-click-on-row) (list box)
    [doubleClickInRowAction](properties_Subform.md#double-click-on-row) (subform)|Action to perform in case of a double-click on a record. |"editSubrecord", "displaySubrecord"| +|[dpi](properties_Appearance.md#resolution)|Screen resolution for the 4D Write Pro area contents.|0=automatic, 72, 96| +|[dragging](properties_Action.md#draggable)|Enables dragging function. |"none", "custom", "automatic" (excluding list, list box) | +|[dropping](properties_Action.md#droppable)|Enables dropping function. |"none", "custom", "automatic" (excluding list, list box) | + +## E + +|Property|Description|Possible Values| +|---|---|---| +|[enterable](properties_Entry.md#enterable)|Indicates whether users can enter values into the object.|true, false| +|[enterableInList](properties_Subform.md#enterable-in-list)|Indicates whether users can modify record data directly in the list subform.|true, false| +[entryFiler](properties_Entry.md#entry-filter)|Associates an entry filter with the object or column cells. This property is not accessible if the Enterable property is not enabled.|Text to narrow entries | +|[events](https://doc.4d.com/4Dv18/4D/18/Form-Events.302-4504424.en.html)|List of all events selected for the object or form|Collection of event names, e.g. ["onClick","onDataChange"...].| +|[excludedList](properties_RangeOfValues.md#excluded-list)|Allows setting a list whose values cannot be entered in the column.|A list of values to be excluded.| + + +## F + +|Property|Description|Possible Values| +|---|---|---| +|[fill](properties_BackgroundAndBorder.md#background-color-fill-color)|Defines the background color of an object. |Any CSS value, "transparent", "automatic"| +|[focusable](properties_Entry.md#focusable)|Indicates whether the object can have the focus (and can thus be activated by the keyboard for instance)|true, false| +|[fontFamily](properties_Text.md#font)|Specifies the name of font family used in the object. |CSS font family name | +|[fontSize](properties_Text.md#font-size)|Sets the font size in points when no font theme is selected|minimum: 0| +|[fontStyle](properties_Text.md#italic)|Sets the selected text to slant slightly to the right. |"normal", "italic"| +|[fontTheme](properties_Text.md#font-theme)|Sets the automatic style |"normal", "main", "additional"| +|[fontWeight](properties_Text.md#bold)|Sets the selected text to appear darker and heavier. | "normal", "bold"| +|[footerHeight](properties_Footers.md#height)|Used to set the row height |pattern (\\d+)(p|em)?$ (positive decimal + px/em )| +|[frameDelay](properties_Animation.md#switch-every-x-ticks)|Enables cycling through the contents of the picture button at the specified speed (in ticks).|minimum: 0| + +## G + +|Property|Description|Possible Values| +|---|---|---| +|[graduationStep](properties_Scale.md#graduation-step)| Scale display measurement.|minimum: 0| + +## H + +|Property|Description|Possible Values| +|---|---|---| +|[header](properties_Headers.md#header)|Defines the header of a list box column|Object with properties "text", "name", "icon", "dataSource", "fontWeight", "fontStyle", "tooltip" | +|[headerHeight](properties_Headers.md#height)|Used to set the row height |pattern ^(\\d+)(px|em)?$ (positive decimal + px/em )| +|[height](properties_CoordinatesAndSizing.md#height)|Designates an object's vertical size|minimum: 0| +|[hideExtraBlankRows](properties_BackgroundAndBorder.md#hide-extra-blank-rows)|Deactivates the visibility of extra, empty rows. |true, false| +|[hideFocusRing](properties_Appearance.md#hide-focus-rectangle)|Hides the selection rectangle when the object has the focus.|true, false| +|[hideSystemHighlight](properties_Appearance.md#hide-selection-highlight)|Used to specify hiding highlighted records in the list box.|true, false| +|[highlightSet](properties_ListBox.md#highlight-set)| string| Name of the set.| +|[horizontalLineStroke](properties_Gridlines.md#horizontal-line-color)|Defines the color of the horizontal lines in a list box (gray by default).|Any CSS value, "'transparent", "automatic"| + +## I + +|Property|Description|Possible Values| +|---|---|---| +|[icon](properties_TextAndPicture.md#picture-pathname)|The pathname of the picture used for buttons, check boxes, radio buttons, list box headers.|Relative or filesystem path in POSIX syntax.| +|[iconFrames](properties_TextAndPicture.md#number-of-states)|Sets the exact number of states present in the picture. |minimum: 1| +|[iconPlacement](properties_TextAndPicture.md#icon-location)|Designates the placement of an icon in relation to the form object.|"none", "left", "right"| + +## K + +|Property|Description|Possible Values| +|---|---|---| +|[keyboardDialect](properties_Entry.md#keyboardDialect)|To associate a specific keyboard layout to an input.|A keyboard code string, e.g. "ar-ma"| + + +## L + +|Property|Description|Possible Values| +|---|---|---| +|[labels](properties_DataSource.md#choice-list-static-list)|A list of values to be used as tab control labels|ex: "a", "b, "c", ...| +|[labelsPlacement](properties_Scale.md#label-location) (objects)
    [labelsPlacement](properties_Appearance.md#tab-control-direction) (splitter / tab control)| Specifies the location of an object's displayed text.|"none", "top", "bottom", "left", "right"| +|[layoutMode](properties_Appearance.md#view-mode) |Mode for displaying the 4D Write Pro document in the form area.|"page", "draft", "embedded"| +|[left](properties_CoordinatesAndSizing.md#left)|Positions an object on the left.|minimum: 0| +|list, see [choiceList](properties_DataSource.md#choice-list)|A list of choices associated with a hierarchical list|A list of choices| +|[listboxType](properties_Object.md#data-source)|The list box data source.|"array", "currentSelection", "namedSelection", "collection"| +|[listForm](properties_Subform.md#list-form)|List form to use in the subform.|Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form| +|[lockedColumnCount](properties_ListBox.md#number-of-locked-columns) |Number of columns that must stay permanently displayed in the left part of a list box. |minimum: 0| +|[loopBackToFirstFrame](properties_Animation.md#loop-back-to-first-frame)|Pictures are displayed in a continuous loop.|true, false| + +## M + +|Property|Description|Possible Values| +|---|---|---| +|[max](properties_Scale.md#maximum)|The maximum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. |minimum: 0 (for numeric data types)| +|[maxWidth](properties_CoordinatesAndSizing.md#maximum-width)|Designates the largest size allowed for list box columns. |minimum: 0| +|[metaSource](properties_Text.md#meta-info-expression)| A meta object containing style and selection settings.|An object expression| +|[method](properties_Action.md#method)|A project method name. |The name of an existing project method| +|[methodsAccessibility](properties_WebArea.md#access-4d-methods)|Which 4D methods can be called from a Web area|"none" (default), "all"| +|[min](properties_Scale.md#minimum)|The minimum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value.|minimum: 0 (for numeric data types)| +|[minWidth](properties_CoordinatesAndSizing.md#minimum-width)|Designates the smallest size allowed for list box columns. |minimum: 0| +|[movableRows](properties_Action.md#movable-rows)|Authorizes the movement of rows during execution. |true, false| +|[multiline](properties_Entry.md#multiline)|Handles multiline contents. |"yes", "no", "automatic"| + +## N + +|Property|Description|Possible Values| +|---|---|---| +|[name](properties_Object.md#object-name)|The name of the form object. (Optional for the form)|Any name which does not belong to an already existing object| +|[numberFormat](properties_Display.md#number-format) |Controls the way the alphanumeric fields and variables appear when displayed or printed.|Numbers (including a decimal point or minus sign if necessary)| + +## P + +|Property|Description|Possible Values| +|---|---|---| +|[picture](properties_Picture.md#pathname)|The pathname of the picture for picture buttons, picture pop-up menus, or static pictures|Relative or filesystem path in POSIX syntax.| +|[pictureFormat](properties_Display.md#picture-format) (input, list box column or footer)
    [pictureFormat](properties_Picture.md#display) (static picture)|Controls how pictures appear when displayed or printed.|"truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft" (excluding static pictures), "proportionalCenter"(excluding static pictures)| +|[placeholder](properties_Entry.md#placeholder) |Grays out text when the data source value is empty.|Text to be grayed out.| +|[pluginAreaKind](properties_Object.md#plug-in-kind)|Describes the type of plug-in. |The type of plug-in. | +|[popupPlacement](properties_TextAndPicture.md#with-pop-up-menu) |Allows displaying a symbol that appears as a triangle in the button, which indicates that there is a pop-up menu attached. |"None", Linked", "Separated" | +|[printFrame](properties_Print.md#print-frame)|Print mode for objects whose size can vary from one record to another depending on their contents |"fixed", "variable", (subform only) "fixedMultiple"| +|[progressSource](properties_WebArea.md#progression)| A value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually.|minimum: 0| + +## R + +|Property|Description|Possible Values| +|---|---|---| +|[radioGroup](properties_Object.md#radio-group)|Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set.| Radio group name| +|[requiredList](properties_RangeOfValues.md#required-list)|Allows setting a list where only certain values can be inserted. |A list of mandatory values.| +|[resizable](properties_ResizingOptions.md#resizable)|Designates if the size of an object can be modified by the user.|"true", "false"| +|[resizingMode](properties_ResizingOptions.md#column-auto-resizing)|Specifies if a list box column should be automatically resized | "rightToLeft", "legacy"| +|[right](properties_CoordinatesAndSizing.md#right)|Positions an object on the right.|minimum: 0| +|[rowControlSource](properties_ListBox.md#row-control-array) |A 4D array defining the list box rows. |Array| +|[rowCount](properties_Crop.md#rows)|Sets the number of rows.|minimum: 1| +|[rowFillSource](properties_BackgroundAndBorder.md#row-background-color-array) (array list box)
    [rowFillSource](properties_BackgroundAndBorder.md#background-color-expression) (selection or collection list box)|The name of an array or expression to apply a custom background color to each row of a list box. |The name of an array or expression.| +|[rowHeight](properties_CoordinatesAndSizing.md#row-height)|Sets the height of list box rows. |CSS value unit "em" or "px" (default)| +|[rowHeightAuto](properties_CoordinatesAndSizing.md#automatic-row-height)|boolean |"true", "false"| +|[rowHeightAutoMax](properties_CoordinatesAndSizing.md#maximum-width)|Designates the largest height allowed for list box rows. |CSS value unit "em" or "px" (default). minimum: 0| +|[rowHeightAutoMin](properties_CoordinatesAndSizing.md#minimum-width)|Designates the smallest height allowed for list box rows. |CSS value unit "em" or "px" (default). minimum: 0| +|[rowHeightSource](properties_CoordinatesAndSizing.md#row-height-array)|An array defining different heights for the rows in a list box. |Name of a 4D array variable.| +|[rowStrokeSource](properties_Text.md#row-font-color-array) (array list box)
    [rowStrokeSource](properties_Text.md#font-color-expression) (selection or collection/entity selection list box)|An array or expression for managing row colors.|Name of array or expression.| +|[rowStyleSource](properties_Text.md#row-style-array) (array list box)
    [rowStyleSource](properties_Text.md#style-expression) (selection or collection/entity selection list box)|An array or expression for managing row styles.|Name of array or expression.| + +## S + +|Property|Description|Possible Values| +|---|---|---| +|[scrollbarHorizontal](properties_Appearance.md#horizontal-scroll-bar) | A tool allowing the user to move the viewing area to the left or right.|"visible", "hidden", "automatic"| +|[scrollbarVertical](properties_Appearance.md#vertical-scroll-bar) | A tool allowing the user to move the viewing area up or down.|"visible", "hidden", "automatic"| +|[selectedItemsSource](properties_DataSource.md#selected-items)|Collection of the selected items in a list box.|Collection expression | +|[selectionMode](properties_Action.md#multi-selectable) (hierarchical list)
    [selectionMode](properties_ListBox.md#selection-mode) (list box)
    [selectionMode](properties_Subform.md#selection-mode) (subform)|Allows the selection of multiple records/rows.|"multiple", "single", "none" +|[shortcutAccel](properties_Entry.md#shortcut)|Specifies the system to use, Windows or Mac.|true, false| +|[shortcutAlt](properties_Entry.md#shortcut)|Designates the Alt key|true, false| +|[shortcutCommand](properties_Entry.md#shortcut)|Designates the Command key (macOS)|true, false| +|[shortcutControl](properties_Entry.md#shortcut)|Designates the Control key (Windows)|true, false| +|[shortcutKey](properties_Entry.md#shortcut)|The letter or name of a special meaning key.|"[F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]"| +|[shortcutShift](properties_Entry.md#shortcut) |Designates the Shift key |true, false| +|[showFooters](properties_Footers.md#display-headers)|Displays or hides column footers. |true, false| +|[showGraduations](properties_Scale.md#display-graduation)|Displays/Hides the graduations next to the labels. |true, false| +|[showHeaders](properties_Headers.md#display-headers)|Displays or hides column headers. |true, false| +|[showHiddenChars](properties_Appearance.md#show-hidden-characters)|Displays/hides invisible characters.|true, false| +|[showHorizontalRuler](properties_Appearance.md#show-horizontal-ruler)|Displays/hides the horizontal ruler when the document view is in Page view mode|true, false| +|[showHTMLWysiwyg](properties_Appearance.md#show-html-wysiwyg)|Enables/disables the HTML WYSIWYG view|true, false| +|[showPageFrames](properties_Appearance.md#show-page-frame)|Displays/hides the page frame when the document view is in Page view mode|true, false| +|[showReferences](properties_Appearance.md#show-references)|Displays all 4D expressions inserted in the 4D Write Pro document as *references*|true, false| +|[showSelection](properties_Entry.md#selection-always-visible)|Keeps the selection visible within the object after it has lost the focus |true, false| +|[showVerticalRuler](properties_Appearance.md#show-vertical-ruler)|Displays/hides the vertical ruler when the document view is in Page view mode|true, false| +|[singleClickEdit](properties_Entry.md#single-click-edit)|Enables direct passage to edit mode.|true, false| +|[sizingX](properties_ResizingOptions.md#horizontal-sizing)|Specifies if the horizontal size of an object should be moved or resized when a user resizes the form.|"grow", "move", "fixed"| +|[sizingY](properties_ResizingOptions.md#horizontal-sizing)|Specifies if the vertical size of an object should be moved or resized when a user resizes the form.|"grow", "move", "fixed"| +|[sortable](properties_Action.md#sortable)| Allows sorting column data by clicking the header.|true, false| +|[spellcheck](properties_Entry.md#auto-spellcheck)|Activates the spell-check for the object |true, false| +|[splitterMode](properties_ResizingOptions.md#pusher)|When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop.|"grow", "move", "fixed"| +|[startPoint](shapes_overview.md#startpoint-property)|Starting point for drawing a line object (only available in JSON Grammar).|"bottomLeft", topLeft"| +|[staticColumnCount](properties_ListBox.md#number-of-static-columns) | Number of columns that cannot be moved during execution.|minimum: 0| +|[step](properties_Scale.md#step)| Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value.|minimum: 1| +|[storeDefaultStyle](properties_Text.md#store-with-default-style-tags)|Store the style tags with the text, even if no modification has been made|true, false| +|[stroke](properties_Text.md#font-color) (text)
    [stroke](properties_BackgroundAndBorder.md#line-color) (lines)
    [stroke](properties_BackgroundAndBorder.md#transparent) (list box)|Specifies the color of the font or line used in the object. |Any CSS value, "transparent", "automatic"| +|[strokeDashArray](properties_BackgroundAndBorder.md#dotted-line-type)|Describes dotted line type as a sequence of black and white points|Number array or string| +|[strokeWidth](properties_BackgroundAndBorder.md#line-width) |Designates the thickness of a line.|An integer or 0 for smallest width on a printed form| +|[style](properties_TextAndPicture.md#multi-style)|Enables the possibility of using specific styles in the selected area.|true, false| +|[styledText](properties_Text.md#style)|Allows setting the general appearance of the button. See Button Style for more information.|"regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom"| +|[switchBackWhenReleased](properties_Animation.md#switch-back-when-released)|Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released.|true, false| +|[switchContinuously](properties_Animation.md#switch-continuously-on-clicks)|Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation).|true, false| +|[switchWhenRollover](properties_Animation.md#switch-when-roll-over)|Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area.|true, false| + + +## T + +|Property|Description|Possible Values| +|---|---|---| +|[table](properties_Subform.md#source)|Table that the list subform belongs to (if any).|4D table name, or ""| +|[text](properties_Object.md#title)|The title of the form object|Any text| +|[textAlign](properties_Text.md#horizontal-alignment)|Horizontal location of text within the area that contains it. |"automatic", "right", "center", "justify", "left"| +|[textAngle](properties_Text.md#orientation)|Modifies the orientation (rotation) of the text area. |0, 90, 180, 270| +|[textDecoration](properties_Text.md#underline)|Sets the selected text to have a line running beneath it.|"normal", "underline"| +|[textFormat](properties_Display.md#alpha-format)|Controls the way the alphanumeric fields and variables appear when displayed or printed.|"### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats| +|[textPlacement](properties_TextAndPicture.md#title-picture-position)|Relative location of the button title in relation to the associated icon.|"left", "top", "right", "bottom", "center"| +|[threeState](properties_Display.md#three-states)|Allows a check box object to accept a third state.|true, false| +|[timeFormat](properties_Display.md#time-format)|Controls the way times appear when displayed or printed. Must only be selected among the 4D built-in formats. |"systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values)| +|[truncateMode](properties_Display.md#truncate-with-ellipsis) | Controls the display of values when list box columns are too narrow to show their full contents.|"withEllipsis", "none" | +|[type](properties_Object.md#type)|Mandatory. Designates the data type of the form object.|"text", "rectangle", "groupBox", "tab", "line", "button", "checkbox", "radio", "dropdown", "combo", "webArea", "write", "subform", "plugin", "splitter", "buttonGrid", "progress", "ruler", "spinner", "stepper", "list", "pictureButton", "picturePopup", "listbox", "input", "view"| +|[tooltip](properties_Help.md)| Provide users with additional information about a field.|Additional information to help a user| +|[top](properties_CoordinatesAndSizing.md#top)|Positions an object at the top (centered).|minimum: 0| + +## U + +|Property|Description|Possible Values| +|---|---|---| +|[urlSource](properties_WebArea.md#url)|Designates the the URL loaded or being loading by the associated Web area. |A URL.| +|[useLastFrameAsDisabled](properties_Animation.md#use-last-frame-as-disabled)|Enables setting the last thumbnail as the one to display when the button is disabled.|true, false| +|[userInterface](properties_Appearance.md#user-interface)|4D View Pro area interface.|"none" (default), "ribbon", "toolbar"| + +## V + +|Property|Description|Possible Values| +|---|---|---| +|[values](properties_DataSource.md#default-list-values)|List of default values for an array listbox column|ex: "A","B","42"...| +|[variableCalculation](properties_Object.md#variable-calculation)|Allows mathematical calculations to be performed.|"none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare"| +|[verticalAlign](properties_Text.md#vertical-alignment)|Vertical location of text within the area that contains it. |"automatic", "top", "middle", "bottom"| +|[verticalLineStroke](properties_Gridlines.md#vertical-line-color)|Defines the color of the vertical lines in a list box (gray by default).|Any CSS value, "'transparent", "automatic"| +|[visibility](properties_Display.md#visibility)|Allows hiding the object in the Application environment.|"visible", "hidden", "selectedRows", "unselectedRows"| + +## W + +|Property|Description|Possible Values| +|---|---|---| +|[webEngine](properties_WebArea.md#use-embedded-web-rendering-engine)| Used to choose between two rendering engines for the Web area, depending on the specifics of the application.|"embedded", "system"| +|[width](properties_CoordinatesAndSizing.md#width)|Designates an object's horizontal size|minimum: 0| +|[withFormulaBar](properties_Appearance.md#show-formula-bar)|Manages the display of a formula bar with the Toolbar interface in the 4D View Pro area.|true, false| +|[wordwrap](properties_Display.md#wordwrap) |Manages the display of contents when it exceeds the width of the object. | "automatic" (excluding list box), "normal", "none"| + + +## Z + +|Property|Description|Possible Values| +|---|---|---| +|[zoom](properties_Appearance.md#zoom)|Zoom percentage for displaying 4D Write Pro area|number (minimum=0)| diff --git a/docs/FormObjects/properties_ResizingOptions.md b/docs/FormObjects/properties_ResizingOptions.md new file mode 100644 index 00000000000000..288c9778ceba95 --- /dev/null +++ b/docs/FormObjects/properties_ResizingOptions.md @@ -0,0 +1,146 @@ +--- +id: propertiesResizingOptions +title:Resizing Options +--- +--- +## Column Auto-Resizing + +When this property is enabled (`rightToLeft` value in JSON), list box columns are automatically resized along with the list box, within the limits of the [minimum](properties_CoordinatesAndSizing.md#minimum-width) and [maximum](properties_CoordinatesAndSizing.md#maximum-width) widths defined. + +When this property is disabled (`legacy` value in JSON), only the rightmost column of the list box is resized, even if its width exceeds the maximum value defined. + +### How column auto-resizing works + +* As the list box width increases, its columns are enlarged, one by one, starting from right to left, until each reaches its [maximum width](properties_CoordinatesAndSizing.md#maximum-width). Only columns with the [Resizable](#resizable) property selected are resized. + +* The same procedure applies when the list box width decreases, but in reverse order (*i.e.*, columns are resized starting from left to right). When each column has reached its [minimum width](properties_CoordinatesAndSizing.md#minimum-width), the horizontal scroll bar becomes active again. + +* Columns are resized only when the horizontal scroll bar is not "active"; *i.e.*, all columns are fully visible in the list box at its current size. **Note**: If the horizontal scroll bar is hidden, this does not alter its state: a scroll bar may still be active, even though it is not visible. + +* After all columns reach their maximum size, they are no longer enlarged and instead a blank (fake) column is added on the right to fill the extra space. If a fake (blank) column is present, when the list box width decreases, this is the first area to be reduced. + +![](assets/en/FormObjects/property_columnAutoResizing.png) + +#### About the fake (blank) column + +The appearance of the fake column matches that of the existing columns; it will have a fake header and/or footer if these elements are present in the existing list box columns and it will have the same background color(s) applied. + +The fake header and/or footer can be clicked but this does not have any effect on the other columns (e.g.: no sort is performed); nevertheless, the `On Clicked`, `On Header Click` and `On Footer Click` events are generated accordingly. + +If a cell in the fake column is clicked, the [LISTBOX GET CELL POSITION](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-GET-CELL-POSITION.301-4311145.en.html) command returns "X+1" for its column number (where X is the number of existing columns). + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|resizingMode|string |"rightToLeft", "legacy"| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Horizontal Sizing + +This property specifies if the horizontal size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +|Option|JSON value|Result| +|---|---|---| +|Grow|"grow"|The same percentage is applied to the object’s width when the user resizes the width of the window, | +|Move|"move"|The object is moved the same amount left or right as the width increase when the user resizes the width of the window, | +|None|"fixed"|The object remains stationary when the form is resized| + +>This property works in conjunction with the [Vertical Sizing](#vertical-sizing) property. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|sizingX|string |"grow", "move", "fixed"| + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Vertical Sizing + +This property specifies if the vertical size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +|Option|JSON value| Result| +|---|---|---| +|Grow|"grow"|The same percentage is applied to the object's height when the user resizes the width of the window, +|Move|"move"|The object is moved the same amount up or down as the height increase when the user resizes the width of the window, +|None|"fixed"|The object remains stationary when the form is resized + +>This property works in conjunction with the [Horizontal Sizing](#horizontal-sizing) property. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|sizingY|string|"grow", "move", "fixed"| + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Pusher + +When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop. + +Here is the result of a “pusher” splitter being moved: +![](assets/en/FormObjects/splitter_pusher1.png) + +![](assets/en/FormObjects/splitter_pusher3.png) + +When this property is not applied to the splitter, the result is as follows: + +![](assets/en/FormObjects/splitter_pusher2.png) + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---|:---:|:---:| +|splitterMode|string|"move" (pusher), "resize" (standard)| + +#### Objects Supported + +[Splitter](splitterTabControlOverview#splitters) + + + + +--- +## Resizable + +Designates if the size of the column can be modified by the user. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---|:---:|:---:| +|resizable|boolean|"true", "false"| + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + diff --git a/docs/FormObjects/properties_Scale.md b/docs/FormObjects/properties_Scale.md new file mode 100644 index 00000000000000..814a18739ae366 --- /dev/null +++ b/docs/FormObjects/properties_Scale.md @@ -0,0 +1,136 @@ +--- +id: propertiesScale +title: Scale +--- +--- +## Barber shop + +Enables the "barber shop" variant for the thermometer. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---:|:---:|---| +|[max](#maximum)|number |NOT passed = enabled; passed = disabled (basic thermometer)| + +#### Objects Supported + +[Barber shop](progressIndicator.md#barber-shop) + + + +--- +## Display graduation + +Displays/Hides the graduations next to the labels. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---:|:---:|---| +|showGraduations|boolean |"true", "false"| + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Graduation step + +Scale display measurement. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---:|:---:|---| +|graduationStep| integer|minimum: 0| + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Label Location + +Specifies the location of an object's displayed text. + +* None - no label is displayed +* Top - Displays labels to the left of or above an indicator +* Bottom - Displays labels to the right of or below an indicator + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---:|:---:|---| +|labelsPlacement| string|"none", "top", "bottom", "left", "right"| + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Maximum + +Maximum value of an indicator. + +- For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. +- To enable [Barber shop thermometers](progressIndicator.md#barber-shop), this property must be omitted. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---:|:---:|---| +|max|string / number |minimum: 0 (for numeric data types)| + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + +--- +## Minimum + +Minimum value of an indicator. For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---:|:---:|---| +|min|string / number |minimum: 0 (for numeric data types)| + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + +--- +## Step + +Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---:|:---:|---| +|step| integer|minimum: 1| + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + + + diff --git a/docs/FormObjects/properties_Subform.md b/docs/FormObjects/properties_Subform.md new file mode 100644 index 00000000000000..b860e2ced69e66 --- /dev/null +++ b/docs/FormObjects/properties_Subform.md @@ -0,0 +1,172 @@ +--- +id: propertiesSubform +title: Subform +--- + +--- +## Allow Deletion + +Specifies if the user can delete subrecords in a list subform. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|deletableInList|boolean|true, false (default: true)| + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## Detail Form + +You use this property to declare the detail form to use in the subform. It can be: + +- a widget, i.e. a page-type subform endowed with specific functions. In this case, the [list subform](#list-form) and [Source](#source) properties must be empty or not present. +You can select a component form name when it is published in the component. + +>You can generate [components](Concepts/components.md) providing additional functionalities through subforms. + +- the detail form to associate a with the [list subform](#list-form). The detail form can be used to enter or view subrecords. It generally contains more information than the list subform. Naturally, the detail form must belong to the same table as the subform. You normally use an Output form as the list form and an Input form as the detail form. If you do not specify the form to use for full page entry, 4D automatically uses the default Input format of the table. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|detailForm|string|Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Double-click on empty row + +Action to perform in case of a double-click on an empty line of a list subform. The following options are available: +- Do nothing: Ignores double-click. +- Add Record: Creates a new record in the subform and changes to editing mode. The record will be created directly in the list if the [Enterable in List] property is enabled. Otherwise, it will be created in page mode, in the [detail form](detail-form) associated with the subform. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|doubleClickInEmptyAreaAction|string|"addSubrecord" or "" to do nothing| + +#### Objects Supported + +[Subform](subform_overview.md) + +#### See also +[Double click on row](#double-click-on-row) + +--- +## Double-click on row + +`List subform` + +Sets the action to be performed when a user double-clicks on a row in a list subform. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the [detail form defined for the list subform](#detail-form). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|doubleClickInRowAction |string |"editSubrecord", "displaySubrecord"| + +#### Objects Supported + +[Subform](subform_overview.md) + + +#### See also +[Double click on empty row](#double-click-on-empty-row) + +--- +## Enterable in list + +When a list subform has this property enabled, the user can modify record data directly in the list, without having to use the [associated detail form](#detail-form). + +> To do this, simply click twice on the field to be modified in order to switch it to editing mode (make sure to leave enough time between the two clicks so as not to generate a double-click). + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|enterableInList|boolean|true, false| + + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## List Form + +You use this property to declare the list form to use in the subform. A list subform lets you enter, view, and modify data in other tables. + +List subforms can be used for data entry in two ways: the user can enter data directly in the subform, or enter it in an [input form](#detail-form). In this configuration, the form used as the subform is referred to as the List form. The input form is referred to as the Detail form. + +You can also allow the user to enter data in the List form. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|listForm|string|Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + + + +--- +## Source + +Specifies the table that the list subform belongs to (if any). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|table|string|4D table name, or "" if no table.| + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Enterable in list](subform_overview.md#enterable-in-list) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). +The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + - The selected subrecords are returned by the `GET HIGHLIGHTED RECORDS` command. + - Clicking on the record will select it, but it does not modify the current record. + - A **Ctrl+click** (Windows) or **Command+click** (macOS) on a record toggles its state (between selected or not). The Up and Down arrow keys select the previous/next record in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the selected record is changed. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|selectionMode|string|"multiple", "single", "none"| + +#### Objects Supported + +[Subform](subform_overview.md) diff --git a/docs/FormObjects/properties_Text.md b/docs/FormObjects/properties_Text.md new file mode 100644 index 00000000000000..f08bbf7ff6da34 --- /dev/null +++ b/docs/FormObjects/properties_Text.md @@ -0,0 +1,531 @@ +--- +id: propertiesText +title:Text +--- +--- +## Allow font/color picker + +When this property is enabled, the [OPEN FONT PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-FONT-PICKER.301-4505612.en.html) and [OPEN COLOR PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-COLOR-PICKER.301-4505611.en.html) commands can be called to display the system font and color picker windows. Using these windows, the users can change the font or color of a form object that has the focus directly by clicking. When this property is disabled (default), the open picker commands have no effect. + + +#### JSON Grammar + +|Property|Data Type|Possible Values| +|---|---|---| +|allowFontColorPicker|boolean |false (default), true| + +#### Objects Supported + +[Input](input_overview.md) + +--- +## Bold + +Sets the selected text to appear darker and heavier. + +You can set this property using the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. + +>This is normal text.
    +**This is bold text.** + +#### JSON Grammar + +|Property|Data Type|Possible Values| +|---|---|---| +|fontWeight|text |"normal", "bold"| + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Italic + +Sets the selected text to slant slightly to the right. + +You can also set this property via the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. + +>This is normal text.
    +*This is text in italics.* + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|fontStyle|string |"normal", "italic"| + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +--- +## Underline +Sets the text to have a line running beneath it. + +>This is normal text.
    +>This is underlined text. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|textDecoration|string|"normal", "underline"| + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + + +--- +## Font + +This property allows you to specify either the **font theme** or the **font family** used in the object. + +>**Font theme** and **font family** properties are mutually exclusive. A font theme takes hold of font attributes, including size. A font family allows you to define font name, font size and font color. + + +### Font Theme + +The font theme property designates an automatic style name. Automatic styles determine the font family, font size and font color to be used for the object dynamically according to system parameters. These parameters depend on: + +- the platform, +- the system language, +- and the type of form object. + +With the font theme, you are guaranteed that titles are always displayed in accordance with the current interface standards of the system. However, their size may vary from one machine to another. + +Three font themes are available: +- **normal**: automatic style, applied by default to any new object created in the Form editor. +- **main** and **additional** font themes are only supported by [text areas](text.md) and [inputs](input_overview.md). These themes are primarily intended for designing dialog boxes. They refer to font styles used, respectively, for main text and additional information in your interface windows. Here are typical dialog boxes (macOS and Windows) using these font themes: + +![](assets/en/FormObjects/FontThemes.png) + +> Font themes manage the font as well as its size and color. If you modify one of the properties managed by a font theme, it no longer works dynamically. However, you can apply custom style properties (Bold, Italic or Underline) without altering its functioning. + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|fontTheme|string |"normal", "main", "additional"| + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +### Font Family + +There are two types of font family names: + +* *family-name:* The name of a font-family, like "times", "courier", "arial", etc. +* *generic-family:* The name of a generic-family, like "serif", "sans-serif", "cursive", "fantasy", "monospace". + +You can set this using the [**OBJECT SET FONT**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT.301-4054834.en.html) command. + +> This is Times New Roman font.
    + This is Calibri font.
    + This is Papyrus font. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|fontFamily|string |CSS font family name | + +>4D recommends using only [web safe](https://www.w3schools.com/cssref/css_websafe_fonts.asp) fonts. + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + +--- +## Font Size + +> This property is only available when no [font theme](#font-theme) is selected. + +Allows defining the object's font size in points. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|fontSize|integer |Font size in points. Minimum value: 0| + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Font Color + +Designates the font color. + +> This property also sets the color of object's [border](#border-line-style-dotted-line-type) (if any) when "plain" or "dotted" style is used. + +The color can be specified by: + +* a color name - like "red" +* a HEX value - like "#ff0000" +* an RGB value - like "rgb(255,0,0)" + +You can also set this property using the [**OBJECT SET RGB COLORS**](https://doc.4d.com/4Dv18/4D/18/OBJECT-SET-RGB-COLORS.301-4505456.en.html) command. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|stroke|string | any css value, "transparent", "automatic"| + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Progress Indicators](progressIndicator.md) - [Ruler](ruler.md) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + +--- + +## Font Color Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom font color to each row of the list box. You must use RGB color values. For more information about this, refer to the description of the [OBJECT SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-RGB-COLORS.301-4311385.en.html) command in the 4D Language Reference manual. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. + +>This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +The following example uses a variable name: enter *CompanyColor* for the **Font Color Expression** and, in the form method, write the following code: + +```code4d +CompanyColor:=Choose([Companies]ID;Background color;Light shadow color; +Foreground color;Dark shadow color) +``` + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|rowStrokeSource|string |Font color expression| + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + +--- +## Style Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom character style to each row of the list box or each cell of the column. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed (if applied to the list box) or each cell displayed (if applied to a column). You can use the constants of the [Font Styles](https://doc.4d.com/4Dv17R6/4D/17-R6/Font-Styles.302-4310343.en.html) theme. + +Example: + +```code4d +Choose([Companies]ID;Bold;Plain;Italic;Underline) +``` + + +>This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|rowStyleSource|string|Style expression to evaluate for each row/cell.| + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Horizontal Alignment + +Horizontal location of text within the area that contains it. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|textAlign|string |"automatic", "right", "center", "justify", "left"| + +#### Objects Supported + +[Group Box](groupBox.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Header](listbox_overview.md#list-box-footers) - [Text Area](text.md) + + +--- +## Vertical Alignment + +Vertical location of text within the area that contains it. + +The **Default** option (`automatic` JSON value) sets the alignment according to the type of data found in each column: +- `bottom` for all data (except pictures) and +- `top` for picture type data. + +This property can also be handled by the [OBJECT Get vertical alignment](https://doc.4d.com/4Dv18/4D/18/OBJECT-Get-vertical-alignment.301-4505442.en.html) and [OBJECT SET VERTICAL ALIGNMENT](https://doc.4d.com/4Dv18/4D/18/OBJECT-SET-VERTICAL-ALIGNMENT.301-4505430.en.html) commands. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|verticalAlign|string |"automatic", "top", "middle", "bottom"| + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) + + + + + + + + + +--- +## Meta Info Expression +`Collection or entity selection type list boxes` + +Specifies an expression or a variable which will be evaluated for each row displayed. It allows defining a whole set of row text attributes. You must pass an **object variable** or an **expression that returns an object**. The following properties are supported: + +|Property name| Type| Description| +|---|---|---| +|stroke |string |Font color. Any CSS color (ex: "#FF00FF"), "automatic", "transparent"| +|fill |string| Background color. Any CSS color (ex: "#F00FFF"), "automatic", "transparent"| +|fontStyle |string| "normal","italic"| +|fontWeight| string |"normal","bold"| +|textDecoration| string| "normal","underline"| +|unselectable| boolean| Designates the corresponding row as not being selectable (*i.e.*, highlighting is not possible). Enterable areas are no longer enterable if this option is enabled unless the "Single-Click Edit" option is also enabled. Controls such as checkboxes and lists remain functional. This setting is ignored if the list box selection mode is "None". Default value: False.| +|disabled |boolean |Disables the corresponding row. Enterable areas are no longer enterable if this option is enabled. Text and controls (checkboxes, lists, etc.) appear dimmed or grayed out. Default value: False.| +|cell.\| object| Allows applying the property to a single column. Pass in \ the object name of the list box column. **Note**: "unselectable" and "disabled" properties can only be defined at row level. They are ignored if passed in the "cell" object| + +> Style settings made with this property are ignored if other style settings are already defined through expressions (*i.e.*, [Style Expression](#style-expression), [Font Color Expression](#font-color-expression), [Background Color Expression](#background-color-expression)). + +The following example uses the *Color* project method. + +In the form method, write the following code: + +```code4d +//form method +Case of + :(Form event=On Load) + Form.meta:=New object +End case +``` + + +In the *Color* method, write the following code: + +```code4d +//Color method +//Sets font color for certain rows and the background color for a specific column: +C_OBJECT($0) +If(This.ID>5) //ID is an attribute of collection objects/entities + Form.meta.stroke:="purple" + Form.meta.cell:=New object("Column2";New object("fill";"black")) +Else + Form.meta.stroke:="orange" +End if +$0:=Form.meta +``` + +>See also the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|metaSource| string|Object expression to evaluate for each row/cell.| + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + + +--- +## Multi-style + +This property enables the possibility of using specific styles in the selected area. When this option is checked, 4D interprets any \ HTML tags found in the area. + +By default, this option is not enabled. + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|styledText| boolean|true, false| + +#### Objects Supported + + +[List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + + + + + +--- +## Orientation + +Modifies the orientation (rotation) of a text area. Text areas can be rotated by increments of 90°. Each orientation value is applied while keeping the same lower left starting point for the object: + +|Orientation value|Result| +|----|---| +|0 (default)|![](assets/en/FormObjects/orientation1.png)| +|90|![](assets/en/FormObjects/orientation2.png)| +|180|![](assets/en/FormObjects/orientation3.png)| +|270|![](assets/en/FormObjects/orientation4.png)| + +In addition to [static text areas](text.md), [input](input_overview.md) text objects can be rotated when they are non-[enterable](properties_Entry.md#enterable). When a rotation property is applied to an input object, the enterable property is removed (if any). This object is then excluded from the entry order. + + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|textAngle|number |0, 90, 180, 270| + +#### Objects Supported + +[Input](input_overview.md) (non-enterable) - [Text Area](text.md) + + + + + +--- +## Row Font Color Array +`Array type list boxes` + +Allows setting a custom font color to each row of the list box or cell of the column. + +The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|rowStrokeSource|string|The name of a longint array| + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Row Style Array +`Array type list boxes` + +Allows setting a custom font style to each row of the list box or each cell of the column. + +The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. To fill the array (using a method), use the constants of the [Font Styles](https://doc.4d.com/4Dv17R6/4D/17-R6/Font-Styles.302-4310343.en.html) theme. You can add constants together to combine styles. If you want the cell to inherit the style defined at the higher level, pass the value -255 to the corresponding array element. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|rowStyleSource|string|The name of a longint array.| + +#### Objects Supported + +[List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Store with default style tags + +This property is only available for a [Multi-style](#multi-style) input area. +When this property is enabled, the area will store the style tags with the text, even if no modification has been made. In this case, the tags correspond to the default style. When this property is disabled, only modified style tags are stored. + +For example, here is a text that includes a style modification: + +![](assets/en/FormObjects/tagStyle1.png) + +When the property is disabled, the area only stores the modification. The stored contents are therefore: + +``` +What a beautiful day! +``` + +When the property is enabled, the area stores all the formatting information. The first generic tag describes the default style then each variation is the subject of a pair of nested tags. The contents stored in the area are therefore: + +``` +What a beautiful day! +``` + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|storeDefaultStyle|boolean|true, false (default).| + +#### Objects Supported + +[Input](input_overview.md) + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/FormObjects/properties_TextAndPicture.md b/docs/FormObjects/properties_TextAndPicture.md new file mode 100644 index 00000000000000..bb536de1f5ea7b --- /dev/null +++ b/docs/FormObjects/properties_TextAndPicture.md @@ -0,0 +1,254 @@ +--- +id: propertiesTextAndPicture +title:Text and Picture +--- +--- +## Background pathname + +Sets the path of the picture that will be drawn in the background of the object. If the object uses an [icon](#picture-pathname) with [different states](#number-of-states), the background picture will automatically support the same number of states. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|customBackgroundPicture |string |Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option.| + + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## Button Style + +General appearance of the button. The button style also plays a part in the availability of certain options. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---:|:---:|---| +|style|text |"regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom"| + + +#### Objects Supported + +[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Horizontal Margin + +This property allows setting the size (in pixels) of the horizontal margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders: + +|With / Without | Example | +|---|---| +|Without margin|![](assets/en/FormObjects/property_horizontalMargin1.png)| +|With 13-pixel margin|![](assets/en/FormObjects/property_horizontalMargin2.png)| + +>This property works in conjunction with the [Vertical Margin](#vertical-margin) property. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|customBorderX|number|For use with "custom" style. Minimum: 0 + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- + +## Icon Location + +Designates the placement of an icon in relation to the form object. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|iconPlacement|string|"none", "left", "right"| + +#### Objects Supported + +[List Box Header](listbox_overview.md#list-box-headers) + + + + + +--- +## Icon Offset + +Sets a custom offset value in pixels, which will be used when the button is clicked + +The title of the button will be shifted to the right and toward the bottom for the number of pixels entered. This allows applying a customized 3D effect when the button is clicked. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|customOffset|number |minimum: 0| + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + +--- +## Number of States + +This property sets the exact number of states present in the picture used as the icon for a [button with icon](button_overview.md), a [check box](checkbox_overview.md) or a custom [radio button](radio_overview.md). In general, a button icon includes four states: active, clicked, mouse over and inactive. + +Each state is represented by a different picture. In the source picture, the states must be stacked vertically: + +![](assets/en/property_numberOfStates.png) + +The following states are represented: +1. button not clicked / check box unchecked (variable value=0) +2. button clicked / check box checked (variable value=1) +3. roll over +4. disabled + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|iconFrames|number|minimum: 1| + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + + +--- +## Picture pathname + +Sets the path of the picture that will be used as icon for the object. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +> When used as icon for active objects, the picture must be designed to support a variable [number of states](#number-of-states). + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|icon|picture |Relative or filesystem path in POSIX syntax.| + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) + + + + +--- +## Title/Picture Position + +This property allows modifying the relative location of the button title in relation to the associated icon. This property has no effect when the button contains only a title (no associated picture) or a picture (no title). By default, when a button contains a title and a picture, the text is placed below the picture. + +Here are the results using the various options for this property: + +|Option|Description|Example| +|---|---|---| +|**Left**|The text is placed to the left of the icon. The contents of the button are aligned to the right.|![](assets/en/FormObjects/property_titlePosition_left.en.png)| +|**Top**|The text is placed above the icon. The contents of the button are centered.| ![](assets/en/FormObjects/property_titlePosition_top.png) | +|**Right**|The text is placed to the right of the icon. The contents of the button are aligned to the left.|![](assets/en/FormObjects/property_titlePosition_right.png) | +|**Bottom**|The text is placed below the icon. The contents of the button are centered.|![](assets/en/FormObjects/property_titlePosition_bottom.png) | +|**Centered**|The text of the icon is centered vertically and horizontally in the button. This parameter is useful, for example, for text included in an icon.|![](assets/en/FormObjects/property_titlePosition_centered.png) | + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|textPlacement|string|"left", "top", "right", "bottom", "center"| + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Vertical Margin + +This property allows setting the size (in pixels) of the vertical margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders. + +> This property works in conjunction with the [Horizontal Margin](#horizontal-margin) property. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|customBorderY|number|For use with "custom" style. Minimum: 0| + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## With pop-up menu + +This property allows displaying a symbol that appears as a triangle in the button to indicate the presence of an attached pop-up menu: + +![](assets/en/FormObjects/property_popup.png) + +The appearance and location of this symbol depends on the button style and the current platform. + + +### Linked and Separated + +To attach a pop-up menu symbol to a button, there are two display options available: + +|Linked|Separated| +|:---:|:---:| +|![](assets/en/FormObjects/property_popup_linked.png) |![](assets/en/FormObjects/property_popup_separated.png)| + +>The actual availability of a "separated" mode depends on the style of the button and the platform. + +Each option specifies the relation between the button and the attached pop-up menu: + +
  • When the pop-up menu is **separated**, clicking on the left part of the button directly executes the current action of the button; this action can be modified using the pop-up menu accessible in the right part of the button. +
  • When the pop-up menu is **linked**, a simple click on the button only displays the pop-up menu. Only the selection of the action in the pop-up menu causes its execution. + + +### Managing the pop-up menu + +It is important to note that the "With Pop-up Menu" property only manages the graphic aspect of the button. The display of the pop-up menu and its values must be handled entirely by the developer, more particularly using `form events` and the **[Dynamic pop up menu](https://doc.4d.com/4Dv18/4D/18/Dynamic-pop-up-menu.301-4505524.en.html)** and **[Pop up menu](https://doc.4d.com/4Dv17R5/4D/17-R5/Pop-up-menu.301-4127438.en.html)** commands. + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|:---|---|---| +|popupPlacement |string |
  • "none"
  • "linked"
  • "separated" | + + +#### Objects Supported + +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#Rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-XP) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) \ No newline at end of file diff --git a/docs/FormObjects/properties_WebArea.md b/docs/FormObjects/properties_WebArea.md new file mode 100644 index 00000000000000..8dcf7a633270de --- /dev/null +++ b/docs/FormObjects/properties_WebArea.md @@ -0,0 +1,104 @@ +--- +id: propertiesWebArea +title: Web Area +--- + +--- +## Access 4D methods + +You can call 4D methods from the JavaScript code executed in a Web area and get values in return. To be able to call 4D methods from a Web area, you must activate the 4D methods accessibility property ("all"). + +> This property is only available if the Web area [uses the embedded Web rendering engine](#use-embedded-web-rendering-engine). + +When this property is on, a special JavaScript object named `$4d` is instantiated in the Web area, which you can [use to manage calls to 4D project methods](webArea_overview.md#4d-object). + + + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|methodsAccessibility|string|"none" (default), "all"| + +#### Objects Supported + +[Web Area](webArea_overview.md) + + +--- +## Progression + +Name of a Longint type variable. This variable will receive a value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|progressSource|string|Name of a Longint variable| + +#### Objects Supported + +[Web Area](webArea_overview.md) + + + + +--- +## URL + +A String type variable that designates the URL loaded or being loading by the associated Web area. The association between the variable and the Web area works in both directions: + +* If the user assigns a new URL to the variable, this URL is automatically loaded by the Web area. +* Any browsing done within the Web area will automatically update the contents of the variable. + +Schematically, this variable functions like the address area of a Web browser. You can represent it via a text area above the Web area. + +### URL Variable and WA OPEN URL command + +The URL variable produces the same effects as the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. The following differences should nevertheless be noted: +- For access to documents, this variable only accepts URLs that are RFC-compliant ("file://c:/My%20Doc") and not system pathnames ("c:\MyDoc"). The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command accepts both notations. +- If the URL variable contains an empty string, the Web area does not attempt to load the URL. The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command generates an error in this case. +- If the URL variable does not contain a protocol (http, mailto, file, etc.), the Web area adds "http://", which is not the case for the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. +- When the Web area is not displayed in the form (when it is located on another page of the form), executing the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command has no effect, whereas assigning a value to the URL variable can be used to update the current URL. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|urlSource|string |A URL.| + +#### Objects Supported + +[Web Area](webArea_overview.md) + + + + + + +--- +## Use embedded Web rendering engine + +This option allows choosing between two rendering engines for the Web area, depending on the specifics of your application: + +* **unchecked** - `JSON value: system` (default): In this case, 4D uses the "best" engine corresponding to the system. On Windows, 4D automatically uses the most recent version of the browser found on the machine (IE11, MS Edge, etc.). On macOS, 4D uses the current version of WebKit (Safari). +This means that you automatically benefit from the latest advances in Web rendering, through HTML5 or JavaScript. However, you may notice some rendering differences between Internet Explorer/Edge implementations and Web Kit ones. +* **checked** - `JSON value: embedded`: In this case, 4D uses Blink engine from Google. Using the embedded Web engine means that Web area rendering and their functioning in your application are identical regardless of the platform used to run 4D (slight variations of pixels or differences related to network implementation may nevertheless be observed). When this option is chosen, you no longer benefit from automatic updates of the Web engine performed by the operating system; however, new versions of the engines are provided through 4D. + + Note that the Blink engine has the following limitations: + * [WA SET PAGE CONTENT](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PAGE-CONTENT.301-4310783.en.html): using this command requires that at least one page is already loaded in the area (through a call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or an assignment to the URL variable associated to the area). + * Execution of Java applets, JavaScripts and plug-ins is always enabled and cannot be disabled in Web areas in Blink. The following selectors of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) and [WA GET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-GET-PREFERENCE.301-4310763.en.html) commands are ignored: + * `WA enable Java applets` + * `WA enable JavaScript` + * `WA enable plugins` + * When URL drops are enabled by the `WA enable URL drop` selector of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command, the first drop must be preceded by at least one call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or one assignment to the URL variable associated to the area. + +#### JSON Grammar + +|Name|Data Type|Possible Values| +|---|---|---| +|webEngine| string|"embedded", "system"| + +#### Objects Supported + +[Web Area](webArea_overview.md) \ No newline at end of file diff --git a/docs/FormObjects/radio_overview.md b/docs/FormObjects/radio_overview.md new file mode 100644 index 00000000000000..c381ad1e875c46 --- /dev/null +++ b/docs/FormObjects/radio_overview.md @@ -0,0 +1,163 @@ +--- +id: radiobuttonOverview +title: Radio Button +--- +## Overview + +Radio buttons are objects that allow the user to select one of a group of buttons. + +Usually, a radio button shows a small bullseye with text. However, radio buttons can have [various appearances](#button-styles). + +![](assets/en/FormObjects/radio1.png) + +A radio button is selected: +- when the user clicks on it +- when it has the focus and the user presses the **Space bar** key. + + + +## Configuring radio buttons + +Radio buttons are used in coordinated sets: only one button at a time can be selected in the set. In order to operate in a coordinated manner, a set of radio buttons must share the same [Radio Group](properties_Object.md#radio-group) property. + +Radio buttons are controlled with methods. Like all buttons, a radio button is set to 0 when the form is first opened. A method associated with a radio button executes when the button is selected. The following is an example of a group of radio buttons used in a video collection database to enter the speed of the recording (SP, LP, or EP): + +![](assets/en/FormObjects/radio2.png) + +Selecting one radio button in a group sets that button to 1 and all of the others in the group to 0. Only one radio button can be selected at a time. + +>You can associate [Boolean type expressions](properties_Object.md#variable-or-expression) with radio buttons. In this case, when a radio button in a group is selected, its variable is True and the variables for the group's other radio buttons are False. + +The value contained in a radio button object is not saved automatically (except if it is the representation of a Boolean field); radio button values must be stored in their variables and managed with methods. + + + + +## Button Styles + +Radio [button styles](properties_TextAndPicture.md#button-style) control radio button's general appearance as well as its available properties. It is possible to apply different predefined styles to radio buttons. However, the same button style must be applied to all radio buttons in a group so that they work as expected. + +4D provides radio buttons in the following predefined styles: + + +### Regular + +The Regular radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_regular.png) + +In addition to initiating code execution, the Regular radio button style changes bullsey color when being hovered. + + +### Flat + +The Flat radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_flat.png) + +By default, the Flat style has a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + + +### Toolbar + +The Toolbar radio button style is primarily intended for integration in a toolbar. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + +![](assets/en/FormObjects/radio_toolbar.png) + + - *macOS* - the highlight of the button never appears. + + + +### Bevel + +The Bevel radio button style is similar to the [Toolbar](#toolbar) style's behavior, except that it has a light gray background and a gray outline. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + + ![](assets/en/FormObjects/radio_bevel.png) + + - *macOS* - the highlight of the button never appears. + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the corners of the button are rounded. + ![](assets/en/FormObjects/roundedBevel.png) + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the button is displayed as a two-tone system button. + + + +### OS X Textured + +The OS X Textured radio button style is nearly identical to the [Toolbar](#toolbar) style except, depending on the OS, it may have a different appearance and does not display hover. + +By default, the OS X Textured style appears as: + + - *Windows* - a toolbar-like button with a label in the center and the background is always displayed. + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/OSXTextured.png) + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + + ![](assets/en/FormObjects/radio_xp.png) + + - *macOS* - its background is always displayed. + + + +### Collapse / Expand + +This button style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. In Windows, the button looks like a [+] or a [-]; in macOS, it looks like a triangle pointing right or down. + +![](assets/en/FormObjects/checkbox_collapse.png) + + + +### Disclosure Button + +The disclosure radio button style displays the radio button as a standard disclosure button, usually used to show/hide additional information. The button symbol points downwards with value 0 and upwards with value 1. + +![](assets/en/FormObjects/checkbox_disclosure.png) + + +### Custom + +The Custom radio button style accepts a personalized background picture and allows managing additional parameters such as [icon offset](properties_TextAndPicture.md#icon-offset) and [margins](properties_TextAndPicture.md#horizontalMargin). + + +## Supported properties + +All radio buttons share the same set of basic properties: + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Radio Group](properties_Object.md#radio-group) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +Additional specific properties are available depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/docs/FormObjects/ruler.md b/docs/FormObjects/ruler.md new file mode 100644 index 00000000000000..7de74313fc7567 --- /dev/null +++ b/docs/FormObjects/ruler.md @@ -0,0 +1,20 @@ +--- +id: ruler +title: Ruler +--- +## Overview + +The ruler is a standard interface object used to set or get values using a cursor moved along its graduations. + +![](assets/en/FormObjects/indicator_ruler.png) + +You can assign its [associated variable or expression](properties_Object.md#expression-type) to an enterable area (field or variable) to store or modify the current value of the object. + +For more information, please refer to [Using indicators](progressIndicator.md#using-indicatire) in the "Progress Indicator" page. + +### Supported Properties +[Bold](properties_Text.md#bold) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) -[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Display graduation](properties_Scale.md#display-graduation) - [Enterable](properties_Entry.md#enterable) - [Execute object method](properties_Action.md#execute-object-method) - [Expression Type](properties_Object.md#expression-type) - [Height](properties_CoordinatesAndSizing.md#height) - [Graduation step](properties_Scale.md#graduation-step) -[Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Label Location](properties_Scale.md#label-location) - [Left](properties_CoordinatesAndSizing.md#left) - [Maximum](properties_Scale.md#maximum) - [Minimum](properties_Scale.md#minimum) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Step](properties_Scale.md#step) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## See also +- [progress indicators](progressIndicator.md) +- [steppers](stepper.md) \ No newline at end of file diff --git a/docs/FormObjects/shapes_overview.md b/docs/FormObjects/shapes_overview.md new file mode 100644 index 00000000000000..010cdca3a1c029 --- /dev/null +++ b/docs/FormObjects/shapes_overview.md @@ -0,0 +1,111 @@ +--- +id: shapesOverview +title: Shapes +--- + +Shapes are [static objects](formObjects_overview.md#active-and-static-objects) that can be added to 4D forms. + +4D forms support the following basic shapes: + +- rectangles +- lines +- ovals + + +## Rectangle + +A static rectangle is a decorative object for forms. Rectangles are constrained to squared shapes. + +The design of rectangles is controlled through many properties (color, line thickness, pattern, etc.). Specifically, the [roundness](properties_CoordinatesAndSizing.md#corner-radius) of its corners can be defined. + +![](assets/en/FormObjects/shapes_rectangle2.png) + +#### JSON Example: + +```code4d + "myRectangle": { + "type": "rectangle", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "borderRadius": 20 //define the roundness of the corners + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Corner radius](properties_CoordinatesAndSizing.md#corner-radius) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Line + +A static line is a decorative object for forms, drawn between two plots. Lines can be horizontal, vertical, or of any angle shapes. + +The design of lines is controlled through many properties (color, line thickness, etc.). + + +### startPoint property +The `startPoint` JSON property defines from which coordinate to draw the line (see example). + +> the `startPoint` property is not exposed in the Property List, where the line drawing direction is visible. + + + +#### JSON Examples: + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "topLeft", //first direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: +![](assets/en/FormObjects/shape_line1.png) + + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "bottomLeft", //2nd direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: +![](assets/en/FormObjects/shape_line2.png) + + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [startPoint](#startpoint-property) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Oval + +A static oval is a decorative object for forms. Oval objects can be used to draw circular shapes (when [width](properties_CoordinatesAndSizing.md#width) and [height](properties_CoordinatesAndSizing.md#height) properties are equal). + +![](assets/en/FormObjects/shape_oval.png) + +#### JSON Example: + +```code4d + "myOval": { + "type": "oval", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "fill": "blue" //define the background color + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/docs/FormObjects/spinner.md b/docs/FormObjects/spinner.md new file mode 100644 index 00000000000000..d7316c6489997c --- /dev/null +++ b/docs/FormObjects/spinner.md @@ -0,0 +1,20 @@ +--- +id: spinner +title: Spinner +--- +## Overview + +The spinner is a circular indicator that displays a continuous animation, like the [Barber shop](progressIndicator.md#barber-shop). + +![](assets/en/FormObjects/spinner.gif) + +You use this type of object to indicate that an operation such as establishing a network connection or a performing a calculation is underway. When this indicator is selected, [graphical Scale properties](properties_Scale.md) are not available. + +When the form is executed, the object is not animated. You manage the animation by passing a value to its [associated variable or expression](properties_Object.md#variable-or-expression): + +* 1 (or any value other than 0) = Start animation, +* 0 = Stop animation + +### Supported Properties +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Expression Type](properties_Object.md#expression-type) - [Height](properties_CoordinatesAndSizing.md#height) -[Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + \ No newline at end of file diff --git a/docs/FormObjects/splitters.md b/docs/FormObjects/splitters.md new file mode 100644 index 00000000000000..44081afbf8c8f9 --- /dev/null +++ b/docs/FormObjects/splitters.md @@ -0,0 +1,65 @@ +--- +id: splitters +title: Splitter +--- + +## Overview + +A splitter divides a form into two areas, allowing the user to enlarge and reduce the areas by moving the splitter one way or the other. A splitter can be either horizontal or vertical. The splitter takes into account each object’s resizing properties, which means that you can completely customize your database’s interface. A splitter may or may not be a “pusher.” + +Splitter are used for example in output forms so that columns can be resized: + +![](assets/en/FormObjects/split1.png) + + +Some of the splitter’s general characteristics: + +* You can place as many splitters as you want in any type of form and use a mixture of horizontal and vertical splitters in the same form. +* A splitter can cross (overlap) an object. This object will be resized when the splitter is moved. +* Splitter stops are calculated so that the objects moved remain entirely visible in the form or do not pass under/next to another splitter. When the [Pusher](properties_ResizingOptions.md#pusher) property is associated with a splitter, its movement to the right or downward does not encounter any stops. +* If you resize a form using a splitter, the new dimensions of the form are saved only while the form is being displayed. Once a form is closed, the initial dimensions are restored. + +Once it is inserted, the splitter appears as a line. You can modify its [border style](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) to obtain a thinner line or [change its color](properties_BackgroundAndBorder.md##font-color-line-color). + +#### JSON Example: + +```code4d +"mySplitter": { + "type": "splitter", + "left": 60, + "top": 160, + "width": 100, + "height": 20, + "splitterMode": "move" //pusher + } +``` + + +### Supported Properties +[Border Line Style](properties_BackgroundAndBorder.md##border-line-style-dotted-line-type) - [Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md##font-color-line-color) - [Object Name](properties_Object.md#object-name) - [Pusher](properties_ResizingOptions.md#pusher) - [Right](properties_CoordinatesAndSizing.md#right) - [Title](properties_Object.md#title) -[Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Interaction with the properties of neighboring objects + +In a form, splitters interact with the objects that are around them according to these objects’ resizing options: + +|Resizing options for the object(s) |Object(s) above an horizontal splitter or to the left of a vertical splitter (1) |Object(s) below an horizontal *non-Pusher* splitter or to the right of a vertical *non-Pusher* splitter|Object(s) below an horizontal *Pusher* splitter or to the right of a vertical *Pusher* splitter | +|---|---|---|---| +|None |Remain as is |Are moved with the splitter (position relative to the splitter is not modified) until the next stop. The stop when moving to the bottom or right is either the window’s border, or another splitter. |Are moved with the splitter (position relative to the splitter is not modified) indefinitely. No stop is applied (see the next paragraph)| +|Resize |Keep original position(s), but are resized according to the splitter’s new position | | | +|Move |Are moved with the splitter | | | + +*(1) You cannot drag the splitter past the right (horizontal) or bottom (vertical) side of an object located in this position.* + +>An object completely contained in the rectangle that defines the splitter is moved at the same time as the splitter. + +## Managing splitters programmatically + +You can associate an object method with a splitter and it will be called with the `On Clicked` event throughout the entire movement. + +A [variable](properties_Object.md#variable-or-expression) of the *Longint* type is associated with each splitter. This variable can be used in your object and/or form methods. Its value indicates the splitter’s current position, in pixels, in relation to its initial position. + +* If the value is negative: the splitter was moved toward the top or toward the left, +* If the value is positive: the splitter was moved toward the bottom or toward the right, +* If the value is 0: the splitter was moved to its original position. + +You can also move the splitter programmatically: you just have to set the value of the associated variable. For example, if a vertical splitter is associated with a variable named `split1`, and if you execute the following statement: `split1:=-10`, the splitter will be moved 10 pixels to the left — as if the user did it manually. The move is actually performed at the end of the execution of the form or object method containing the statement. diff --git a/docs/FormObjects/staticPicture.md b/docs/FormObjects/staticPicture.md new file mode 100644 index 00000000000000..35fcbb59dfc360 --- /dev/null +++ b/docs/FormObjects/staticPicture.md @@ -0,0 +1,30 @@ +--- +id: staticPicture +title: Static picture +--- +## Overview + +Static pictures are [static objects](formObjects_overview.md#active-and-static-objects) that can be used for various purposes in 4D forms, including decoration, background, or user interface: + +![](assets/en/FormObjects/StaticPict.png) + + +Static pictures are stored outside the forms and inserted by reference. In the form editor, static picture objects are created by copy/paste or drag and drop operations. + +> If you place a static picture on page 0 of a multi-page form, it will appear automatically as a background element on all pages. You can also include it in an inherited form, applied in the background of other different forms. Either way, your database will run faster than if the picture was pasted into each page. + + + +## Format and location + +The original picture must be stored in a format managed natively by 4D (4D recognizes the main picture formats: JPEG, PNG, BMP, SVG, GIF, etc.). + +Two main locations can be used for static picture path: + +- in the **Resources** folder of the project database. Appropriate when you want to share static pictures between several forms in the database. In this case, the Pathname is in the "/RESOURCES/\". +- in an image folder (e.g. named **Images**) within the form folder. Appropriate when the static pictures are used only in the form and/or yon want to be able to move or duplicate the whole form within the project or different projects. In this case, the Pathname is "<\picture path\>" and is resolved from the root of the form folder. + + +## Supported Properties + +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [CSS Class](properties_Object.md#css-class) - [Display](properties_Picture.md#display) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/docs/FormObjects/stepper.md b/docs/FormObjects/stepper.md new file mode 100644 index 00000000000000..8f24cabfc75d90 --- /dev/null +++ b/docs/FormObjects/stepper.md @@ -0,0 +1,39 @@ +--- +id: stepper +title: Stepper +--- +## Overview + +A stepper lets the user scroll through numeric values, durations (times) or dates by predefined steps by clicking on the arrow buttons. + +![](assets/en/FormObjects/indicator_numericStepper.png) + +## Using steppers + +You can assign the variable associated with the object to an enterable area (field or variable) to store or modify the current value of the object. + +A stepper can be associated directly with a number, time or date variable. + +* For values of the time type, the Minimum, Maximum and Step properties represent seconds. For example, to set a stepper from 8:00 to 18:00 with 10-minute steps: + * [minimum](properties_Scale.md#minium) = 28 800 (8*60*60) + * [maximum](properties_Scale.md#maximum) = 64 800 (18*60*60) + * [step](properties_Scale.md#step) = 600 (10*60) +* For values of the date type, the value entered in the [step](properties_Scale.md#step) property represents days. The Minimum and Maximum properties are ignored. + +>For the stepper to work with a time or date variable, it is imperative to set its type in the form AND to declare it explicitly via the [C_TIME](https://doc.4d.com/4Dv17R5/4D/17-R5/C-TIME.301-4128557.en.html) or [C_DATE](https://doc.4d.com/4Dv17R5/4D/17-R5/C-DATE.301-4128570.en.html) command. + +For more information, please refer to [Using indicators](progressIndicator.md#using-indicatire) in the "Progress Indicator" page. + +## Supported Properties +[Bold](properties_Text.md#bold) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Execute object method](properties_Action.md#execute-object-method) - [Expression Type](properties_Object.md#expression-type) (only "integer", "number", "date", or "time") - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Maximum](properties_Scale.md#maximum) - [Minimum](properties_Scale.md#minimum) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Step](properties_Scale.md#step) - [Standard action](properties_Action.md#standard-action) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + + +## See also +- [progress indicators](progressIndicator.md) +- [rulers](ruler.md) + + + + + + diff --git a/docs/FormObjects/subform_overview.md b/docs/FormObjects/subform_overview.md new file mode 100644 index 00000000000000..8f6290350ebd0f --- /dev/null +++ b/docs/FormObjects/subform_overview.md @@ -0,0 +1,159 @@ +--- +id: subformOverview +title: Subform +--- + +## Overview + +A subform is a form included in another form. + + +### Terminology + +In order to clearly define the concepts implemented with subforms, here are some definitions for certain terms used: + +* **Subform**: a form intended for inclusion in another form, itself called the parent form. +* **Parent form**: a form containing one or more subform(s). +* **Subform container**: an object included in the parent form, displaying an instance of the subform. +* **Subform instance**: the representation of a subform in a parent form. This concept is important because it is possible to display several instances of the same subform in a parent form. +* **List form**: instance of subform displayed as a list. +* **Detail form**: page-type input form associated with a list-type subform that can be accessed by double-clicking in the list. + + +## List subforms + +A list subform lets you enter, view, and modify data in other tables. You usually use list subforms in databases in which you have established One to Many relations. A list subform on a form in a related One table lets you view, enter, and modify data in a related Many table. You can have several subforms coming from different tables in the same form. However, it is not possible to place two subforms that belong to the same table on the same page of a form. + +For example, a Contacts manager database might use a list subform to display all the telephone numbers for a particular contact. Although the telephone numbers appear on the Contacts screen, the information is actually stored in a related table. Using a One to Many relation, this database design makes it easy to store an unlimited number of telephone numbers per contact. With automatic relations, you can support data entry directly into the related Many table without programming. + +Although list subforms are generally associated with Many tables, a subform instance can display the records of any other database table. + +You can also allow the user to enter data in the List form. +Depending on the configuration of the subform, the user may display the detail form by double-clicking on a subrecord or by using the commands for adding and editing subrecords. + +> 4D offers three standard actions to meet the basic needs for managing subrecords: `Edit Subrecord`, `Delete Subrecord`, and `Add Subrecord`. When the form includes several subform instances, the action will apply to the subform that has the focus. + + +## Page subforms + +Page subforms can display the data of the current subrecord or any type of pertinent value depending on the context (variables, pictures, and so on). One of the main advantages of using page subforms is that they can include advanced functionalities and can interact directly with the parent form (widgets). Page subforms also have their own specific properties and events; you can manage them entirely by programming. + +The page subform uses the input form indicated by the [Detail Form](properties_Subform.md#detail-form) property. Unlike a list subform, the form used can come from the same table as the parent form. It is also possible to use a project form. When executed, a page subform has the same standard display characteristics as an input form. + +> 4D Widgets are predefined compound objects based upon page subforms. They are described in detail in a separate manual, [4D Widgets](https://doc.4d.com/4Dv17R6/4D/17-R6/4D-Widgets.100-4465257.en.html). + +### Managing the bound variable + +The [variable](properties_Object.md#variable-or-expression) bound to a page subform lets you link the parent form and subform contexts to put the finishing touches on sophisticated interfaces. For example, imagine a subform representing a dynamic clock, inserted into a parent form containing an enterable variable of the Time type: + +![](assets/en/FormObjects/subforms1.png) + +Both objects (time variable and subform container) *have the same variable name*. In this case, when you open the parent form, 4D synchronizes both values automatically. If the variable value is set at several locations, 4D uses the value that was loaded last. It applies the following loading order: +1-Object methods of subform +2-Form method of subform +3-Object methods of parent form +4-Form method of parent form + +When the parent form is executed, the developer must take care to synchronize the variables using appropriate form events. Two types of interactions can occur: form to subform and vice versa. + +#### Updating subform contents +Case 1: The value of the parent form variable is modified and this modification must be passed on to the subform. In our example, the time of ParisTime changes to 12:15:00, either because the user entered it, or because it was updated dynamically (via the `Current time` command for example). + +In this case, you must use the On Bound Variable Change form event. This event must be selected in the subform properties; it is generated in the form method of the subform. + +![](assets/en/FormObjects/subforms2.png) + +The `On Bound Variable Change` form event is generated: + +- as soon as a value is assigned to the variable of the parent form, even if the same value is reassigned, +- if the subform belongs to the current form page or to page 0. + +Note that, as in the above example, it is preferable to use the `OBJECT Get pointer` command which returns a pointer to the subform container rather than its variable because it is possible to insert several subforms in the same parent form (for example, a window displaying different time zones contains several clocks). In this case, only a pointer lets you know which subform container is at the origin of the event. + +#### Updating parent form contents + +Case 2: The contents of the subform are modified and this modification must be passed on to the parent form. In our example, imagine that the subform interface lets the user "manually" move the hands of the clock. + +In this case, from the subform, you must assign the object value to the variable of the parent subform container. As in the previous example, we recommend that you use the `OBJECT Get pointer` command with the `Object subform container` selector which returns a pointer to the subform container. + +Assigning the value to the variable generates the `On Data Change` form event in the object method of the parent subform container, which lets you perform any type of action. The event must be selected in the properties of the subform container. + +![](assets/en/FormObjects/subforms3.png) + +> If you "manually" move the hands of the clock, this also generates the `On Data Change` form event in the object method of the *clockValue* variable in the subform. + +### Using the subform bound object + +4D automatically binds an object (`C_OBJECT`) to each subform. The contents of this object can be read and/or modified from within the context of the subform, allowing you to share values in a local context. + +The object can be created automatically or be the parent container variable, if explicitely named and typed as Object (see below). In all cases, the object is returned by the `Form` command, which can be called directy the subform (using a pointer is useless). Since objects are always passed by reference, if the user modifies a property value in the subform, it will automatically be saved in the object itself. + +For example, in your subform, field labels are stored in the bound object so that you can display different languages: + +![](assets/en/FormObjects/subforms4.png) + +You can modify the labels from the subform by assigning values to the *InvoiceAddress* object: + +```code4d + C_OBJECT($lang) + $lang:=New object + If(<>lang="fr") + $lang.CompanyName:="Société :" + $lang.LastName:="Nom :" + Else + $lang.CompanyName:="Company:" + $lang.LastName:="Name:" + End if + InvoiceAddress.Label:=$lang +``` + +![](assets/en/FormObjects/subforms5.png) + +### Advanced inter-form programming +Communication between the parent form and the instances of the subform may require going beyond the exchange of a value through the bound variable. In fact, you may want to update variables in subforms according to the actions carried out in the parent form and vice versa. If we use the previous example of the "dynamic clock" type subform, we may want to set one or more alarm times for each clock. + +4D has implemented the following mechanisms to meet these needs: + +- Use of the "subform" parameter with the `OBJECT Get name` command to specify the subform object and the `OBJECT Get pointer` command. +- Calling of a container object from the subform using the `CALL SUBFORM CONTAINER` command, +- Execution of a method in the context of the subform via the `EXECUTE METHOD IN SUBFORM` command. + + +#### Object get pointer and Object get name commands +In addition to the `Object subform container` selector, the `OBJECT Get pointer` command accepts a parameter that indicates in which subform to search for the object whose name is specified in the second parameter. This syntax can only be used when the Object named selector is passed. + +For example, the following statement: + +```code4d + $ptr:=OBJECT Get pointer(Object named;"MyButton";"MySubForm") +``` + +... retrieves a pointer to the "MyButton" variable that is located in the "MySubForm" subform object. This syntax can be used to access from the parent form any object found in a subform. Also note the `OBJECT Get name` command which can be used to retrieve the name of the object that has the focus. + +#### CALL SUBFORM CONTAINER command + +The `CALL SUBFORM CONTAINER` command lets a subform instance send an event to the subform container object, which can then process it in the context of the parent form. The event is received in the container object method. It may be at the origin of any event detected by the subform (click, drag-and-drop, etc.). + +The code of the event is unrestricted (for example, 20000 or -100). You can use a code that corresponds to an existing event (for example, 3 for `On Validate`), or use a custom code. In the first case, you can only use events that you have checked in the Property List for subform containers. In the second case, the code must not correspond to any existing form event. It is recommended to use a negative value to be sure that this code will not be used by 4D in future versions. + +For more information, refer to the description of the `CALL SUBFORM CONTAINER` command. + +#### EXECUTE METHOD IN SUBFORM command +The `EXECUTE METHOD IN SUBFORM` command lets a form or one of its objects request the execution of a method in the context of the subform instance, which gives it access to the subform variables, objects, etc. This method can also receive parameters. + +This mechanism is illustrated in the following diagram: + +![](assets/en/FormObjects/subforms6.png) + +For more information, refer to the description of the `EXECUTE METHOD IN SUBFORM` command. + +#### GOTO OBJECT command +The `GOTO OBJECT` command looks for the destination object in the parent form even if it is executed from a subform. + + + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Detail Form](properties_Subform.md#detail-form) - [Double click on empty row](properties_Subform.md#double-click-on-empty-row) - [Double click on row](properties_Subform.md#double-click-on-row) - [Enterable in list](properties_Subform.md#enterable-in-list) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - +[Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - +[Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [List Form](properties_Subform.md#list-form) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Print Frame](properties_Print.md#print-frame) - [Right](properties_CoordinatesAndSizing.md#right) - [Selection mode](properties_Subform.md#selection-mode) - [Source](properties_Subform.md#source) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/docs/FormObjects/tabControl.md b/docs/FormObjects/tabControl.md new file mode 100644 index 00000000000000..905e581210415a --- /dev/null +++ b/docs/FormObjects/tabControl.md @@ -0,0 +1,94 @@ +--- +id: tabControl +title: Tab Controls +--- + +A tab control creates an object that lets the user choose among a set of virtual screens that are enclosed by the tab control object. Each screen is accessed by clicking its tab. + +The following multi-page form uses a tab control object: + +![](assets/en/FormObjects/tabControl1.png) + +To navigate from screen to screen, the user simply clicks the desired tab. + +The screens can represent pages in a multi-page form or an object that changes when the user clicks a tab. If the tab control is used as a page navigation tool, then the [FORM GOTO PAGE](https://doc.4d.com/4Dv17R5/4D/17-R5/FORM-GOTO-PAGE.301-4128536.en.html) command or the `gotoPage` standard action would be used when a user clicks a tab. + +Another use of the tab control is to control the data that is displayed in a subform. For example, a Rolodex could be implemented using a tab control. The tabs would display the letters of the alphabet and the tab control’s action would be to load the data corresponding to the letter that the user clicked. + +Each tab can display labels or labels and a small icon. If you include icons, they appear to the left of each label. Here is an example of a tab control that uses icons: + +![](assets/en/FormObjects/tabControl2.png) + +When you create a tab control, 4D manages the spacing and placement of the tabs. You only need to supply the labels in the form of an array, or the icons and labels in the form of a hierarchical list. + +If the tab control is wide enough to display all the tabs with both the labels and icons, it displays both. If the tab control is not wide enough to display both the labels and icons, 4D displays the icons only. If it can’t fit all the icons, it places scroll arrows to the right of the last visible tab. The scroll arrows allow the user to scroll the icons to the left or right. + +Under macOS, in addition to the standard position (top), the tab controls can also be aligned to the bottom. + + +### JSON Example: + +```code4d + "myTab": { + "type": "tab", + "left": 60, + "top": 160, + "width": 100, + "height": 20, + "labelsPlacement": "bottom" //define the direction + } +``` + + + +## Adding labels to a tab control + +There are several ways to supply the labels for a tab control: + +* You can assign a [choice list](properties_DataSource.md#choice-list-static-list) to the tab control, either through a collection (static list) or a JSON pointer ("$ref") to a json list. Icons associated with list items in the Lists editor will be displayed in the tob control. +* You can create a Text array that contains the names of each page of the form. This code must be executed before the form is presented to the user. For example, you could place the code in the object method of the tab control and execute it when the `On Load` event occurs. + +```code4d + ARRAY TEXT(arrPages;3) + arrPages{1}:="Name" + arrPages{2}:="Address" + arrPages{3}:="Notes" +``` + +>You can also store the names of the pages in a hierarchical list and use the `Load list` command to load the values into the array. + + +## Managing tabs programmatically + +### FORM GOTO PAGE command + +You can use the [FORM GOTO PAGE](https://doc.4d.com/4Dv17R5/4D/17-R5/FORM-GOTO-PAGE.301-4128536.en.html) command in the tab control’s method: + +```code4d +FORM GOTO PAGE(arrPages) +``` + +The command is executed when the `On Clicked` event occurs. You should then clear the array when the `On Unload` event occurs. + +Here is an example object method: + +```code4d + Case of + :(Form event=On Load) + LIST TO ARRAY("Tab Labels";arrPages) + :(Form event=On Clicked) + FORM GOTO PAGE(arrPages) + :(Form event=On Unload) + CLEAR VARIABLE(arrPages) + End case +``` + +### Goto Page action + +When you assign the `gotoPage` [standard action](properties_Action#standard-action) to a tab control, 4D will automatically display the page of the form that corresponds to the number of the tab that is selected. + +For example, if the user selects the 3rd tab, 4D will display the third page of the current form (if it exists). + + +## Supported Properties +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Choice List](properties_DataSource.md#choice-list-static-list) - [Class](properties_Object.md#css-class) - [Expression Type](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Pusher](properties_ResizingOptions.md#pusher) - [Right](properties_CoordinatesAndSizing.md#right) - [Standard action](properties_Action.md#standard-action) - [Tab Control Direction](properties_Appearance.md#tab-control-direction) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/docs/FormObjects/text.md b/docs/FormObjects/text.md new file mode 100644 index 00000000000000..21d6b8ef45dcc4 --- /dev/null +++ b/docs/FormObjects/text.md @@ -0,0 +1,45 @@ +--- +id: text +title: Text +--- + +## Overview + +A text object allows you to display static written content (*e.g.*, instructions, titles, labels, etc.) on a form. These static text areas can become dynamic when they include dynamic references. For more information, refer to [Using references in static text](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-references-in-static-text.300-4163725.en.html). + +#### JSON Example: + +```code4d + "myText": { + "type": "text", + "text": "Hello World!", + "textAlign": "center", + "left": 60, + "top": 160, + "width": 100, + "height": 20, + "stroke": "#ff0000" //text color + "fontWeight": "bold" + } +``` + + +## Rotation + +4D lets you rotate text areas in your forms using the [Orientation](properties_Text.md#orientation) property. + +![](assets/en/FormObjects/staticText.png) + +> Text rotation can be defined for a process using the `OBJECT SET TEXT ORIENTATION` language command. + +Once a text is rotated, you can still change its size or position, as well as all its properties. Note that the text area’s height and width properties do not depend on its orientation: + +![](assets/en/FormObjects/staticText2.png) + +- If the object is resized in direction A, its [width](properties_CoordinatesAndSizing.md#width) is modified; +- If the object is resized in direction C, its [height](properties_CoordinatesAndSizing.md#height) is modified; +- If the object is resized in direction B, both its [width](properties_CoordinatesAndSizing.md#width) and [height](properties_CoordinatesAndSizing.md#height) are modified. + + +## Supported Properties +[Bold](properties_Text.md#bold) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Fill Color](properties_BackgroundAndBorder.md#fill-color) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Orientation](properties_Text.md#orientation) - [Right](properties_CoordinatesAndSizing.md#right) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/docs/FormObjects/viewProArea_overview.md b/docs/FormObjects/viewProArea_overview.md new file mode 100644 index 00000000000000..0e0a565395139f --- /dev/null +++ b/docs/FormObjects/viewProArea_overview.md @@ -0,0 +1,20 @@ +--- +id: viewProAreaOverview +title: 4D View Pro area +--- + +4D View Pro allows you to insert and display a spreadsheet area in your 4D forms. A spreadsheet is an application containing a grid of cells into which you can enter information, execute calculations, or display pictures. + +![](assets/en/FormObjects/viewPro2.png) + +Once you use 4D View Pro areas in your forms, you can import and export spreadsheets documents. + + +## Using 4D View Pro areas + +4D View Pro areas are documented in the [4D View Pro Reference](https://doc.4d.com/4Dv17R6/4D/17-R6/4D-View-Pro-Reference.100-4351323.en.html) manual. + + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Show Formula Bar](properties_Appearance.md#show-formula-bar) - [Type](properties_Object.md#type) - [User Interface](properties_Appearance.md#user-interface) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/docs/FormObjects/webArea_overview.md b/docs/FormObjects/webArea_overview.md new file mode 100644 index 00000000000000..ba66724efc0244 --- /dev/null +++ b/docs/FormObjects/webArea_overview.md @@ -0,0 +1,211 @@ +--- +id: webAreaOverview +title: Web Area +--- + +## Overview + +The Web areas can display various types of Web content within your forms: HTML pages with static or dynamic contents, files, pictures, Javascript, etc. The rendering engine of the Web area depends on the execution platform of the application and the selected [rendering engine option](properties_WebArea.md#use-embedded-web-rendering-engine). + +It is possible to create several Web areas in the same form. Note, however, that the use of Web areas must follow [several rules](#web-areas-rules). + +Several dedicated [standard actions](#standard-actions), numerous [language commands](https://doc.4d.com/4Dv17R6/4D/17-R6/Web-Area.201-4310240.en.html) as well as generic and specific [form events](#form-events) allow the developer to control the functioning of Web areas. Specific variables can be used to exchange information between the area and the 4D environment. + +>The use of Web plugins and Java applets is not recommended in Web areas because they may lead to instability in the operation of 4D, particularly at the event management level. + + +## Specific properties + +### Associated variables + +Two specific variables can be associated with each Web area: +- [`URL`](properties_WebArea.md#url) --to control the URL displayed by the Web area +- [`Progression`](properties_WebArea.md#progression) -- to control the loading percentage of the page displayed in the Web area. + +### Web rendering engine + +You can choose between [two rendering engines](properties_WebArea.md#use-embedded-web-rendering-engine) for the Web area, depending on the specifics of your application. + +Selecting the embedded web rendering engine allows you to call 4D methods from the Web area. + +### Access 4D methods +When the [Access 4D methods](properties_WebArea.md#access-4d-methods) property is selected, you can call 4D methods from a Web area. + +> This property is only available if the Web area [uses the embedded Web rendering engine](#use-embedded-web-rendering-engine). + +### $4d object + +The [4D embedded Web rendering engine](#use-embedded-web-rendering-engine) supplies the area with a JavaScript object named $4d that you can associate with any 4D project method using the "." object notation. + +For example, to call the `HelloWorld` 4D method, you just execute the following statement: + +```codeJS +$4d.HelloWorld(); +``` + +>JavaScript is case sensitive so it is important to note that the object is named $4d (with a lowercase "d"). + +The syntax of calls to 4D methods is as follows: + +```codeJS +$4d.4DMethodName(param1,paramN,function(result){}) +``` +- `param1...paramN`: You can pass as many parameters as you need to the 4D method. +These parameters can be of any type supported by JavaScript (string, number, array, object). + +- `function(result)`: Function to pass as last argument. This "callback" function is called synchronously once the 4D method finishes executing. It receives the `result` parameter. + +- `result`: Execution result of the 4D method, returned in the "$0" expression. This result can be of any type supported by JavaScript (string, number, array, object). You can use the `C_OBJECT` command to return the objects. + +> By default, 4D works in UTF-8. When you return text containing extended characters, for example characters with accents, make sure the encoding of the page displayed in the Web area is declared as UTF-8, otherwise the characters may be rendered incorrectly. In this case, add the following line in the HTML page to declare the encoding: +`` + +#### Example 1 +Given a 4D project method named `today` that does not receive parameters and returns the current date as a string. + +4D code of `today` method: + +```code4d + C_TEXT($0) + $0:=String(Current date;System date long) +``` + +In the Web area, the 4D method can be called with the following syntax: + +```js +$4d.today() +``` + +The 4D method does not receive any parameters but it does return the value of $0 to the callback function called by 4D after the execution of the method. We want to display the date in the HTML page that is loaded by the Web area. + +Here is the code of the HTML page: + +```html + + + + + +Today is:
    + + +``` + +#### Example 2 + +The 4D project method `calcSum` receives parameters (`$1...$n`) and returns their sum in `$0`: + +4D code of `calcSum` method: + +```code4d + C_REAL(${1}) // receives n REAL type parameters + C_REAL($0) // returns a Real + C_LONGINT($i;$n) + $n:=Count parameters + For($i;1;$n) + $0:=$0+${$i} + End for +``` + +The JavaScript code run in the Web area is: + +```js +$4d.calcSum(33, 45, 75, 102.5, 7, function(dollarZero) + { + var result = dollarZero // result is 262.5 + }); +``` + + +## Standard actions + +Four specific standard actions are available for managing Web areas automatically: `Open Back URL`, `Open Next URL`, `Refresh Current URL` and `Stop Loading URL`. These actions can be associated with buttons or menu commands and allow quick implementation of basic Web interfaces. These actions are described in [Standard actions](https://doc.4d.com/4Dv17R6/4D/17-R6/Standard-actions.300-4354791.en.html). + + +## Form events + +Specific form events are intended for programmed management of Web areas, more particularly concerning the activation of links: + +- `On Begin URL Loading` +- `On URL Resource Loading` +- `On End URL Loading` +- `On URL Loading Error` +- `On URL Filtering` +- `On Open External Link` +- `On Window Opening Denied` + +In addition, Web areas support the following generic form events: + +- `On Load` +- `On Unload` +- `On Getting Focus` +- `On Losing Focus` + + +## Web area rules + +### User interface + +When the form is executed, standard browser interface functions are available to the user in the Web area, which permit interaction with other form areas: + +- **Edit menu commands**: When the Web area has the focus, the **Edit** menu commands can be used to carry out actions such as copy, paste, select all, etc., according to the selection. +- **Context menu**: It is possible to use the standard [context menu](properties_Entry.md#context-menu) of the system with the Web area. Display of the context menu can be controlled using the `WA SET PREFERENCE` command. +- **Drag and drop**: The user can drag and drop text, pictures and documents within the Web area or between a Web area and the 4D form objects, according to the 4D object properties. +For security reasons, changing the contents of a Web area by means of dragging and dropping a file or URL is not allowed by default. In this case, the mouse cursor displays a "forbidden" icon ![](assets/en/FormObjects/forbidden.png). You have to use the `WA SET PREFERENCE` command to explicitly allow the dropping of URLs or files in the area. + +### Subforms +For reasons related to window redrawing mechanisms, the insertion of a Web area into a subform is subject to the following constraints: + +- The subform must not be able to scroll +- The limits of the Web area must not exceed the size of the subform + +> Superimposing a Web area on top of or beneath other form objects is not supported. + + +### Web Area and Web server conflict (Windows) +Under Windows, it is not recommended to access, via a Web area, the Web server of the 4D application containing the area because this configuration could lead to a conflict that freezes the application. Of course, a remote 4D can access the Web server of 4D Server, but not its own Web server. + +### Web plugins and Java applets +The use of Web plugins and Java applets is not recommended in Web areas because they may lead to instability in the operation of 4D, particularly at the event management level. + +### Insertion of protocol (macOS) +The URLs handled by programming in Web areas under macOS must begin with the protocol. For example, you need to pass the string "http://www.mysite.com" and not just "www.mysite.com". + + +## Access to Web inspector +You can view and use a Web inspector within Web areas of your forms. The Web inspector is a debugger which is provided by the embedded Web engine. It allows to parse the code and the flow of information of the Web pages. + +### Displaying the Web inspector +The following conditions must be met in order to view the Web inspector in a Web area: + +- You must [select the embedded Web rendering engine](properties_WebArea.md#use-embedded-web-rendering-engine) for the area (the Web inspector is only available with this configuration). +- You must enable the [context menu](properties_Entry.md#context-menu) for the area (this menu is used to call the inspector) +- You must expressly enable the use of the inspector in the area by means of the following statement: + +```code4d + WA SET PREFERENCE(*;"WA";WA enable Web inspector;True) +``` + +### Using the Web inspector +When you have done the settings as described above, you then have new options such as **Inspect Element** in the context menu of the area. When you select this option, the Web inspector window is displayed. + +> The Web inspector is included in the embedded Web rendering engine. For a detailed description of the features of this debugger, refer to the documentation provided by the Web rendering engine. + + + + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Context Menu](properties_Entry.md#context-menu) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Progression](properties_WebArea.md#progression) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [URL](properties_WebArea.md#url) - +[Use embedded Web rendering engine](properties_WebArea.md#use-embedded-web-rendering-engine) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibilty](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + + + + + diff --git a/docs/FormObjects/writeProArea_overview.md b/docs/FormObjects/writeProArea_overview.md new file mode 100644 index 00000000000000..4d2b5d8c9793fc --- /dev/null +++ b/docs/FormObjects/writeProArea_overview.md @@ -0,0 +1,19 @@ +--- +id: writeProAreaOverview +title: 4D Write Pro area +--- + +4D Write Pro offers 4D users an advanced word-processing tool, fully integrated with your 4D database. Using 4D Write Pro, you can write pre-formatted emails and/or letters containing images, a scanned signature, formatted text and placeholders for dynamic variables. You can also create invoices or reports dynamically, including formatted text and images. + + +![](assets/en/FormObjects/writePro2.png) + + +## Using 4D Write Pro areas + +4D Write Pro areas are documented in the [4D Write Pro Reference](https://doc.4d.com/4Dv17R6/4D/17-R6/4D-Write-Pro.100-4433851.fe.html) manual. + +## Supported Properties + +[Auto Spellcheck](properties_Entry.md#auto-spellcheck) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Context Menu](properties_Entry.md#context-menu) - [Enterable](properties_Entry.md#enterable) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Keyboard Layout](properties_Entry.md#keyboard-layout) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Print Variable Frame](properties_Print.md#print-frame) - [Resolution](properties_Appearance.md#resolution) - [Right](properties_CoordinatesAndSizing.md#right) - [Selection always visible](properties_Entry.md#selection-always-visible) - [Show background](properties_Appearance.md#show-background) - [Show footers](properties_Appearance.md#show-footers) - [Show Formula Bar](properties_Appearance.md#show-formula-bar) - [Show headers](properties_Appearance.md#show-headers) - [Show hidden characters](properties_Appearance.md#show-hidden-characters) - [Show horizontal ruler](properties_Appearance.md#show-horizontal-ruler) - [Show HTML WYSIWYG](properties_Appearance.md#show-html-wysiwyg) - [Show page frame](properties_Appearance.md#show-page-frame) - [Show references](properties_Appearance.md#show-references) - [Show vertical ruler](properties_Appearance.md#show-vertical-ruler) - [Type](properties_Object.md#type) - [User Interface](properties_Appearance.md#user-interface) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - [View mode](properties_Appearance.md#view-mode) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) - [Zoom](properties_Appearance.md#zoom) + diff --git a/docs/assets/de/FormObjects/button_bevel.en.png b/docs/assets/de/FormObjects/button_bevel.en.png new file mode 100644 index 00000000000000..f113063987f217 Binary files /dev/null and b/docs/assets/de/FormObjects/button_bevel.en.png differ diff --git a/docs/assets/de/FormObjects/button_buttonGrid.png b/docs/assets/de/FormObjects/button_buttonGrid.png new file mode 100644 index 00000000000000..db13068a01ed31 Binary files /dev/null and b/docs/assets/de/FormObjects/button_buttonGrid.png differ diff --git a/docs/assets/de/FormObjects/button_circle.en.png b/docs/assets/de/FormObjects/button_circle.en.png new file mode 100644 index 00000000000000..0c0fc6ea004985 Binary files /dev/null and b/docs/assets/de/FormObjects/button_circle.en.png differ diff --git a/docs/assets/de/FormObjects/button_circleM.png b/docs/assets/de/FormObjects/button_circleM.png new file mode 100644 index 00000000000000..904bf9e7d17c70 Binary files /dev/null and b/docs/assets/de/FormObjects/button_circleM.png differ diff --git a/docs/assets/de/FormObjects/button_custom.en.png b/docs/assets/de/FormObjects/button_custom.en.png new file mode 100644 index 00000000000000..c0731c5673b153 Binary files /dev/null and b/docs/assets/de/FormObjects/button_custom.en.png differ diff --git a/docs/assets/de/FormObjects/button_help.en.png b/docs/assets/de/FormObjects/button_help.en.png new file mode 100644 index 00000000000000..dd59502ecf5b2b Binary files /dev/null and b/docs/assets/de/FormObjects/button_help.en.png differ diff --git a/docs/assets/de/FormObjects/button_officexp.en.png b/docs/assets/de/FormObjects/button_officexp.en.png new file mode 100644 index 00000000000000..4ceb87c30eda85 Binary files /dev/null and b/docs/assets/de/FormObjects/button_officexp.en.png differ diff --git a/docs/assets/de/FormObjects/button_osxgradient.en.png b/docs/assets/de/FormObjects/button_osxgradient.en.png new file mode 100644 index 00000000000000..106bdd992461f0 Binary files /dev/null and b/docs/assets/de/FormObjects/button_osxgradient.en.png differ diff --git a/docs/assets/de/FormObjects/button_osxtextured.en.png b/docs/assets/de/FormObjects/button_osxtextured.en.png new file mode 100644 index 00000000000000..a9f25078175da8 Binary files /dev/null and b/docs/assets/de/FormObjects/button_osxtextured.en.png differ diff --git a/docs/assets/de/FormObjects/button_pictureButton.png b/docs/assets/de/FormObjects/button_pictureButton.png new file mode 100644 index 00000000000000..e20b0b03d51b1f Binary files /dev/null and b/docs/assets/de/FormObjects/button_pictureButton.png differ diff --git a/docs/assets/de/FormObjects/button_pictureButton_implement.png b/docs/assets/de/FormObjects/button_pictureButton_implement.png new file mode 100644 index 00000000000000..168de165e19eae Binary files /dev/null and b/docs/assets/de/FormObjects/button_pictureButton_implement.png differ diff --git a/docs/assets/de/FormObjects/button_regular.png b/docs/assets/de/FormObjects/button_regular.png new file mode 100644 index 00000000000000..703b2f6b7be371 Binary files /dev/null and b/docs/assets/de/FormObjects/button_regular.png differ diff --git a/docs/assets/de/FormObjects/button_roundedbevel.en.png b/docs/assets/de/FormObjects/button_roundedbevel.en.png new file mode 100644 index 00000000000000..18b1c258da934e Binary files /dev/null and b/docs/assets/de/FormObjects/button_roundedbevel.en.png differ diff --git a/docs/assets/de/FormObjects/button_toolbar.en.png b/docs/assets/de/FormObjects/button_toolbar.en.png new file mode 100644 index 00000000000000..2d8af1fe1a64dd Binary files /dev/null and b/docs/assets/de/FormObjects/button_toolbar.en.png differ diff --git a/docs/assets/de/FormObjects/shape_line1.png b/docs/assets/de/FormObjects/shape_line1.png new file mode 100644 index 00000000000000..f236b65a066955 Binary files /dev/null and b/docs/assets/de/FormObjects/shape_line1.png differ diff --git a/docs/assets/de/FormObjects/shape_line2.png b/docs/assets/de/FormObjects/shape_line2.png new file mode 100644 index 00000000000000..bb610013335309 Binary files /dev/null and b/docs/assets/de/FormObjects/shape_line2.png differ diff --git a/docs/assets/de/FormObjects/tagStyle1.png b/docs/assets/de/FormObjects/tagStyle1.png new file mode 100644 index 00000000000000..7484dc7d6eb831 Binary files /dev/null and b/docs/assets/de/FormObjects/tagStyle1.png differ diff --git a/docs/assets/de/bevelButton_propertyList.en.png b/docs/assets/de/bevelButton_propertyList.en.png new file mode 100644 index 00000000000000..213167e57b6c5a Binary files /dev/null and b/docs/assets/de/bevelButton_propertyList.en.png differ diff --git a/docs/assets/de/button_bevel.en.png b/docs/assets/de/button_bevel.en.png new file mode 100644 index 00000000000000..f51652021f387f Binary files /dev/null and b/docs/assets/de/button_bevel.en.png differ diff --git a/docs/assets/de/button_circle.en.png b/docs/assets/de/button_circle.en.png new file mode 100644 index 00000000000000..6055fc822384fa Binary files /dev/null and b/docs/assets/de/button_circle.en.png differ diff --git a/docs/assets/de/button_custom.en.png b/docs/assets/de/button_custom.en.png new file mode 100644 index 00000000000000..f6f992009597c4 Binary files /dev/null and b/docs/assets/de/button_custom.en.png differ diff --git a/docs/assets/de/button_help.en.png b/docs/assets/de/button_help.en.png new file mode 100644 index 00000000000000..a9bc87e514e36c Binary files /dev/null and b/docs/assets/de/button_help.en.png differ diff --git a/docs/assets/de/button_officexp.en.png b/docs/assets/de/button_officexp.en.png new file mode 100644 index 00000000000000..b03ff3bbd71363 Binary files /dev/null and b/docs/assets/de/button_officexp.en.png differ diff --git a/docs/assets/de/button_osxgradient.en.png b/docs/assets/de/button_osxgradient.en.png new file mode 100644 index 00000000000000..c667b5992fbe9d Binary files /dev/null and b/docs/assets/de/button_osxgradient.en.png differ diff --git a/docs/assets/de/button_osxtextured.en.png b/docs/assets/de/button_osxtextured.en.png new file mode 100644 index 00000000000000..ee0c81a9fb24bf Binary files /dev/null and b/docs/assets/de/button_osxtextured.en.png differ diff --git a/docs/assets/de/button_regular.en.png b/docs/assets/de/button_regular.en.png new file mode 100644 index 00000000000000..a3a84898b6f51e Binary files /dev/null and b/docs/assets/de/button_regular.en.png differ diff --git a/docs/assets/de/button_roundedbevel.en.png b/docs/assets/de/button_roundedbevel.en.png new file mode 100644 index 00000000000000..b13fdedccae2ff Binary files /dev/null and b/docs/assets/de/button_roundedbevel.en.png differ diff --git a/docs/assets/de/defaultButtonWindows.en.png b/docs/assets/de/defaultButtonWindows.en.png new file mode 100644 index 00000000000000..e6c8983caf9779 Binary files /dev/null and b/docs/assets/de/defaultButtonWindows.en.png differ diff --git a/docs/assets/de/defaultButtonmacOS.en.png b/docs/assets/de/defaultButtonmacOS.en.png new file mode 100644 index 00000000000000..c0f9cd0a16af7c Binary files /dev/null and b/docs/assets/de/defaultButtonmacOS.en.png differ diff --git a/docs/assets/de/helpButton.en.png b/docs/assets/de/helpButton.en.png new file mode 100644 index 00000000000000..5601e3afd8e4b8 Binary files /dev/null and b/docs/assets/de/helpButton.en.png differ diff --git a/docs/assets/de/helpButton_propertyList.en.png b/docs/assets/de/helpButton_propertyList.en.png new file mode 100644 index 00000000000000..efa5c6db9f6539 Binary files /dev/null and b/docs/assets/de/helpButton_propertyList.en.png differ diff --git a/docs/assets/de/officeXPButton_propertyList.en.png b/docs/assets/de/officeXPButton_propertyList.en.png new file mode 100644 index 00000000000000..2184857ffb5a5e Binary files /dev/null and b/docs/assets/de/officeXPButton_propertyList.en.png differ diff --git a/docs/assets/de/osGradientButton_propertyList.en.png b/docs/assets/de/osGradientButton_propertyList.en.png new file mode 100644 index 00000000000000..c99e85d9aa6c89 Binary files /dev/null and b/docs/assets/de/osGradientButton_propertyList.en.png differ diff --git a/docs/assets/de/osTexturedButton_propertyList.en.png b/docs/assets/de/osTexturedButton_propertyList.en.png new file mode 100644 index 00000000000000..5056bcfcd6c3ba Binary files /dev/null and b/docs/assets/de/osTexturedButton_propertyList.en.png differ diff --git a/docs/assets/de/property_automaticDragDrop.png b/docs/assets/de/property_automaticDragDrop.png new file mode 100644 index 00000000000000..e5197d956375c0 Binary files /dev/null and b/docs/assets/de/property_automaticDragDrop.png differ diff --git a/docs/assets/de/property_draggableDroppable_propertyList.png b/docs/assets/de/property_draggableDroppable_propertyList.png new file mode 100644 index 00000000000000..d7ebd387e4ad21 Binary files /dev/null and b/docs/assets/de/property_draggableDroppable_propertyList.png differ diff --git a/docs/assets/de/property_focusable.png b/docs/assets/de/property_focusable.png new file mode 100644 index 00000000000000..d8166ebc9ae4d0 Binary files /dev/null and b/docs/assets/de/property_focusable.png differ diff --git a/docs/assets/de/property_focusable1.png b/docs/assets/de/property_focusable1.png new file mode 100644 index 00000000000000..ff36c380de0b84 Binary files /dev/null and b/docs/assets/de/property_focusable1.png differ diff --git a/docs/assets/de/property_focusable2.png b/docs/assets/de/property_focusable2.png new file mode 100644 index 00000000000000..e8e02bd58e3bc9 Binary files /dev/null and b/docs/assets/de/property_focusable2.png differ diff --git a/docs/assets/de/property_helpTip.png b/docs/assets/de/property_helpTip.png new file mode 100644 index 00000000000000..7d5ad468467313 Binary files /dev/null and b/docs/assets/de/property_helpTip.png differ diff --git a/docs/assets/de/property_horizontalMargin1.png b/docs/assets/de/property_horizontalMargin1.png new file mode 100644 index 00000000000000..0aa4b14215ffb5 Binary files /dev/null and b/docs/assets/de/property_horizontalMargin1.png differ diff --git a/docs/assets/de/property_horizontalMargin2.png b/docs/assets/de/property_horizontalMargin2.png new file mode 100644 index 00000000000000..0190aed15da55d Binary files /dev/null and b/docs/assets/de/property_horizontalMargin2.png differ diff --git a/docs/assets/de/property_numberOfStates.png b/docs/assets/de/property_numberOfStates.png new file mode 100644 index 00000000000000..124670b7a396e8 Binary files /dev/null and b/docs/assets/de/property_numberOfStates.png differ diff --git a/docs/assets/de/property_popup.png b/docs/assets/de/property_popup.png new file mode 100644 index 00000000000000..f5b5e45d967323 Binary files /dev/null and b/docs/assets/de/property_popup.png differ diff --git a/docs/assets/de/property_popup_linked.png b/docs/assets/de/property_popup_linked.png new file mode 100644 index 00000000000000..328b283734dbc3 Binary files /dev/null and b/docs/assets/de/property_popup_linked.png differ diff --git a/docs/assets/de/property_popup_separated.png b/docs/assets/de/property_popup_separated.png new file mode 100644 index 00000000000000..d0a0b857086447 Binary files /dev/null and b/docs/assets/de/property_popup_separated.png differ diff --git a/docs/assets/de/property_title.png b/docs/assets/de/property_title.png new file mode 100644 index 00000000000000..5ddbfd5888f936 Binary files /dev/null and b/docs/assets/de/property_title.png differ diff --git a/docs/assets/de/property_titlePosition_bottom.png b/docs/assets/de/property_titlePosition_bottom.png new file mode 100644 index 00000000000000..dbae2b7bf4a59f Binary files /dev/null and b/docs/assets/de/property_titlePosition_bottom.png differ diff --git a/docs/assets/de/property_titlePosition_centered.png b/docs/assets/de/property_titlePosition_centered.png new file mode 100644 index 00000000000000..ab335b2444f226 Binary files /dev/null and b/docs/assets/de/property_titlePosition_centered.png differ diff --git a/docs/assets/de/property_titlePosition_left.en.png b/docs/assets/de/property_titlePosition_left.en.png new file mode 100644 index 00000000000000..669f4a65d2d614 Binary files /dev/null and b/docs/assets/de/property_titlePosition_left.en.png differ diff --git a/docs/assets/de/property_titlePosition_right.png b/docs/assets/de/property_titlePosition_right.png new file mode 100644 index 00000000000000..63712ed77d4e1c Binary files /dev/null and b/docs/assets/de/property_titlePosition_right.png differ diff --git a/docs/assets/de/property_titlePosition_top.png b/docs/assets/de/property_titlePosition_top.png new file mode 100644 index 00000000000000..e47d08515df0e6 Binary files /dev/null and b/docs/assets/de/property_titlePosition_top.png differ diff --git a/docs/assets/de/regularButtonHover.en.png b/docs/assets/de/regularButtonHover.en.png new file mode 100644 index 00000000000000..da2e910f7d486f Binary files /dev/null and b/docs/assets/de/regularButtonHover.en.png differ diff --git a/docs/assets/de/regularButton_clicked.en.png b/docs/assets/de/regularButton_clicked.en.png new file mode 100644 index 00000000000000..84f8603adfa584 Binary files /dev/null and b/docs/assets/de/regularButton_clicked.en.png differ diff --git a/docs/assets/de/regularButton_propertyList.en.png b/docs/assets/de/regularButton_propertyList.en.png new file mode 100644 index 00000000000000..4e8d70399fb0bb Binary files /dev/null and b/docs/assets/de/regularButton_propertyList.en.png differ diff --git a/docs/assets/de/roundedBevelButton_propertyList.en.png b/docs/assets/de/roundedBevelButton_propertyList.en.png new file mode 100644 index 00000000000000..beb87fb4336be3 Binary files /dev/null and b/docs/assets/de/roundedBevelButton_propertyList.en.png differ diff --git a/docs/assets/de/shortcut.png b/docs/assets/de/shortcut.png new file mode 100644 index 00000000000000..cfac91f65444ba Binary files /dev/null and b/docs/assets/de/shortcut.png differ diff --git a/docs/assets/de/toolbarButtonHover_Windows.en.png b/docs/assets/de/toolbarButtonHover_Windows.en.png new file mode 100644 index 00000000000000..57cbe78eb18d8c Binary files /dev/null and b/docs/assets/de/toolbarButtonHover_Windows.en.png differ diff --git a/docs/assets/de/toolbarButtonHover_Windows_popup.en.png b/docs/assets/de/toolbarButtonHover_Windows_popup.en.png new file mode 100644 index 00000000000000..ab2ce11d100b90 Binary files /dev/null and b/docs/assets/de/toolbarButtonHover_Windows_popup.en.png differ diff --git a/docs/assets/de/toolbarButton_propertyList.en.png b/docs/assets/de/toolbarButton_propertyList.en.png new file mode 100644 index 00000000000000..ab21d46bc079c9 Binary files /dev/null and b/docs/assets/de/toolbarButton_propertyList.en.png differ diff --git a/docs/assets/en/FormObjects/FontThemes.png b/docs/assets/en/FormObjects/FontThemes.png new file mode 100644 index 00000000000000..d10811e1e10c94 Binary files /dev/null and b/docs/assets/en/FormObjects/FontThemes.png differ diff --git a/docs/assets/en/FormObjects/Hlist1.png b/docs/assets/en/FormObjects/Hlist1.png new file mode 100644 index 00000000000000..ad138aa5f8e31f Binary files /dev/null and b/docs/assets/en/FormObjects/Hlist1.png differ diff --git a/docs/assets/en/FormObjects/OSXTextured.png b/docs/assets/en/FormObjects/OSXTextured.png new file mode 100644 index 00000000000000..876ba5130174ac Binary files /dev/null and b/docs/assets/en/FormObjects/OSXTextured.png differ diff --git a/docs/assets/en/FormObjects/Smiley1.png b/docs/assets/en/FormObjects/Smiley1.png new file mode 100644 index 00000000000000..fe6911f054d693 Binary files /dev/null and b/docs/assets/en/FormObjects/Smiley1.png differ diff --git a/docs/assets/en/FormObjects/Smiley2.png b/docs/assets/en/FormObjects/Smiley2.png new file mode 100644 index 00000000000000..78aa4e94000fb8 Binary files /dev/null and b/docs/assets/en/FormObjects/Smiley2.png differ diff --git a/docs/assets/en/FormObjects/Smiley3.png b/docs/assets/en/FormObjects/Smiley3.png new file mode 100644 index 00000000000000..4dee9f43e108da Binary files /dev/null and b/docs/assets/en/FormObjects/Smiley3.png differ diff --git a/docs/assets/en/FormObjects/Smiley4.png b/docs/assets/en/FormObjects/Smiley4.png new file mode 100644 index 00000000000000..155ad848418222 Binary files /dev/null and b/docs/assets/en/FormObjects/Smiley4.png differ diff --git a/docs/assets/en/FormObjects/StaticPict.png b/docs/assets/en/FormObjects/StaticPict.png new file mode 100644 index 00000000000000..877ea8870c17a9 Binary files /dev/null and b/docs/assets/en/FormObjects/StaticPict.png differ diff --git a/docs/assets/en/FormObjects/ViewPro.png b/docs/assets/en/FormObjects/ViewPro.png new file mode 100644 index 00000000000000..fb38bc8da74dfb Binary files /dev/null and b/docs/assets/en/FormObjects/ViewPro.png differ diff --git a/docs/assets/en/FormObjects/buttGrid_smileys.png b/docs/assets/en/FormObjects/buttGrid_smileys.png new file mode 100644 index 00000000000000..5fdcd5102ec44a Binary files /dev/null and b/docs/assets/en/FormObjects/buttGrid_smileys.png differ diff --git a/docs/assets/en/FormObjects/buttonGrid_smileys.png b/docs/assets/en/FormObjects/buttonGrid_smileys.png new file mode 100644 index 00000000000000..5fdcd5102ec44a Binary files /dev/null and b/docs/assets/en/FormObjects/buttonGrid_smileys.png differ diff --git a/docs/assets/en/FormObjects/button_bevel.en.png b/docs/assets/en/FormObjects/button_bevel.en.png new file mode 100644 index 00000000000000..f113063987f217 Binary files /dev/null and b/docs/assets/en/FormObjects/button_bevel.en.png differ diff --git a/docs/assets/en/FormObjects/button_bevel.png b/docs/assets/en/FormObjects/button_bevel.png new file mode 100644 index 00000000000000..17617c204a5ff5 Binary files /dev/null and b/docs/assets/en/FormObjects/button_bevel.png differ diff --git a/docs/assets/en/FormObjects/button_buttonGrid.png b/docs/assets/en/FormObjects/button_buttonGrid.png new file mode 100644 index 00000000000000..db13068a01ed31 Binary files /dev/null and b/docs/assets/en/FormObjects/button_buttonGrid.png differ diff --git a/docs/assets/en/FormObjects/button_circleM.png b/docs/assets/en/FormObjects/button_circleM.png new file mode 100644 index 00000000000000..904bf9e7d17c70 Binary files /dev/null and b/docs/assets/en/FormObjects/button_circleM.png differ diff --git a/docs/assets/en/FormObjects/button_custom.en.png b/docs/assets/en/FormObjects/button_custom.en.png new file mode 100644 index 00000000000000..c0731c5673b153 Binary files /dev/null and b/docs/assets/en/FormObjects/button_custom.en.png differ diff --git a/docs/assets/en/FormObjects/button_custom.png b/docs/assets/en/FormObjects/button_custom.png new file mode 100644 index 00000000000000..150980cdb5f79a Binary files /dev/null and b/docs/assets/en/FormObjects/button_custom.png differ diff --git a/docs/assets/en/FormObjects/button_flat.png b/docs/assets/en/FormObjects/button_flat.png new file mode 100644 index 00000000000000..48fdfbe2a49c0a Binary files /dev/null and b/docs/assets/en/FormObjects/button_flat.png differ diff --git a/docs/assets/en/FormObjects/button_help.en.png b/docs/assets/en/FormObjects/button_help.en.png new file mode 100644 index 00000000000000..dd59502ecf5b2b Binary files /dev/null and b/docs/assets/en/FormObjects/button_help.en.png differ diff --git a/docs/assets/en/FormObjects/button_help.png b/docs/assets/en/FormObjects/button_help.png new file mode 100644 index 00000000000000..e82227cba91b08 Binary files /dev/null and b/docs/assets/en/FormObjects/button_help.png differ diff --git a/docs/assets/en/FormObjects/button_officexp.en.png b/docs/assets/en/FormObjects/button_officexp.en.png new file mode 100644 index 00000000000000..4ceb87c30eda85 Binary files /dev/null and b/docs/assets/en/FormObjects/button_officexp.en.png differ diff --git a/docs/assets/en/FormObjects/button_officexp.png b/docs/assets/en/FormObjects/button_officexp.png new file mode 100644 index 00000000000000..f164dc9c8afeca Binary files /dev/null and b/docs/assets/en/FormObjects/button_officexp.png differ diff --git a/docs/assets/en/FormObjects/button_osxgradient.en.png b/docs/assets/en/FormObjects/button_osxgradient.en.png new file mode 100644 index 00000000000000..106bdd992461f0 Binary files /dev/null and b/docs/assets/en/FormObjects/button_osxgradient.en.png differ diff --git a/docs/assets/en/FormObjects/button_osxgradient.png b/docs/assets/en/FormObjects/button_osxgradient.png new file mode 100644 index 00000000000000..bb448e67031c61 Binary files /dev/null and b/docs/assets/en/FormObjects/button_osxgradient.png differ diff --git a/docs/assets/en/FormObjects/button_osxtextured.en.png b/docs/assets/en/FormObjects/button_osxtextured.en.png new file mode 100644 index 00000000000000..a9f25078175da8 Binary files /dev/null and b/docs/assets/en/FormObjects/button_osxtextured.en.png differ diff --git a/docs/assets/en/FormObjects/button_osxtextured.png b/docs/assets/en/FormObjects/button_osxtextured.png new file mode 100644 index 00000000000000..551a1e0667d1d7 Binary files /dev/null and b/docs/assets/en/FormObjects/button_osxtextured.png differ diff --git a/docs/assets/en/FormObjects/button_pictureButton.png b/docs/assets/en/FormObjects/button_pictureButton.png new file mode 100644 index 00000000000000..e20b0b03d51b1f Binary files /dev/null and b/docs/assets/en/FormObjects/button_pictureButton.png differ diff --git a/docs/assets/en/FormObjects/button_pictureButton_implement.png b/docs/assets/en/FormObjects/button_pictureButton_implement.png new file mode 100644 index 00000000000000..168de165e19eae Binary files /dev/null and b/docs/assets/en/FormObjects/button_pictureButton_implement.png differ diff --git a/docs/assets/en/FormObjects/button_regular.png b/docs/assets/en/FormObjects/button_regular.png new file mode 100644 index 00000000000000..703b2f6b7be371 Binary files /dev/null and b/docs/assets/en/FormObjects/button_regular.png differ diff --git a/docs/assets/en/FormObjects/button_roundedbevel.en.png b/docs/assets/en/FormObjects/button_roundedbevel.en.png new file mode 100644 index 00000000000000..18b1c258da934e Binary files /dev/null and b/docs/assets/en/FormObjects/button_roundedbevel.en.png differ diff --git a/docs/assets/en/FormObjects/button_roundedbevel.png b/docs/assets/en/FormObjects/button_roundedbevel.png new file mode 100644 index 00000000000000..e6d7cff645f208 Binary files /dev/null and b/docs/assets/en/FormObjects/button_roundedbevel.png differ diff --git a/docs/assets/en/FormObjects/button_toolbar.en.png b/docs/assets/en/FormObjects/button_toolbar.en.png new file mode 100644 index 00000000000000..2d8af1fe1a64dd Binary files /dev/null and b/docs/assets/en/FormObjects/button_toolbar.en.png differ diff --git a/docs/assets/en/FormObjects/button_toolbar.png b/docs/assets/en/FormObjects/button_toolbar.png new file mode 100644 index 00000000000000..0289c7f0020e38 Binary files /dev/null and b/docs/assets/en/FormObjects/button_toolbar.png differ diff --git a/docs/assets/en/FormObjects/checkbox.png b/docs/assets/en/FormObjects/checkbox.png new file mode 100644 index 00000000000000..654922c7c141c6 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox.png differ diff --git a/docs/assets/en/FormObjects/checkbox_3states.png b/docs/assets/en/FormObjects/checkbox_3states.png new file mode 100644 index 00000000000000..74759f45d7c8c5 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_3states.png differ diff --git a/docs/assets/en/FormObjects/checkbox_bevel.png b/docs/assets/en/FormObjects/checkbox_bevel.png new file mode 100644 index 00000000000000..5691795b5cdb6a Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_bevel.png differ diff --git a/docs/assets/en/FormObjects/checkbox_collapse.png b/docs/assets/en/FormObjects/checkbox_collapse.png new file mode 100644 index 00000000000000..223d1e9e8ef340 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_collapse.png differ diff --git a/docs/assets/en/FormObjects/checkbox_collapse_mac.png b/docs/assets/en/FormObjects/checkbox_collapse_mac.png new file mode 100644 index 00000000000000..cf240462c1410a Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_collapse_mac.png differ diff --git a/docs/assets/en/FormObjects/checkbox_disclosure.png b/docs/assets/en/FormObjects/checkbox_disclosure.png new file mode 100644 index 00000000000000..b932dde48da058 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_disclosure.png differ diff --git a/docs/assets/en/FormObjects/checkbox_disclosure_mac.png b/docs/assets/en/FormObjects/checkbox_disclosure_mac.png new file mode 100644 index 00000000000000..f31214accaf792 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_disclosure_mac.png differ diff --git a/docs/assets/en/FormObjects/checkbox_flat.png b/docs/assets/en/FormObjects/checkbox_flat.png new file mode 100644 index 00000000000000..95165a052db1a7 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_flat.png differ diff --git a/docs/assets/en/FormObjects/checkbox_officexp.png b/docs/assets/en/FormObjects/checkbox_officexp.png new file mode 100644 index 00000000000000..6f18c0fc3b8594 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_officexp.png differ diff --git a/docs/assets/en/FormObjects/checkbox_officexp_mac.png b/docs/assets/en/FormObjects/checkbox_officexp_mac.png new file mode 100644 index 00000000000000..449fddd8e9ca00 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_officexp_mac.png differ diff --git a/docs/assets/en/FormObjects/checkbox_osxgradient_mac.png b/docs/assets/en/FormObjects/checkbox_osxgradient_mac.png new file mode 100644 index 00000000000000..3cb6e356c5f0d6 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_osxgradient_mac.png differ diff --git a/docs/assets/en/FormObjects/checkbox_osxtextured.png b/docs/assets/en/FormObjects/checkbox_osxtextured.png new file mode 100644 index 00000000000000..73277b61f151ce Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_osxtextured.png differ diff --git a/docs/assets/en/FormObjects/checkbox_osxtextured_mac.png b/docs/assets/en/FormObjects/checkbox_osxtextured_mac.png new file mode 100644 index 00000000000000..8507793a40f8b3 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_osxtextured_mac.png differ diff --git a/docs/assets/en/FormObjects/checkbox_regular.png b/docs/assets/en/FormObjects/checkbox_regular.png new file mode 100644 index 00000000000000..05705205b878d4 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_regular.png differ diff --git a/docs/assets/en/FormObjects/checkbox_roundedbevel_mac.png b/docs/assets/en/FormObjects/checkbox_roundedbevel_mac.png new file mode 100644 index 00000000000000..b2f5e7da571ef9 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_roundedbevel_mac.png differ diff --git a/docs/assets/en/FormObjects/checkbox_toolbar.png b/docs/assets/en/FormObjects/checkbox_toolbar.png new file mode 100644 index 00000000000000..6fb1e5280aac7e Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_toolbar.png differ diff --git a/docs/assets/en/FormObjects/checkbox_toolbar_mac.png b/docs/assets/en/FormObjects/checkbox_toolbar_mac.png new file mode 100644 index 00000000000000..000890d4d83701 Binary files /dev/null and b/docs/assets/en/FormObjects/checkbox_toolbar_mac.png differ diff --git a/docs/assets/en/FormObjects/comboBox_AutomaticInsertion.png b/docs/assets/en/FormObjects/comboBox_AutomaticInsertion.png new file mode 100644 index 00000000000000..849f098705a52e Binary files /dev/null and b/docs/assets/en/FormObjects/comboBox_AutomaticInsertion.png differ diff --git a/docs/assets/en/FormObjects/comboBox_AutomaticInsertion_example.png b/docs/assets/en/FormObjects/comboBox_AutomaticInsertion_example.png new file mode 100644 index 00000000000000..5364c7a79de6e0 Binary files /dev/null and b/docs/assets/en/FormObjects/comboBox_AutomaticInsertion_example.png differ diff --git a/docs/assets/en/FormObjects/combo_box.png b/docs/assets/en/FormObjects/combo_box.png new file mode 100644 index 00000000000000..765aa5ef4ea476 Binary files /dev/null and b/docs/assets/en/FormObjects/combo_box.png differ diff --git a/docs/assets/en/FormObjects/defaultValues.png b/docs/assets/en/FormObjects/defaultValues.png new file mode 100644 index 00000000000000..dd694c011282ab Binary files /dev/null and b/docs/assets/en/FormObjects/defaultValues.png differ diff --git a/docs/assets/en/FormObjects/forbidden.png b/docs/assets/en/FormObjects/forbidden.png new file mode 100644 index 00000000000000..766fcd5d141bf3 Binary files /dev/null and b/docs/assets/en/FormObjects/forbidden.png differ diff --git a/docs/assets/en/FormObjects/groupBox.png b/docs/assets/en/FormObjects/groupBox.png new file mode 100644 index 00000000000000..8e3926c9d54371 Binary files /dev/null and b/docs/assets/en/FormObjects/groupBox.png differ diff --git a/docs/assets/en/FormObjects/hierarch1.png b/docs/assets/en/FormObjects/hierarch1.png new file mode 100644 index 00000000000000..d6152bc100580d Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch1.png differ diff --git a/docs/assets/en/FormObjects/hierarch10.png b/docs/assets/en/FormObjects/hierarch10.png new file mode 100644 index 00000000000000..9ffbfb7afb3a87 Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch10.png differ diff --git a/docs/assets/en/FormObjects/hierarch11.png b/docs/assets/en/FormObjects/hierarch11.png new file mode 100644 index 00000000000000..142b5083f9dd84 Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch11.png differ diff --git a/docs/assets/en/FormObjects/hierarch12.png b/docs/assets/en/FormObjects/hierarch12.png new file mode 100644 index 00000000000000..6b2d48d92cebf8 Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch12.png differ diff --git a/docs/assets/en/FormObjects/hierarch13.png b/docs/assets/en/FormObjects/hierarch13.png new file mode 100644 index 00000000000000..9b6e12a921d944 Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch13.png differ diff --git a/docs/assets/en/FormObjects/hierarch14.png b/docs/assets/en/FormObjects/hierarch14.png new file mode 100644 index 00000000000000..5162868f9589bb Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch14.png differ diff --git a/docs/assets/en/FormObjects/hierarch15.png b/docs/assets/en/FormObjects/hierarch15.png new file mode 100644 index 00000000000000..7c96ce64727f97 Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch15.png differ diff --git a/docs/assets/en/FormObjects/hierarch16.png b/docs/assets/en/FormObjects/hierarch16.png new file mode 100644 index 00000000000000..fd58a2263ffbec Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch16.png differ diff --git a/docs/assets/en/FormObjects/hierarch2.png b/docs/assets/en/FormObjects/hierarch2.png new file mode 100644 index 00000000000000..c86e3aea4f799f Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch2.png differ diff --git a/docs/assets/en/FormObjects/hierarch3.png b/docs/assets/en/FormObjects/hierarch3.png new file mode 100644 index 00000000000000..db80bf6ddcc623 Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch3.png differ diff --git a/docs/assets/en/FormObjects/hierarch4.png b/docs/assets/en/FormObjects/hierarch4.png new file mode 100644 index 00000000000000..c197d38b5a1080 Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch4.png differ diff --git a/docs/assets/en/FormObjects/hierarch5.png b/docs/assets/en/FormObjects/hierarch5.png new file mode 100644 index 00000000000000..9bc1d0857ccd82 Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch5.png differ diff --git a/docs/assets/en/FormObjects/hierarch6.png b/docs/assets/en/FormObjects/hierarch6.png new file mode 100644 index 00000000000000..2190a4d247406c Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch6.png differ diff --git a/docs/assets/en/FormObjects/hierarch7.png b/docs/assets/en/FormObjects/hierarch7.png new file mode 100644 index 00000000000000..1b98f44ae735ee Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch7.png differ diff --git a/docs/assets/en/FormObjects/hierarch8.png b/docs/assets/en/FormObjects/hierarch8.png new file mode 100644 index 00000000000000..994dbc977fc398 Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch8.png differ diff --git a/docs/assets/en/FormObjects/hierarch9.png b/docs/assets/en/FormObjects/hierarch9.png new file mode 100644 index 00000000000000..088da8a61450bb Binary files /dev/null and b/docs/assets/en/FormObjects/hierarch9.png differ diff --git a/docs/assets/en/FormObjects/indicator.gif b/docs/assets/en/FormObjects/indicator.gif new file mode 100644 index 00000000000000..57834fb4c2f64c Binary files /dev/null and b/docs/assets/en/FormObjects/indicator.gif differ diff --git a/docs/assets/en/FormObjects/indicator1.png b/docs/assets/en/FormObjects/indicator1.png new file mode 100644 index 00000000000000..dd107dbd1577d3 Binary files /dev/null and b/docs/assets/en/FormObjects/indicator1.png differ diff --git a/docs/assets/en/FormObjects/indicator_asychronous.png b/docs/assets/en/FormObjects/indicator_asychronous.png new file mode 100644 index 00000000000000..3e2724fa6f8686 Binary files /dev/null and b/docs/assets/en/FormObjects/indicator_asychronous.png differ diff --git a/docs/assets/en/FormObjects/indicator_barberShop.png b/docs/assets/en/FormObjects/indicator_barberShop.png new file mode 100644 index 00000000000000..1ffb6938177fdc Binary files /dev/null and b/docs/assets/en/FormObjects/indicator_barberShop.png differ diff --git a/docs/assets/en/FormObjects/indicator_define.png b/docs/assets/en/FormObjects/indicator_define.png new file mode 100644 index 00000000000000..bdba7eddaec1ff Binary files /dev/null and b/docs/assets/en/FormObjects/indicator_define.png differ diff --git a/docs/assets/en/FormObjects/indicator_numericStepper.png b/docs/assets/en/FormObjects/indicator_numericStepper.png new file mode 100644 index 00000000000000..aaadad12273a72 Binary files /dev/null and b/docs/assets/en/FormObjects/indicator_numericStepper.png differ diff --git a/docs/assets/en/FormObjects/indicator_progressBar.png b/docs/assets/en/FormObjects/indicator_progressBar.png new file mode 100644 index 00000000000000..89509320521fed Binary files /dev/null and b/docs/assets/en/FormObjects/indicator_progressBar.png differ diff --git a/docs/assets/en/FormObjects/indicator_ruler.png b/docs/assets/en/FormObjects/indicator_ruler.png new file mode 100644 index 00000000000000..e8cf7280fb9c7a Binary files /dev/null and b/docs/assets/en/FormObjects/indicator_ruler.png differ diff --git a/docs/assets/en/FormObjects/input.png b/docs/assets/en/FormObjects/input.png new file mode 100644 index 00000000000000..528e3894aa46d2 Binary files /dev/null and b/docs/assets/en/FormObjects/input.png differ diff --git a/docs/assets/en/FormObjects/lbHeaderIcon.png b/docs/assets/en/FormObjects/lbHeaderIcon.png new file mode 100644 index 00000000000000..3d42cb6e240538 Binary files /dev/null and b/docs/assets/en/FormObjects/lbHeaderIcon.png differ diff --git a/docs/assets/en/FormObjects/listbox.png b/docs/assets/en/FormObjects/listbox.png new file mode 100644 index 00000000000000..c3d6ece5fbcf63 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox.png differ diff --git a/docs/assets/en/FormObjects/listbox_column.png b/docs/assets/en/FormObjects/listbox_column.png new file mode 100644 index 00000000000000..cedbcf2c5793d4 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray.png b/docs/assets/en/FormObjects/listbox_column_objectArray.png new file mode 100644 index 00000000000000..37d9aaa6fea0b0 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_alternateButton.png b/docs/assets/en/FormObjects/listbox_column_objectArray_alternateButton.png new file mode 100644 index 00000000000000..e73f1154db4287 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_alternateButton.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_cities.png b/docs/assets/en/FormObjects/listbox_column_objectArray_cities.png new file mode 100644 index 00000000000000..881556d065b8ff Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_cities.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_colorValue.png b/docs/assets/en/FormObjects/listbox_column_objectArray_colorValue.png new file mode 100644 index 00000000000000..ab98fca33201d6 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_colorValue.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_colors.png b/docs/assets/en/FormObjects/listbox_column_objectArray_colors.png new file mode 100644 index 00000000000000..6e55460c4cdaed Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_colors.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_colorsResult.png b/docs/assets/en/FormObjects/listbox_column_objectArray_colorsResult.png new file mode 100644 index 00000000000000..f07ffa07e34a08 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_colorsResult.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_config.png b/docs/assets/en/FormObjects/listbox_column_objectArray_config.png new file mode 100644 index 00000000000000..3c78198d88c2fb Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_config.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_eventValueType.png b/docs/assets/en/FormObjects/listbox_column_objectArray_eventValueType.png new file mode 100644 index 00000000000000..f417fa8820d2ca Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_eventValueType.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld.png b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld.png new file mode 100644 index 00000000000000..fda10956d6a9e8 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_behavior.png b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_behavior.png new file mode 100644 index 00000000000000..e2de3e73d31bb7 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_behavior.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_commonValues.png b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_commonValues.png new file mode 100644 index 00000000000000..d5fb80398aa135 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_commonValues.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_minMax.png b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_minMax.png new file mode 100644 index 00000000000000..40ccced27be4e9 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_minMax.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_openClosed.png b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_openClosed.png new file mode 100644 index 00000000000000..02d15c2a196938 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_openClosed.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_value.png b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_value.png new file mode 100644 index 00000000000000..7b533eb958b9b2 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_helloWorld_value.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_objectArray_unitList.png b/docs/assets/en/FormObjects/listbox_column_objectArray_unitList.png new file mode 100644 index 00000000000000..96d78b37b01401 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_objectArray_unitList.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_reorder.png b/docs/assets/en/FormObjects/listbox_column_reorder.png new file mode 100644 index 00000000000000..53987a908bcd74 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_reorder.png differ diff --git a/docs/assets/en/FormObjects/listbox_column_resize.png b/docs/assets/en/FormObjects/listbox_column_resize.png new file mode 100644 index 00000000000000..d6fa539274ae38 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_column_resize.png differ diff --git a/docs/assets/en/FormObjects/listbox_columns.png b/docs/assets/en/FormObjects/listbox_columns.png new file mode 100644 index 00000000000000..65004a93a1cfda Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_columns.png differ diff --git a/docs/assets/en/FormObjects/listbox_dataSource.png b/docs/assets/en/FormObjects/listbox_dataSource.png new file mode 100644 index 00000000000000..f6780174802f6a Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_dataSource.png differ diff --git a/docs/assets/en/FormObjects/listbox_edit.png b/docs/assets/en/FormObjects/listbox_edit.png new file mode 100644 index 00000000000000..7ad2793b34d156 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_edit.png differ diff --git a/docs/assets/en/FormObjects/listbox_entry.png b/docs/assets/en/FormObjects/listbox_entry.png new file mode 100644 index 00000000000000..b7068f3cc846d4 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_entry.png differ diff --git a/docs/assets/en/FormObjects/listbox_footers.png b/docs/assets/en/FormObjects/listbox_footers.png new file mode 100644 index 00000000000000..b963c0b9eb7b74 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_footers.png differ diff --git a/docs/assets/en/FormObjects/listbox_footers_variableCalculation.png b/docs/assets/en/FormObjects/listbox_footers_variableCalculation.png new file mode 100644 index 00000000000000..c9ac01be0057a7 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_footers_variableCalculation.png differ diff --git a/docs/assets/en/FormObjects/listbox_footers_variableCalculation_auto.png b/docs/assets/en/FormObjects/listbox_footers_variableCalculation_auto.png new file mode 100644 index 00000000000000..8dbebf8bb9205d Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_footers_variableCalculation_auto.png differ diff --git a/docs/assets/en/FormObjects/listbox_header.png b/docs/assets/en/FormObjects/listbox_header.png new file mode 100644 index 00000000000000..cc9929db9071cd Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_header.png differ diff --git a/docs/assets/en/FormObjects/listbox_hierarchy1.png b/docs/assets/en/FormObjects/listbox_hierarchy1.png new file mode 100644 index 00000000000000..0d42e4fb700755 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_hierarchy1.png differ diff --git a/docs/assets/en/FormObjects/listbox_hierarchy2.png b/docs/assets/en/FormObjects/listbox_hierarchy2.png new file mode 100644 index 00000000000000..8cf51a6120ef47 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_hierarchy2.png differ diff --git a/docs/assets/en/FormObjects/listbox_parts.png b/docs/assets/en/FormObjects/listbox_parts.png new file mode 100644 index 00000000000000..c241fb745b312d Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_parts.png differ diff --git a/docs/assets/en/FormObjects/listbox_styles1.png b/docs/assets/en/FormObjects/listbox_styles1.png new file mode 100644 index 00000000000000..f7d60aa5941e53 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_styles1.png differ diff --git a/docs/assets/en/FormObjects/listbox_styles2.png b/docs/assets/en/FormObjects/listbox_styles2.png new file mode 100644 index 00000000000000..d9c04672d1097e Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_styles2.png differ diff --git a/docs/assets/en/FormObjects/listbox_styles3.png b/docs/assets/en/FormObjects/listbox_styles3.png new file mode 100644 index 00000000000000..02a2136dd90a52 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_styles3.png differ diff --git a/docs/assets/en/FormObjects/listbox_styles4.png b/docs/assets/en/FormObjects/listbox_styles4.png new file mode 100644 index 00000000000000..ee514718722393 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_styles4.png differ diff --git a/docs/assets/en/FormObjects/listbox_styles5.png b/docs/assets/en/FormObjects/listbox_styles5.png new file mode 100644 index 00000000000000..bad7f7ad0ce699 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_styles5.png differ diff --git a/docs/assets/en/FormObjects/listbox_styles6.png b/docs/assets/en/FormObjects/listbox_styles6.png new file mode 100644 index 00000000000000..abfcb2aee65595 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_styles6.png differ diff --git a/docs/assets/en/FormObjects/listbox_styles7.png b/docs/assets/en/FormObjects/listbox_styles7.png new file mode 100644 index 00000000000000..000f9aed7b2595 Binary files /dev/null and b/docs/assets/en/FormObjects/listbox_styles7.png differ diff --git a/docs/assets/en/FormObjects/multilineAuto.png b/docs/assets/en/FormObjects/multilineAuto.png new file mode 100644 index 00000000000000..66cf3e8ffc28f7 Binary files /dev/null and b/docs/assets/en/FormObjects/multilineAuto.png differ diff --git a/docs/assets/en/FormObjects/multilineNo.png b/docs/assets/en/FormObjects/multilineNo.png new file mode 100644 index 00000000000000..2a9373eab0ac9e Binary files /dev/null and b/docs/assets/en/FormObjects/multilineNo.png differ diff --git a/docs/assets/en/FormObjects/object_Align.png b/docs/assets/en/FormObjects/object_Align.png new file mode 100644 index 00000000000000..e9bf75b715769e Binary files /dev/null and b/docs/assets/en/FormObjects/object_Align.png differ diff --git a/docs/assets/en/FormObjects/object_Layering1.png b/docs/assets/en/FormObjects/object_Layering1.png new file mode 100644 index 00000000000000..85297f751e343f Binary files /dev/null and b/docs/assets/en/FormObjects/object_Layering1.png differ diff --git a/docs/assets/en/FormObjects/object_Layering2.png b/docs/assets/en/FormObjects/object_Layering2.png new file mode 100644 index 00000000000000..d467d845ed94a0 Binary files /dev/null and b/docs/assets/en/FormObjects/object_Layering2.png differ diff --git a/docs/assets/en/FormObjects/object_alignAssistant.png b/docs/assets/en/FormObjects/object_alignAssistant.png new file mode 100644 index 00000000000000..1b6a6b31d005ac Binary files /dev/null and b/docs/assets/en/FormObjects/object_alignAssistant.png differ diff --git a/docs/assets/en/FormObjects/object_alignExample.png b/docs/assets/en/FormObjects/object_alignExample.png new file mode 100644 index 00000000000000..015c915f8d0a45 Binary files /dev/null and b/docs/assets/en/FormObjects/object_alignExample.png differ diff --git a/docs/assets/en/FormObjects/object_alignMagneticGrid1.png b/docs/assets/en/FormObjects/object_alignMagneticGrid1.png new file mode 100644 index 00000000000000..9eba9cdc9553c0 Binary files /dev/null and b/docs/assets/en/FormObjects/object_alignMagneticGrid1.png differ diff --git a/docs/assets/en/FormObjects/object_alignMagneticGrid2.png b/docs/assets/en/FormObjects/object_alignMagneticGrid2.png new file mode 100644 index 00000000000000..415d850baba128 Binary files /dev/null and b/docs/assets/en/FormObjects/object_alignMagneticGrid2.png differ diff --git a/docs/assets/en/FormObjects/object_distribute1.png b/docs/assets/en/FormObjects/object_distribute1.png new file mode 100644 index 00000000000000..061efde96253e5 Binary files /dev/null and b/docs/assets/en/FormObjects/object_distribute1.png differ diff --git a/docs/assets/en/FormObjects/object_distribute2.png b/docs/assets/en/FormObjects/object_distribute2.png new file mode 100644 index 00000000000000..37043137f77542 Binary files /dev/null and b/docs/assets/en/FormObjects/object_distribute2.png differ diff --git a/docs/assets/en/FormObjects/object_duplicate.png b/docs/assets/en/FormObjects/object_duplicate.png new file mode 100644 index 00000000000000..aac06ac8717475 Binary files /dev/null and b/docs/assets/en/FormObjects/object_duplicate.png differ diff --git a/docs/assets/en/FormObjects/object_duplicateMany.png b/docs/assets/en/FormObjects/object_duplicateMany.png new file mode 100644 index 00000000000000..90e1af9d810d1d Binary files /dev/null and b/docs/assets/en/FormObjects/object_duplicateMany.png differ diff --git a/docs/assets/en/FormObjects/object_plugIn.png b/docs/assets/en/FormObjects/object_plugIn.png new file mode 100644 index 00000000000000..dc292020e85089 Binary files /dev/null and b/docs/assets/en/FormObjects/object_plugIn.png differ diff --git a/docs/assets/en/FormObjects/object_selectMultiple.png b/docs/assets/en/FormObjects/object_selectMultiple.png new file mode 100644 index 00000000000000..f8e2a440608189 Binary files /dev/null and b/docs/assets/en/FormObjects/object_selectMultiple.png differ diff --git a/docs/assets/en/FormObjects/object_webArea.png b/docs/assets/en/FormObjects/object_webArea.png new file mode 100644 index 00000000000000..107c167d5ef8e5 Binary files /dev/null and b/docs/assets/en/FormObjects/object_webArea.png differ diff --git a/docs/assets/en/FormObjects/orientation1.png b/docs/assets/en/FormObjects/orientation1.png new file mode 100644 index 00000000000000..8acac81ff12c2d Binary files /dev/null and b/docs/assets/en/FormObjects/orientation1.png differ diff --git a/docs/assets/en/FormObjects/orientation2.png b/docs/assets/en/FormObjects/orientation2.png new file mode 100644 index 00000000000000..9fb765dacceb39 Binary files /dev/null and b/docs/assets/en/FormObjects/orientation2.png differ diff --git a/docs/assets/en/FormObjects/orientation3.png b/docs/assets/en/FormObjects/orientation3.png new file mode 100644 index 00000000000000..1feee7d543ba81 Binary files /dev/null and b/docs/assets/en/FormObjects/orientation3.png differ diff --git a/docs/assets/en/FormObjects/orientation4.png b/docs/assets/en/FormObjects/orientation4.png new file mode 100644 index 00000000000000..52ae9c265a21de Binary files /dev/null and b/docs/assets/en/FormObjects/orientation4.png differ diff --git a/docs/assets/en/FormObjects/pictureButton_grid.png b/docs/assets/en/FormObjects/pictureButton_grid.png new file mode 100644 index 00000000000000..e807ce78b4c9c1 Binary files /dev/null and b/docs/assets/en/FormObjects/pictureButton_grid.png differ diff --git a/docs/assets/en/FormObjects/picturePopupMenu_example.png b/docs/assets/en/FormObjects/picturePopupMenu_example.png new file mode 100644 index 00000000000000..d67c1a1dbd3c9b Binary files /dev/null and b/docs/assets/en/FormObjects/picturePopupMenu_example.png differ diff --git a/docs/assets/en/FormObjects/pluginArea.png b/docs/assets/en/FormObjects/pluginArea.png new file mode 100644 index 00000000000000..4b2f66265b655f Binary files /dev/null and b/docs/assets/en/FormObjects/pluginArea.png differ diff --git a/docs/assets/en/FormObjects/popupDropdown_appearance.png b/docs/assets/en/FormObjects/popupDropdown_appearance.png new file mode 100644 index 00000000000000..f51109ee21e60d Binary files /dev/null and b/docs/assets/en/FormObjects/popupDropdown_appearance.png differ diff --git a/docs/assets/en/FormObjects/popupDropdown_choiceList.png b/docs/assets/en/FormObjects/popupDropdown_choiceList.png new file mode 100644 index 00000000000000..f8c2f5ca219ae7 Binary files /dev/null and b/docs/assets/en/FormObjects/popupDropdown_choiceList.png differ diff --git a/docs/assets/en/FormObjects/progress1.png b/docs/assets/en/FormObjects/progress1.png new file mode 100644 index 00000000000000..553e1dd86a15e1 Binary files /dev/null and b/docs/assets/en/FormObjects/progress1.png differ diff --git a/docs/assets/en/FormObjects/property_alphaFormat.png b/docs/assets/en/FormObjects/property_alphaFormat.png new file mode 100644 index 00000000000000..79b093b25b5b05 Binary files /dev/null and b/docs/assets/en/FormObjects/property_alphaFormat.png differ diff --git a/docs/assets/en/FormObjects/property_automaticDragDrop.png b/docs/assets/en/FormObjects/property_automaticDragDrop.png new file mode 100644 index 00000000000000..7ed90a057b21d7 Binary files /dev/null and b/docs/assets/en/FormObjects/property_automaticDragDrop.png differ diff --git a/docs/assets/en/FormObjects/property_automaticDragDrop2.png b/docs/assets/en/FormObjects/property_automaticDragDrop2.png new file mode 100644 index 00000000000000..96fdcb403ace33 Binary files /dev/null and b/docs/assets/en/FormObjects/property_automaticDragDrop2.png differ diff --git a/docs/assets/en/FormObjects/property_columnAutoResizing.png b/docs/assets/en/FormObjects/property_columnAutoResizing.png new file mode 100644 index 00000000000000..3e9a403b4ae4f8 Binary files /dev/null and b/docs/assets/en/FormObjects/property_columnAutoResizing.png differ diff --git a/docs/assets/en/FormObjects/property_defaultButtonWindows.en.png b/docs/assets/en/FormObjects/property_defaultButtonWindows.en.png new file mode 100644 index 00000000000000..ffbda5c055690e Binary files /dev/null and b/docs/assets/en/FormObjects/property_defaultButtonWindows.en.png differ diff --git a/docs/assets/en/FormObjects/property_defaultButtonmacOS.en.png b/docs/assets/en/FormObjects/property_defaultButtonmacOS.en.png new file mode 100644 index 00000000000000..e5b5d9993a15a6 Binary files /dev/null and b/docs/assets/en/FormObjects/property_defaultButtonmacOS.en.png differ diff --git a/docs/assets/en/FormObjects/property_draggableDroppable_propertyList.png b/docs/assets/en/FormObjects/property_draggableDroppable_propertyList.png new file mode 100644 index 00000000000000..d7ebd387e4ad21 Binary files /dev/null and b/docs/assets/en/FormObjects/property_draggableDroppable_propertyList.png differ diff --git a/docs/assets/en/FormObjects/property_entryFilter.png b/docs/assets/en/FormObjects/property_entryFilter.png new file mode 100644 index 00000000000000..01485d5ebda942 Binary files /dev/null and b/docs/assets/en/FormObjects/property_entryFilter.png differ diff --git a/docs/assets/en/FormObjects/property_expressionType.png b/docs/assets/en/FormObjects/property_expressionType.png new file mode 100644 index 00000000000000..b6d46e7df7e2b8 Binary files /dev/null and b/docs/assets/en/FormObjects/property_expressionType.png differ diff --git a/docs/assets/en/FormObjects/property_focusable1.png b/docs/assets/en/FormObjects/property_focusable1.png new file mode 100644 index 00000000000000..fd6b302b612f03 Binary files /dev/null and b/docs/assets/en/FormObjects/property_focusable1.png differ diff --git a/docs/assets/en/FormObjects/property_focusable2.png b/docs/assets/en/FormObjects/property_focusable2.png new file mode 100644 index 00000000000000..f05adec8450656 Binary files /dev/null and b/docs/assets/en/FormObjects/property_focusable2.png differ diff --git a/docs/assets/en/FormObjects/property_helpTip.png b/docs/assets/en/FormObjects/property_helpTip.png new file mode 100644 index 00000000000000..00584e7002e758 Binary files /dev/null and b/docs/assets/en/FormObjects/property_helpTip.png differ diff --git a/docs/assets/en/FormObjects/property_hideExtraBlankRows1.png b/docs/assets/en/FormObjects/property_hideExtraBlankRows1.png new file mode 100644 index 00000000000000..d2fdb4d87b48b2 Binary files /dev/null and b/docs/assets/en/FormObjects/property_hideExtraBlankRows1.png differ diff --git a/docs/assets/en/FormObjects/property_hideExtraBlankRows2.png b/docs/assets/en/FormObjects/property_hideExtraBlankRows2.png new file mode 100644 index 00000000000000..09d76c03e517a2 Binary files /dev/null and b/docs/assets/en/FormObjects/property_hideExtraBlankRows2.png differ diff --git a/docs/assets/en/FormObjects/property_hierarchicalListBox.png b/docs/assets/en/FormObjects/property_hierarchicalListBox.png new file mode 100644 index 00000000000000..76b432ae42e8e5 Binary files /dev/null and b/docs/assets/en/FormObjects/property_hierarchicalListBox.png differ diff --git a/docs/assets/en/FormObjects/property_horizontalMargin1.png b/docs/assets/en/FormObjects/property_horizontalMargin1.png new file mode 100644 index 00000000000000..de29d2e6df1d74 Binary files /dev/null and b/docs/assets/en/FormObjects/property_horizontalMargin1.png differ diff --git a/docs/assets/en/FormObjects/property_horizontalMargin2.png b/docs/assets/en/FormObjects/property_horizontalMargin2.png new file mode 100644 index 00000000000000..700d962f4e8bb7 Binary files /dev/null and b/docs/assets/en/FormObjects/property_horizontalMargin2.png differ diff --git a/docs/assets/en/FormObjects/property_listbox_header.png b/docs/assets/en/FormObjects/property_listbox_header.png new file mode 100644 index 00000000000000..5e62076b90b5bd Binary files /dev/null and b/docs/assets/en/FormObjects/property_listbox_header.png differ diff --git a/docs/assets/en/FormObjects/property_lockedStaticColumns1.png b/docs/assets/en/FormObjects/property_lockedStaticColumns1.png new file mode 100644 index 00000000000000..5528ff59be8e57 Binary files /dev/null and b/docs/assets/en/FormObjects/property_lockedStaticColumns1.png differ diff --git a/docs/assets/en/FormObjects/property_lockedStaticColumns2.png b/docs/assets/en/FormObjects/property_lockedStaticColumns2.png new file mode 100644 index 00000000000000..d985caa7bdbc05 Binary files /dev/null and b/docs/assets/en/FormObjects/property_lockedStaticColumns2.png differ diff --git a/docs/assets/en/FormObjects/property_numberOfStates.png b/docs/assets/en/FormObjects/property_numberOfStates.png new file mode 100644 index 00000000000000..124670b7a396e8 Binary files /dev/null and b/docs/assets/en/FormObjects/property_numberOfStates.png differ diff --git a/docs/assets/en/FormObjects/property_pictureFormat_OnBackground.png b/docs/assets/en/FormObjects/property_pictureFormat_OnBackground.png new file mode 100644 index 00000000000000..c30dd9887b3ca3 Binary files /dev/null and b/docs/assets/en/FormObjects/property_pictureFormat_OnBackground.png differ diff --git a/docs/assets/en/FormObjects/property_pictureFormat_Replicated.png b/docs/assets/en/FormObjects/property_pictureFormat_Replicated.png new file mode 100644 index 00000000000000..ea89c742225a84 Binary files /dev/null and b/docs/assets/en/FormObjects/property_pictureFormat_Replicated.png differ diff --git a/docs/assets/en/FormObjects/property_pictureFormat_ScaledProportional.png b/docs/assets/en/FormObjects/property_pictureFormat_ScaledProportional.png new file mode 100644 index 00000000000000..9dd020f2c9fd6a Binary files /dev/null and b/docs/assets/en/FormObjects/property_pictureFormat_ScaledProportional.png differ diff --git a/docs/assets/en/FormObjects/property_pictureFormat_ScaledToFit.png b/docs/assets/en/FormObjects/property_pictureFormat_ScaledToFit.png new file mode 100644 index 00000000000000..0a18308a3b36e1 Binary files /dev/null and b/docs/assets/en/FormObjects/property_pictureFormat_ScaledToFit.png differ diff --git a/docs/assets/en/FormObjects/property_pictureFormat_Truncated.png b/docs/assets/en/FormObjects/property_pictureFormat_Truncated.png new file mode 100644 index 00000000000000..f8bed7a826109a Binary files /dev/null and b/docs/assets/en/FormObjects/property_pictureFormat_Truncated.png differ diff --git a/docs/assets/en/FormObjects/property_placeholder.png b/docs/assets/en/FormObjects/property_placeholder.png new file mode 100644 index 00000000000000..4bc270b194b3db Binary files /dev/null and b/docs/assets/en/FormObjects/property_placeholder.png differ diff --git a/docs/assets/en/FormObjects/property_popup.png b/docs/assets/en/FormObjects/property_popup.png new file mode 100644 index 00000000000000..22dbd730647892 Binary files /dev/null and b/docs/assets/en/FormObjects/property_popup.png differ diff --git a/docs/assets/en/FormObjects/property_popup_linked.png b/docs/assets/en/FormObjects/property_popup_linked.png new file mode 100644 index 00000000000000..2cc14a7949555a Binary files /dev/null and b/docs/assets/en/FormObjects/property_popup_linked.png differ diff --git a/docs/assets/en/FormObjects/property_popup_separated.png b/docs/assets/en/FormObjects/property_popup_separated.png new file mode 100644 index 00000000000000..fa22e95f4277f7 Binary files /dev/null and b/docs/assets/en/FormObjects/property_popup_separated.png differ diff --git a/docs/assets/en/FormObjects/property_shortcut.png b/docs/assets/en/FormObjects/property_shortcut.png new file mode 100644 index 00000000000000..cfac91f65444ba Binary files /dev/null and b/docs/assets/en/FormObjects/property_shortcut.png differ diff --git a/docs/assets/en/FormObjects/property_title.png b/docs/assets/en/FormObjects/property_title.png new file mode 100644 index 00000000000000..c80125091cc339 Binary files /dev/null and b/docs/assets/en/FormObjects/property_title.png differ diff --git a/docs/assets/en/FormObjects/property_titlePosition_bottom.png b/docs/assets/en/FormObjects/property_titlePosition_bottom.png new file mode 100644 index 00000000000000..dbae2b7bf4a59f Binary files /dev/null and b/docs/assets/en/FormObjects/property_titlePosition_bottom.png differ diff --git a/docs/assets/en/FormObjects/property_titlePosition_centered.png b/docs/assets/en/FormObjects/property_titlePosition_centered.png new file mode 100644 index 00000000000000..ab335b2444f226 Binary files /dev/null and b/docs/assets/en/FormObjects/property_titlePosition_centered.png differ diff --git a/docs/assets/en/FormObjects/property_titlePosition_left.en.png b/docs/assets/en/FormObjects/property_titlePosition_left.en.png new file mode 100644 index 00000000000000..669f4a65d2d614 Binary files /dev/null and b/docs/assets/en/FormObjects/property_titlePosition_left.en.png differ diff --git a/docs/assets/en/FormObjects/property_titlePosition_right.png b/docs/assets/en/FormObjects/property_titlePosition_right.png new file mode 100644 index 00000000000000..63712ed77d4e1c Binary files /dev/null and b/docs/assets/en/FormObjects/property_titlePosition_right.png differ diff --git a/docs/assets/en/FormObjects/property_titlePosition_top.png b/docs/assets/en/FormObjects/property_titlePosition_top.png new file mode 100644 index 00000000000000..e47d08515df0e6 Binary files /dev/null and b/docs/assets/en/FormObjects/property_titlePosition_top.png differ diff --git a/docs/assets/en/FormObjects/property_truncate1.png b/docs/assets/en/FormObjects/property_truncate1.png new file mode 100644 index 00000000000000..020ef83c2fa3a7 Binary files /dev/null and b/docs/assets/en/FormObjects/property_truncate1.png differ diff --git a/docs/assets/en/FormObjects/property_truncate2.png b/docs/assets/en/FormObjects/property_truncate2.png new file mode 100644 index 00000000000000..6b17499d992a91 Binary files /dev/null and b/docs/assets/en/FormObjects/property_truncate2.png differ diff --git a/docs/assets/en/FormObjects/property_wordwrap1.png b/docs/assets/en/FormObjects/property_wordwrap1.png new file mode 100644 index 00000000000000..c0a04714dcb4dd Binary files /dev/null and b/docs/assets/en/FormObjects/property_wordwrap1.png differ diff --git a/docs/assets/en/FormObjects/property_wordwrap2.png b/docs/assets/en/FormObjects/property_wordwrap2.png new file mode 100644 index 00000000000000..99c56cd62c0fcc Binary files /dev/null and b/docs/assets/en/FormObjects/property_wordwrap2.png differ diff --git a/docs/assets/en/FormObjects/radio1.png b/docs/assets/en/FormObjects/radio1.png new file mode 100644 index 00000000000000..ce9ceb1fedaa09 Binary files /dev/null and b/docs/assets/en/FormObjects/radio1.png differ diff --git a/docs/assets/en/FormObjects/radio2.png b/docs/assets/en/FormObjects/radio2.png new file mode 100644 index 00000000000000..16dc4a826e1bad Binary files /dev/null and b/docs/assets/en/FormObjects/radio2.png differ diff --git a/docs/assets/en/FormObjects/radio3.png b/docs/assets/en/FormObjects/radio3.png new file mode 100644 index 00000000000000..a16084d60d872c Binary files /dev/null and b/docs/assets/en/FormObjects/radio3.png differ diff --git a/docs/assets/en/FormObjects/radio_bevel.png b/docs/assets/en/FormObjects/radio_bevel.png new file mode 100644 index 00000000000000..35e088fd237d85 Binary files /dev/null and b/docs/assets/en/FormObjects/radio_bevel.png differ diff --git a/docs/assets/en/FormObjects/radio_collapse_expand.png b/docs/assets/en/FormObjects/radio_collapse_expand.png new file mode 100644 index 00000000000000..e5ca1da3bda6d5 Binary files /dev/null and b/docs/assets/en/FormObjects/radio_collapse_expand.png differ diff --git a/docs/assets/en/FormObjects/radio_disclosure.png b/docs/assets/en/FormObjects/radio_disclosure.png new file mode 100644 index 00000000000000..90947f939e3644 Binary files /dev/null and b/docs/assets/en/FormObjects/radio_disclosure.png differ diff --git a/docs/assets/en/FormObjects/radio_flat.png b/docs/assets/en/FormObjects/radio_flat.png new file mode 100644 index 00000000000000..e8b257bc88fb62 Binary files /dev/null and b/docs/assets/en/FormObjects/radio_flat.png differ diff --git a/docs/assets/en/FormObjects/radio_gradient.png b/docs/assets/en/FormObjects/radio_gradient.png new file mode 100644 index 00000000000000..10f8f2e5b9de96 Binary files /dev/null and b/docs/assets/en/FormObjects/radio_gradient.png differ diff --git a/docs/assets/en/FormObjects/radio_regular.png b/docs/assets/en/FormObjects/radio_regular.png new file mode 100644 index 00000000000000..b3ab6a218d1003 Binary files /dev/null and b/docs/assets/en/FormObjects/radio_regular.png differ diff --git a/docs/assets/en/FormObjects/radio_toolbar.png b/docs/assets/en/FormObjects/radio_toolbar.png new file mode 100644 index 00000000000000..affeb18bc1314e Binary files /dev/null and b/docs/assets/en/FormObjects/radio_toolbar.png differ diff --git a/docs/assets/en/FormObjects/radio_xp.png b/docs/assets/en/FormObjects/radio_xp.png new file mode 100644 index 00000000000000..91c8d39a3784b1 Binary files /dev/null and b/docs/assets/en/FormObjects/radio_xp.png differ diff --git a/docs/assets/en/FormObjects/roundedBevel.png b/docs/assets/en/FormObjects/roundedBevel.png new file mode 100644 index 00000000000000..0adbbf51ec036e Binary files /dev/null and b/docs/assets/en/FormObjects/roundedBevel.png differ diff --git a/docs/assets/en/FormObjects/shape_line.png b/docs/assets/en/FormObjects/shape_line.png new file mode 100644 index 00000000000000..7bd9d81a48386b Binary files /dev/null and b/docs/assets/en/FormObjects/shape_line.png differ diff --git a/docs/assets/en/FormObjects/shape_line1.png b/docs/assets/en/FormObjects/shape_line1.png new file mode 100644 index 00000000000000..f236b65a066955 Binary files /dev/null and b/docs/assets/en/FormObjects/shape_line1.png differ diff --git a/docs/assets/en/FormObjects/shape_line2.png b/docs/assets/en/FormObjects/shape_line2.png new file mode 100644 index 00000000000000..bb610013335309 Binary files /dev/null and b/docs/assets/en/FormObjects/shape_line2.png differ diff --git a/docs/assets/en/FormObjects/shape_oval.png b/docs/assets/en/FormObjects/shape_oval.png new file mode 100644 index 00000000000000..79a26962b764e8 Binary files /dev/null and b/docs/assets/en/FormObjects/shape_oval.png differ diff --git a/docs/assets/en/FormObjects/shape_rectangle.png b/docs/assets/en/FormObjects/shape_rectangle.png new file mode 100644 index 00000000000000..ee27e9a211aa75 Binary files /dev/null and b/docs/assets/en/FormObjects/shape_rectangle.png differ diff --git a/docs/assets/en/FormObjects/shapes_rectangle2.png b/docs/assets/en/FormObjects/shapes_rectangle2.png new file mode 100644 index 00000000000000..b47e4327a46aed Binary files /dev/null and b/docs/assets/en/FormObjects/shapes_rectangle2.png differ diff --git a/docs/assets/en/FormObjects/sorticon0.png b/docs/assets/en/FormObjects/sorticon0.png new file mode 100644 index 00000000000000..45a64ae016fec9 Binary files /dev/null and b/docs/assets/en/FormObjects/sorticon0.png differ diff --git a/docs/assets/en/FormObjects/sorticon1.png b/docs/assets/en/FormObjects/sorticon1.png new file mode 100644 index 00000000000000..f897e43b438e82 Binary files /dev/null and b/docs/assets/en/FormObjects/sorticon1.png differ diff --git a/docs/assets/en/FormObjects/sorticon2.png b/docs/assets/en/FormObjects/sorticon2.png new file mode 100644 index 00000000000000..58ed3955232719 Binary files /dev/null and b/docs/assets/en/FormObjects/sorticon2.png differ diff --git a/docs/assets/en/FormObjects/spinner.gif b/docs/assets/en/FormObjects/spinner.gif new file mode 100644 index 00000000000000..16af746f9ab393 Binary files /dev/null and b/docs/assets/en/FormObjects/spinner.gif differ diff --git a/docs/assets/en/FormObjects/split1.png b/docs/assets/en/FormObjects/split1.png new file mode 100644 index 00000000000000..58858ee844f0d5 Binary files /dev/null and b/docs/assets/en/FormObjects/split1.png differ diff --git a/docs/assets/en/FormObjects/splitter_pusher1.png b/docs/assets/en/FormObjects/splitter_pusher1.png new file mode 100644 index 00000000000000..9a7e90e5b237d5 Binary files /dev/null and b/docs/assets/en/FormObjects/splitter_pusher1.png differ diff --git a/docs/assets/en/FormObjects/splitter_pusher2.png b/docs/assets/en/FormObjects/splitter_pusher2.png new file mode 100644 index 00000000000000..f27e45172c236b Binary files /dev/null and b/docs/assets/en/FormObjects/splitter_pusher2.png differ diff --git a/docs/assets/en/FormObjects/splitter_pusher3.png b/docs/assets/en/FormObjects/splitter_pusher3.png new file mode 100644 index 00000000000000..2e59a62820cb05 Binary files /dev/null and b/docs/assets/en/FormObjects/splitter_pusher3.png differ diff --git a/docs/assets/en/FormObjects/staticText.png b/docs/assets/en/FormObjects/staticText.png new file mode 100644 index 00000000000000..699fdb8b4b291c Binary files /dev/null and b/docs/assets/en/FormObjects/staticText.png differ diff --git a/docs/assets/en/FormObjects/staticText2.png b/docs/assets/en/FormObjects/staticText2.png new file mode 100644 index 00000000000000..0dd0ee55455a80 Binary files /dev/null and b/docs/assets/en/FormObjects/staticText2.png differ diff --git a/docs/assets/en/FormObjects/subforms1.png b/docs/assets/en/FormObjects/subforms1.png new file mode 100644 index 00000000000000..562ecead1b89e4 Binary files /dev/null and b/docs/assets/en/FormObjects/subforms1.png differ diff --git a/docs/assets/en/FormObjects/subforms2.png b/docs/assets/en/FormObjects/subforms2.png new file mode 100644 index 00000000000000..5e946710c67a56 Binary files /dev/null and b/docs/assets/en/FormObjects/subforms2.png differ diff --git a/docs/assets/en/FormObjects/subforms3.png b/docs/assets/en/FormObjects/subforms3.png new file mode 100644 index 00000000000000..38bb18cfddf4be Binary files /dev/null and b/docs/assets/en/FormObjects/subforms3.png differ diff --git a/docs/assets/en/FormObjects/subforms4.png b/docs/assets/en/FormObjects/subforms4.png new file mode 100644 index 00000000000000..a9d6477e622b02 Binary files /dev/null and b/docs/assets/en/FormObjects/subforms4.png differ diff --git a/docs/assets/en/FormObjects/subforms5.png b/docs/assets/en/FormObjects/subforms5.png new file mode 100644 index 00000000000000..45f4c05b7062a9 Binary files /dev/null and b/docs/assets/en/FormObjects/subforms5.png differ diff --git a/docs/assets/en/FormObjects/subforms6.png b/docs/assets/en/FormObjects/subforms6.png new file mode 100644 index 00000000000000..e69ab090a9c07a Binary files /dev/null and b/docs/assets/en/FormObjects/subforms6.png differ diff --git a/docs/assets/en/FormObjects/tabControl1.png b/docs/assets/en/FormObjects/tabControl1.png new file mode 100644 index 00000000000000..9f8a241264a7d0 Binary files /dev/null and b/docs/assets/en/FormObjects/tabControl1.png differ diff --git a/docs/assets/en/FormObjects/tabControl2.png b/docs/assets/en/FormObjects/tabControl2.png new file mode 100644 index 00000000000000..08931e6f9833bf Binary files /dev/null and b/docs/assets/en/FormObjects/tabControl2.png differ diff --git a/docs/assets/en/FormObjects/tagStyle1.png b/docs/assets/en/FormObjects/tagStyle1.png new file mode 100644 index 00000000000000..7484dc7d6eb831 Binary files /dev/null and b/docs/assets/en/FormObjects/tagStyle1.png differ diff --git a/docs/assets/en/FormObjects/viewPro2.png b/docs/assets/en/FormObjects/viewPro2.png new file mode 100644 index 00000000000000..06c1dd852e90b4 Binary files /dev/null and b/docs/assets/en/FormObjects/viewPro2.png differ diff --git a/docs/assets/en/FormObjects/wordwrap1.png b/docs/assets/en/FormObjects/wordwrap1.png new file mode 100644 index 00000000000000..ab8e64d20d2daf Binary files /dev/null and b/docs/assets/en/FormObjects/wordwrap1.png differ diff --git a/docs/assets/en/FormObjects/wordwrap2.png b/docs/assets/en/FormObjects/wordwrap2.png new file mode 100644 index 00000000000000..0c6e7e35576f85 Binary files /dev/null and b/docs/assets/en/FormObjects/wordwrap2.png differ diff --git a/docs/assets/en/FormObjects/wordwrap3.png b/docs/assets/en/FormObjects/wordwrap3.png new file mode 100644 index 00000000000000..9625363fc65d5f Binary files /dev/null and b/docs/assets/en/FormObjects/wordwrap3.png differ diff --git a/docs/assets/en/FormObjects/writePro.png b/docs/assets/en/FormObjects/writePro.png new file mode 100644 index 00000000000000..bf908d6702a089 Binary files /dev/null and b/docs/assets/en/FormObjects/writePro.png differ diff --git a/docs/assets/en/FormObjects/writePro1.png b/docs/assets/en/FormObjects/writePro1.png new file mode 100644 index 00000000000000..ad7e034e246705 Binary files /dev/null and b/docs/assets/en/FormObjects/writePro1.png differ diff --git a/docs/assets/en/FormObjects/writePro2.png b/docs/assets/en/FormObjects/writePro2.png new file mode 100644 index 00000000000000..40ec61e14638df Binary files /dev/null and b/docs/assets/en/FormObjects/writePro2.png differ diff --git a/docs/assets/en/FormObjects/writeProExpr.png b/docs/assets/en/FormObjects/writeProExpr.png new file mode 100644 index 00000000000000..51f1aa5c128b59 Binary files /dev/null and b/docs/assets/en/FormObjects/writeProExpr.png differ diff --git a/docs/assets/en/bevelButton_propertyList.en.png b/docs/assets/en/bevelButton_propertyList.en.png new file mode 100644 index 00000000000000..213167e57b6c5a Binary files /dev/null and b/docs/assets/en/bevelButton_propertyList.en.png differ diff --git a/docs/assets/en/button_bevel.en.png b/docs/assets/en/button_bevel.en.png new file mode 100644 index 00000000000000..f51652021f387f Binary files /dev/null and b/docs/assets/en/button_bevel.en.png differ diff --git a/docs/assets/en/button_circle.en.png b/docs/assets/en/button_circle.en.png new file mode 100644 index 00000000000000..6055fc822384fa Binary files /dev/null and b/docs/assets/en/button_circle.en.png differ diff --git a/docs/assets/en/button_custom.en.png b/docs/assets/en/button_custom.en.png new file mode 100644 index 00000000000000..f6f992009597c4 Binary files /dev/null and b/docs/assets/en/button_custom.en.png differ diff --git a/docs/assets/en/button_help.en.png b/docs/assets/en/button_help.en.png new file mode 100644 index 00000000000000..a9bc87e514e36c Binary files /dev/null and b/docs/assets/en/button_help.en.png differ diff --git a/docs/assets/en/button_officexp.en.png b/docs/assets/en/button_officexp.en.png new file mode 100644 index 00000000000000..b03ff3bbd71363 Binary files /dev/null and b/docs/assets/en/button_officexp.en.png differ diff --git a/docs/assets/en/button_osxgradient.en.png b/docs/assets/en/button_osxgradient.en.png new file mode 100644 index 00000000000000..c667b5992fbe9d Binary files /dev/null and b/docs/assets/en/button_osxgradient.en.png differ diff --git a/docs/assets/en/button_osxtextured.en.png b/docs/assets/en/button_osxtextured.en.png new file mode 100644 index 00000000000000..ee0c81a9fb24bf Binary files /dev/null and b/docs/assets/en/button_osxtextured.en.png differ diff --git a/docs/assets/en/button_regular.en.png b/docs/assets/en/button_regular.en.png new file mode 100644 index 00000000000000..a3a84898b6f51e Binary files /dev/null and b/docs/assets/en/button_regular.en.png differ diff --git a/docs/assets/en/button_roundedbevel.en.png b/docs/assets/en/button_roundedbevel.en.png new file mode 100644 index 00000000000000..b13fdedccae2ff Binary files /dev/null and b/docs/assets/en/button_roundedbevel.en.png differ diff --git a/docs/assets/en/defaultButtonWindows.en.png b/docs/assets/en/defaultButtonWindows.en.png new file mode 100644 index 00000000000000..e6c8983caf9779 Binary files /dev/null and b/docs/assets/en/defaultButtonWindows.en.png differ diff --git a/docs/assets/en/defaultButtonmacOS.en.png b/docs/assets/en/defaultButtonmacOS.en.png new file mode 100644 index 00000000000000..c0f9cd0a16af7c Binary files /dev/null and b/docs/assets/en/defaultButtonmacOS.en.png differ diff --git a/docs/assets/en/helpButton.en.png b/docs/assets/en/helpButton.en.png new file mode 100644 index 00000000000000..5601e3afd8e4b8 Binary files /dev/null and b/docs/assets/en/helpButton.en.png differ diff --git a/docs/assets/en/helpButton_propertyList.en.png b/docs/assets/en/helpButton_propertyList.en.png new file mode 100644 index 00000000000000..efa5c6db9f6539 Binary files /dev/null and b/docs/assets/en/helpButton_propertyList.en.png differ diff --git a/docs/assets/en/officeXPButton_propertyList.en.png b/docs/assets/en/officeXPButton_propertyList.en.png new file mode 100644 index 00000000000000..2184857ffb5a5e Binary files /dev/null and b/docs/assets/en/officeXPButton_propertyList.en.png differ diff --git a/docs/assets/en/osGradientButton_propertyList.en.png b/docs/assets/en/osGradientButton_propertyList.en.png new file mode 100644 index 00000000000000..c99e85d9aa6c89 Binary files /dev/null and b/docs/assets/en/osGradientButton_propertyList.en.png differ diff --git a/docs/assets/en/osTexturedButton_propertyList.en.png b/docs/assets/en/osTexturedButton_propertyList.en.png new file mode 100644 index 00000000000000..5056bcfcd6c3ba Binary files /dev/null and b/docs/assets/en/osTexturedButton_propertyList.en.png differ diff --git a/docs/assets/en/property_automaticDragDrop.png b/docs/assets/en/property_automaticDragDrop.png new file mode 100644 index 00000000000000..e5197d956375c0 Binary files /dev/null and b/docs/assets/en/property_automaticDragDrop.png differ diff --git a/docs/assets/en/property_draggableDroppable_propertyList.png b/docs/assets/en/property_draggableDroppable_propertyList.png new file mode 100644 index 00000000000000..d7ebd387e4ad21 Binary files /dev/null and b/docs/assets/en/property_draggableDroppable_propertyList.png differ diff --git a/docs/assets/en/property_focusable.png b/docs/assets/en/property_focusable.png new file mode 100644 index 00000000000000..d8166ebc9ae4d0 Binary files /dev/null and b/docs/assets/en/property_focusable.png differ diff --git a/docs/assets/en/property_focusable1.png b/docs/assets/en/property_focusable1.png new file mode 100644 index 00000000000000..ff36c380de0b84 Binary files /dev/null and b/docs/assets/en/property_focusable1.png differ diff --git a/docs/assets/en/property_focusable2.png b/docs/assets/en/property_focusable2.png new file mode 100644 index 00000000000000..e8e02bd58e3bc9 Binary files /dev/null and b/docs/assets/en/property_focusable2.png differ diff --git a/docs/assets/en/property_helpTip.png b/docs/assets/en/property_helpTip.png new file mode 100644 index 00000000000000..7d5ad468467313 Binary files /dev/null and b/docs/assets/en/property_helpTip.png differ diff --git a/docs/assets/en/property_horizontalMargin1.png b/docs/assets/en/property_horizontalMargin1.png new file mode 100644 index 00000000000000..0aa4b14215ffb5 Binary files /dev/null and b/docs/assets/en/property_horizontalMargin1.png differ diff --git a/docs/assets/en/property_horizontalMargin2.png b/docs/assets/en/property_horizontalMargin2.png new file mode 100644 index 00000000000000..0190aed15da55d Binary files /dev/null and b/docs/assets/en/property_horizontalMargin2.png differ diff --git a/docs/assets/en/property_numberOfStates.png b/docs/assets/en/property_numberOfStates.png new file mode 100644 index 00000000000000..124670b7a396e8 Binary files /dev/null and b/docs/assets/en/property_numberOfStates.png differ diff --git a/docs/assets/en/property_popup.png b/docs/assets/en/property_popup.png new file mode 100644 index 00000000000000..f5b5e45d967323 Binary files /dev/null and b/docs/assets/en/property_popup.png differ diff --git a/docs/assets/en/property_popup_linked.png b/docs/assets/en/property_popup_linked.png new file mode 100644 index 00000000000000..328b283734dbc3 Binary files /dev/null and b/docs/assets/en/property_popup_linked.png differ diff --git a/docs/assets/en/property_popup_separated.png b/docs/assets/en/property_popup_separated.png new file mode 100644 index 00000000000000..d0a0b857086447 Binary files /dev/null and b/docs/assets/en/property_popup_separated.png differ diff --git a/docs/assets/en/property_title.png b/docs/assets/en/property_title.png new file mode 100644 index 00000000000000..5ddbfd5888f936 Binary files /dev/null and b/docs/assets/en/property_title.png differ diff --git a/docs/assets/en/property_titlePosition_bottom.png b/docs/assets/en/property_titlePosition_bottom.png new file mode 100644 index 00000000000000..dbae2b7bf4a59f Binary files /dev/null and b/docs/assets/en/property_titlePosition_bottom.png differ diff --git a/docs/assets/en/property_titlePosition_centered.png b/docs/assets/en/property_titlePosition_centered.png new file mode 100644 index 00000000000000..ab335b2444f226 Binary files /dev/null and b/docs/assets/en/property_titlePosition_centered.png differ diff --git a/docs/assets/en/property_titlePosition_left.en.png b/docs/assets/en/property_titlePosition_left.en.png new file mode 100644 index 00000000000000..669f4a65d2d614 Binary files /dev/null and b/docs/assets/en/property_titlePosition_left.en.png differ diff --git a/docs/assets/en/property_titlePosition_right.png b/docs/assets/en/property_titlePosition_right.png new file mode 100644 index 00000000000000..63712ed77d4e1c Binary files /dev/null and b/docs/assets/en/property_titlePosition_right.png differ diff --git a/docs/assets/en/property_titlePosition_top.png b/docs/assets/en/property_titlePosition_top.png new file mode 100644 index 00000000000000..e47d08515df0e6 Binary files /dev/null and b/docs/assets/en/property_titlePosition_top.png differ diff --git a/docs/assets/en/regularButtonHover.en.png b/docs/assets/en/regularButtonHover.en.png new file mode 100644 index 00000000000000..da2e910f7d486f Binary files /dev/null and b/docs/assets/en/regularButtonHover.en.png differ diff --git a/docs/assets/en/regularButton_clicked.en.png b/docs/assets/en/regularButton_clicked.en.png new file mode 100644 index 00000000000000..84f8603adfa584 Binary files /dev/null and b/docs/assets/en/regularButton_clicked.en.png differ diff --git a/docs/assets/en/regularButton_propertyList.en.png b/docs/assets/en/regularButton_propertyList.en.png new file mode 100644 index 00000000000000..4e8d70399fb0bb Binary files /dev/null and b/docs/assets/en/regularButton_propertyList.en.png differ diff --git a/docs/assets/en/roundedBevelButton_propertyList.en.png b/docs/assets/en/roundedBevelButton_propertyList.en.png new file mode 100644 index 00000000000000..beb87fb4336be3 Binary files /dev/null and b/docs/assets/en/roundedBevelButton_propertyList.en.png differ diff --git a/docs/assets/en/shortcut.png b/docs/assets/en/shortcut.png new file mode 100644 index 00000000000000..cfac91f65444ba Binary files /dev/null and b/docs/assets/en/shortcut.png differ diff --git a/docs/assets/en/toolbarButtonHover_Windows.en.png b/docs/assets/en/toolbarButtonHover_Windows.en.png new file mode 100644 index 00000000000000..57cbe78eb18d8c Binary files /dev/null and b/docs/assets/en/toolbarButtonHover_Windows.en.png differ diff --git a/docs/assets/en/toolbarButtonHover_Windows_popup.en.png b/docs/assets/en/toolbarButtonHover_Windows_popup.en.png new file mode 100644 index 00000000000000..ab2ce11d100b90 Binary files /dev/null and b/docs/assets/en/toolbarButtonHover_Windows_popup.en.png differ diff --git a/docs/assets/en/toolbarButton_propertyList.en.png b/docs/assets/en/toolbarButton_propertyList.en.png new file mode 100644 index 00000000000000..ab21d46bc079c9 Binary files /dev/null and b/docs/assets/en/toolbarButton_propertyList.en.png differ diff --git a/docs/assets/es/FormObjects/button_bevel.en.png b/docs/assets/es/FormObjects/button_bevel.en.png new file mode 100644 index 00000000000000..f113063987f217 Binary files /dev/null and b/docs/assets/es/FormObjects/button_bevel.en.png differ diff --git a/docs/assets/es/FormObjects/button_buttonGrid.png b/docs/assets/es/FormObjects/button_buttonGrid.png new file mode 100644 index 00000000000000..db13068a01ed31 Binary files /dev/null and b/docs/assets/es/FormObjects/button_buttonGrid.png differ diff --git a/docs/assets/es/FormObjects/button_circle.en.png b/docs/assets/es/FormObjects/button_circle.en.png new file mode 100644 index 00000000000000..0c0fc6ea004985 Binary files /dev/null and b/docs/assets/es/FormObjects/button_circle.en.png differ diff --git a/docs/assets/es/FormObjects/button_circleM.png b/docs/assets/es/FormObjects/button_circleM.png new file mode 100644 index 00000000000000..904bf9e7d17c70 Binary files /dev/null and b/docs/assets/es/FormObjects/button_circleM.png differ diff --git a/docs/assets/es/FormObjects/button_custom.en.png b/docs/assets/es/FormObjects/button_custom.en.png new file mode 100644 index 00000000000000..c0731c5673b153 Binary files /dev/null and b/docs/assets/es/FormObjects/button_custom.en.png differ diff --git a/docs/assets/es/FormObjects/button_help.en.png b/docs/assets/es/FormObjects/button_help.en.png new file mode 100644 index 00000000000000..dd59502ecf5b2b Binary files /dev/null and b/docs/assets/es/FormObjects/button_help.en.png differ diff --git a/docs/assets/es/FormObjects/button_officexp.en.png b/docs/assets/es/FormObjects/button_officexp.en.png new file mode 100644 index 00000000000000..4ceb87c30eda85 Binary files /dev/null and b/docs/assets/es/FormObjects/button_officexp.en.png differ diff --git a/docs/assets/es/FormObjects/button_osxgradient.en.png b/docs/assets/es/FormObjects/button_osxgradient.en.png new file mode 100644 index 00000000000000..106bdd992461f0 Binary files /dev/null and b/docs/assets/es/FormObjects/button_osxgradient.en.png differ diff --git a/docs/assets/es/FormObjects/button_osxtextured.en.png b/docs/assets/es/FormObjects/button_osxtextured.en.png new file mode 100644 index 00000000000000..a9f25078175da8 Binary files /dev/null and b/docs/assets/es/FormObjects/button_osxtextured.en.png differ diff --git a/docs/assets/es/FormObjects/button_pictureButton.png b/docs/assets/es/FormObjects/button_pictureButton.png new file mode 100644 index 00000000000000..e20b0b03d51b1f Binary files /dev/null and b/docs/assets/es/FormObjects/button_pictureButton.png differ diff --git a/docs/assets/es/FormObjects/button_pictureButton_implement.png b/docs/assets/es/FormObjects/button_pictureButton_implement.png new file mode 100644 index 00000000000000..168de165e19eae Binary files /dev/null and b/docs/assets/es/FormObjects/button_pictureButton_implement.png differ diff --git a/docs/assets/es/FormObjects/button_regular.png b/docs/assets/es/FormObjects/button_regular.png new file mode 100644 index 00000000000000..703b2f6b7be371 Binary files /dev/null and b/docs/assets/es/FormObjects/button_regular.png differ diff --git a/docs/assets/es/FormObjects/button_roundedbevel.en.png b/docs/assets/es/FormObjects/button_roundedbevel.en.png new file mode 100644 index 00000000000000..18b1c258da934e Binary files /dev/null and b/docs/assets/es/FormObjects/button_roundedbevel.en.png differ diff --git a/docs/assets/es/FormObjects/button_toolbar.en.png b/docs/assets/es/FormObjects/button_toolbar.en.png new file mode 100644 index 00000000000000..2d8af1fe1a64dd Binary files /dev/null and b/docs/assets/es/FormObjects/button_toolbar.en.png differ diff --git a/docs/assets/es/FormObjects/shape_line1.png b/docs/assets/es/FormObjects/shape_line1.png new file mode 100644 index 00000000000000..f236b65a066955 Binary files /dev/null and b/docs/assets/es/FormObjects/shape_line1.png differ diff --git a/docs/assets/es/FormObjects/shape_line2.png b/docs/assets/es/FormObjects/shape_line2.png new file mode 100644 index 00000000000000..bb610013335309 Binary files /dev/null and b/docs/assets/es/FormObjects/shape_line2.png differ diff --git a/docs/assets/es/FormObjects/tagStyle1.png b/docs/assets/es/FormObjects/tagStyle1.png new file mode 100644 index 00000000000000..7484dc7d6eb831 Binary files /dev/null and b/docs/assets/es/FormObjects/tagStyle1.png differ diff --git a/docs/assets/es/bevelButton_propertyList.en.png b/docs/assets/es/bevelButton_propertyList.en.png new file mode 100644 index 00000000000000..213167e57b6c5a Binary files /dev/null and b/docs/assets/es/bevelButton_propertyList.en.png differ diff --git a/docs/assets/es/button_bevel.en.png b/docs/assets/es/button_bevel.en.png new file mode 100644 index 00000000000000..f51652021f387f Binary files /dev/null and b/docs/assets/es/button_bevel.en.png differ diff --git a/docs/assets/es/button_circle.en.png b/docs/assets/es/button_circle.en.png new file mode 100644 index 00000000000000..6055fc822384fa Binary files /dev/null and b/docs/assets/es/button_circle.en.png differ diff --git a/docs/assets/es/button_custom.en.png b/docs/assets/es/button_custom.en.png new file mode 100644 index 00000000000000..f6f992009597c4 Binary files /dev/null and b/docs/assets/es/button_custom.en.png differ diff --git a/docs/assets/es/button_help.en.png b/docs/assets/es/button_help.en.png new file mode 100644 index 00000000000000..a9bc87e514e36c Binary files /dev/null and b/docs/assets/es/button_help.en.png differ diff --git a/docs/assets/es/button_officexp.en.png b/docs/assets/es/button_officexp.en.png new file mode 100644 index 00000000000000..b03ff3bbd71363 Binary files /dev/null and b/docs/assets/es/button_officexp.en.png differ diff --git a/docs/assets/es/button_osxgradient.en.png b/docs/assets/es/button_osxgradient.en.png new file mode 100644 index 00000000000000..c667b5992fbe9d Binary files /dev/null and b/docs/assets/es/button_osxgradient.en.png differ diff --git a/docs/assets/es/button_osxtextured.en.png b/docs/assets/es/button_osxtextured.en.png new file mode 100644 index 00000000000000..ee0c81a9fb24bf Binary files /dev/null and b/docs/assets/es/button_osxtextured.en.png differ diff --git a/docs/assets/es/button_regular.en.png b/docs/assets/es/button_regular.en.png new file mode 100644 index 00000000000000..a3a84898b6f51e Binary files /dev/null and b/docs/assets/es/button_regular.en.png differ diff --git a/docs/assets/es/button_roundedbevel.en.png b/docs/assets/es/button_roundedbevel.en.png new file mode 100644 index 00000000000000..b13fdedccae2ff Binary files /dev/null and b/docs/assets/es/button_roundedbevel.en.png differ diff --git a/docs/assets/es/defaultButtonWindows.en.png b/docs/assets/es/defaultButtonWindows.en.png new file mode 100644 index 00000000000000..e6c8983caf9779 Binary files /dev/null and b/docs/assets/es/defaultButtonWindows.en.png differ diff --git a/docs/assets/es/defaultButtonmacOS.en.png b/docs/assets/es/defaultButtonmacOS.en.png new file mode 100644 index 00000000000000..c0f9cd0a16af7c Binary files /dev/null and b/docs/assets/es/defaultButtonmacOS.en.png differ diff --git a/docs/assets/es/helpButton.en.png b/docs/assets/es/helpButton.en.png new file mode 100644 index 00000000000000..5601e3afd8e4b8 Binary files /dev/null and b/docs/assets/es/helpButton.en.png differ diff --git a/docs/assets/es/helpButton_propertyList.en.png b/docs/assets/es/helpButton_propertyList.en.png new file mode 100644 index 00000000000000..efa5c6db9f6539 Binary files /dev/null and b/docs/assets/es/helpButton_propertyList.en.png differ diff --git a/docs/assets/es/officeXPButton_propertyList.en.png b/docs/assets/es/officeXPButton_propertyList.en.png new file mode 100644 index 00000000000000..2184857ffb5a5e Binary files /dev/null and b/docs/assets/es/officeXPButton_propertyList.en.png differ diff --git a/docs/assets/es/osGradientButton_propertyList.en.png b/docs/assets/es/osGradientButton_propertyList.en.png new file mode 100644 index 00000000000000..c99e85d9aa6c89 Binary files /dev/null and b/docs/assets/es/osGradientButton_propertyList.en.png differ diff --git a/docs/assets/es/osTexturedButton_propertyList.en.png b/docs/assets/es/osTexturedButton_propertyList.en.png new file mode 100644 index 00000000000000..5056bcfcd6c3ba Binary files /dev/null and b/docs/assets/es/osTexturedButton_propertyList.en.png differ diff --git a/docs/assets/es/property_automaticDragDrop.png b/docs/assets/es/property_automaticDragDrop.png new file mode 100644 index 00000000000000..e5197d956375c0 Binary files /dev/null and b/docs/assets/es/property_automaticDragDrop.png differ diff --git a/docs/assets/es/property_draggableDroppable_propertyList.png b/docs/assets/es/property_draggableDroppable_propertyList.png new file mode 100644 index 00000000000000..d7ebd387e4ad21 Binary files /dev/null and b/docs/assets/es/property_draggableDroppable_propertyList.png differ diff --git a/docs/assets/es/property_focusable.png b/docs/assets/es/property_focusable.png new file mode 100644 index 00000000000000..d8166ebc9ae4d0 Binary files /dev/null and b/docs/assets/es/property_focusable.png differ diff --git a/docs/assets/es/property_focusable1.png b/docs/assets/es/property_focusable1.png new file mode 100644 index 00000000000000..ff36c380de0b84 Binary files /dev/null and b/docs/assets/es/property_focusable1.png differ diff --git a/docs/assets/es/property_focusable2.png b/docs/assets/es/property_focusable2.png new file mode 100644 index 00000000000000..e8e02bd58e3bc9 Binary files /dev/null and b/docs/assets/es/property_focusable2.png differ diff --git a/docs/assets/es/property_helpTip.png b/docs/assets/es/property_helpTip.png new file mode 100644 index 00000000000000..7d5ad468467313 Binary files /dev/null and b/docs/assets/es/property_helpTip.png differ diff --git a/docs/assets/es/property_horizontalMargin1.png b/docs/assets/es/property_horizontalMargin1.png new file mode 100644 index 00000000000000..0aa4b14215ffb5 Binary files /dev/null and b/docs/assets/es/property_horizontalMargin1.png differ diff --git a/docs/assets/es/property_horizontalMargin2.png b/docs/assets/es/property_horizontalMargin2.png new file mode 100644 index 00000000000000..0190aed15da55d Binary files /dev/null and b/docs/assets/es/property_horizontalMargin2.png differ diff --git a/docs/assets/es/property_numberOfStates.png b/docs/assets/es/property_numberOfStates.png new file mode 100644 index 00000000000000..124670b7a396e8 Binary files /dev/null and b/docs/assets/es/property_numberOfStates.png differ diff --git a/docs/assets/es/property_popup.png b/docs/assets/es/property_popup.png new file mode 100644 index 00000000000000..f5b5e45d967323 Binary files /dev/null and b/docs/assets/es/property_popup.png differ diff --git a/docs/assets/es/property_popup_linked.png b/docs/assets/es/property_popup_linked.png new file mode 100644 index 00000000000000..328b283734dbc3 Binary files /dev/null and b/docs/assets/es/property_popup_linked.png differ diff --git a/docs/assets/es/property_popup_separated.png b/docs/assets/es/property_popup_separated.png new file mode 100644 index 00000000000000..d0a0b857086447 Binary files /dev/null and b/docs/assets/es/property_popup_separated.png differ diff --git a/docs/assets/es/property_title.png b/docs/assets/es/property_title.png new file mode 100644 index 00000000000000..5ddbfd5888f936 Binary files /dev/null and b/docs/assets/es/property_title.png differ diff --git a/docs/assets/es/property_titlePosition_bottom.png b/docs/assets/es/property_titlePosition_bottom.png new file mode 100644 index 00000000000000..dbae2b7bf4a59f Binary files /dev/null and b/docs/assets/es/property_titlePosition_bottom.png differ diff --git a/docs/assets/es/property_titlePosition_centered.png b/docs/assets/es/property_titlePosition_centered.png new file mode 100644 index 00000000000000..ab335b2444f226 Binary files /dev/null and b/docs/assets/es/property_titlePosition_centered.png differ diff --git a/docs/assets/es/property_titlePosition_left.en.png b/docs/assets/es/property_titlePosition_left.en.png new file mode 100644 index 00000000000000..669f4a65d2d614 Binary files /dev/null and b/docs/assets/es/property_titlePosition_left.en.png differ diff --git a/docs/assets/es/property_titlePosition_right.png b/docs/assets/es/property_titlePosition_right.png new file mode 100644 index 00000000000000..63712ed77d4e1c Binary files /dev/null and b/docs/assets/es/property_titlePosition_right.png differ diff --git a/docs/assets/es/property_titlePosition_top.png b/docs/assets/es/property_titlePosition_top.png new file mode 100644 index 00000000000000..e47d08515df0e6 Binary files /dev/null and b/docs/assets/es/property_titlePosition_top.png differ diff --git a/docs/assets/es/regularButtonHover.en.png b/docs/assets/es/regularButtonHover.en.png new file mode 100644 index 00000000000000..da2e910f7d486f Binary files /dev/null and b/docs/assets/es/regularButtonHover.en.png differ diff --git a/docs/assets/es/regularButton_clicked.en.png b/docs/assets/es/regularButton_clicked.en.png new file mode 100644 index 00000000000000..84f8603adfa584 Binary files /dev/null and b/docs/assets/es/regularButton_clicked.en.png differ diff --git a/docs/assets/es/regularButton_propertyList.en.png b/docs/assets/es/regularButton_propertyList.en.png new file mode 100644 index 00000000000000..4e8d70399fb0bb Binary files /dev/null and b/docs/assets/es/regularButton_propertyList.en.png differ diff --git a/docs/assets/es/roundedBevelButton_propertyList.en.png b/docs/assets/es/roundedBevelButton_propertyList.en.png new file mode 100644 index 00000000000000..beb87fb4336be3 Binary files /dev/null and b/docs/assets/es/roundedBevelButton_propertyList.en.png differ diff --git a/docs/assets/es/shortcut.png b/docs/assets/es/shortcut.png new file mode 100644 index 00000000000000..cfac91f65444ba Binary files /dev/null and b/docs/assets/es/shortcut.png differ diff --git a/docs/assets/es/toolbarButtonHover_Windows.en.png b/docs/assets/es/toolbarButtonHover_Windows.en.png new file mode 100644 index 00000000000000..57cbe78eb18d8c Binary files /dev/null and b/docs/assets/es/toolbarButtonHover_Windows.en.png differ diff --git a/docs/assets/es/toolbarButtonHover_Windows_popup.en.png b/docs/assets/es/toolbarButtonHover_Windows_popup.en.png new file mode 100644 index 00000000000000..ab2ce11d100b90 Binary files /dev/null and b/docs/assets/es/toolbarButtonHover_Windows_popup.en.png differ diff --git a/docs/assets/es/toolbarButton_propertyList.en.png b/docs/assets/es/toolbarButton_propertyList.en.png new file mode 100644 index 00000000000000..ab21d46bc079c9 Binary files /dev/null and b/docs/assets/es/toolbarButton_propertyList.en.png differ diff --git a/docs/assets/fr/FormObjects/button_bevel.en.png b/docs/assets/fr/FormObjects/button_bevel.en.png new file mode 100644 index 00000000000000..f113063987f217 Binary files /dev/null and b/docs/assets/fr/FormObjects/button_bevel.en.png differ diff --git a/docs/assets/fr/FormObjects/button_buttonGrid.png b/docs/assets/fr/FormObjects/button_buttonGrid.png new file mode 100644 index 00000000000000..db13068a01ed31 Binary files /dev/null and b/docs/assets/fr/FormObjects/button_buttonGrid.png differ diff --git a/docs/assets/fr/FormObjects/button_circle.en.png b/docs/assets/fr/FormObjects/button_circle.en.png new file mode 100644 index 00000000000000..0c0fc6ea004985 Binary files /dev/null and b/docs/assets/fr/FormObjects/button_circle.en.png differ diff --git a/docs/assets/fr/FormObjects/button_circleM.png b/docs/assets/fr/FormObjects/button_circleM.png new file mode 100644 index 00000000000000..904bf9e7d17c70 Binary files /dev/null and b/docs/assets/fr/FormObjects/button_circleM.png differ diff --git a/docs/assets/fr/FormObjects/button_custom.en.png b/docs/assets/fr/FormObjects/button_custom.en.png new file mode 100644 index 00000000000000..c0731c5673b153 Binary files /dev/null and b/docs/assets/fr/FormObjects/button_custom.en.png differ diff --git a/docs/assets/fr/FormObjects/button_help.en.png b/docs/assets/fr/FormObjects/button_help.en.png new file mode 100644 index 00000000000000..dd59502ecf5b2b Binary files /dev/null and b/docs/assets/fr/FormObjects/button_help.en.png differ diff --git a/docs/assets/fr/FormObjects/button_officexp.en.png b/docs/assets/fr/FormObjects/button_officexp.en.png new file mode 100644 index 00000000000000..4ceb87c30eda85 Binary files /dev/null and b/docs/assets/fr/FormObjects/button_officexp.en.png differ diff --git a/docs/assets/fr/FormObjects/button_osxgradient.en.png b/docs/assets/fr/FormObjects/button_osxgradient.en.png new file mode 100644 index 00000000000000..106bdd992461f0 Binary files /dev/null and b/docs/assets/fr/FormObjects/button_osxgradient.en.png differ diff --git a/docs/assets/fr/FormObjects/button_osxtextured.en.png b/docs/assets/fr/FormObjects/button_osxtextured.en.png new file mode 100644 index 00000000000000..a9f25078175da8 Binary files /dev/null and b/docs/assets/fr/FormObjects/button_osxtextured.en.png differ diff --git a/docs/assets/fr/FormObjects/button_pictureButton.png b/docs/assets/fr/FormObjects/button_pictureButton.png new file mode 100644 index 00000000000000..e20b0b03d51b1f Binary files /dev/null and b/docs/assets/fr/FormObjects/button_pictureButton.png differ diff --git a/docs/assets/fr/FormObjects/button_pictureButton_implement.png b/docs/assets/fr/FormObjects/button_pictureButton_implement.png new file mode 100644 index 00000000000000..168de165e19eae Binary files /dev/null and b/docs/assets/fr/FormObjects/button_pictureButton_implement.png differ diff --git a/docs/assets/fr/FormObjects/button_regular.png b/docs/assets/fr/FormObjects/button_regular.png new file mode 100644 index 00000000000000..703b2f6b7be371 Binary files /dev/null and b/docs/assets/fr/FormObjects/button_regular.png differ diff --git a/docs/assets/fr/FormObjects/button_roundedbevel.en.png b/docs/assets/fr/FormObjects/button_roundedbevel.en.png new file mode 100644 index 00000000000000..18b1c258da934e Binary files /dev/null and b/docs/assets/fr/FormObjects/button_roundedbevel.en.png differ diff --git a/docs/assets/fr/FormObjects/button_toolbar.en.png b/docs/assets/fr/FormObjects/button_toolbar.en.png new file mode 100644 index 00000000000000..2d8af1fe1a64dd Binary files /dev/null and b/docs/assets/fr/FormObjects/button_toolbar.en.png differ diff --git a/docs/assets/fr/FormObjects/shape_line1.png b/docs/assets/fr/FormObjects/shape_line1.png new file mode 100644 index 00000000000000..f236b65a066955 Binary files /dev/null and b/docs/assets/fr/FormObjects/shape_line1.png differ diff --git a/docs/assets/fr/FormObjects/shape_line2.png b/docs/assets/fr/FormObjects/shape_line2.png new file mode 100644 index 00000000000000..bb610013335309 Binary files /dev/null and b/docs/assets/fr/FormObjects/shape_line2.png differ diff --git a/docs/assets/fr/FormObjects/tagStyle1.png b/docs/assets/fr/FormObjects/tagStyle1.png new file mode 100644 index 00000000000000..7484dc7d6eb831 Binary files /dev/null and b/docs/assets/fr/FormObjects/tagStyle1.png differ diff --git a/docs/assets/fr/bevelButton_propertyList.en.png b/docs/assets/fr/bevelButton_propertyList.en.png new file mode 100644 index 00000000000000..213167e57b6c5a Binary files /dev/null and b/docs/assets/fr/bevelButton_propertyList.en.png differ diff --git a/docs/assets/fr/button_bevel.en.png b/docs/assets/fr/button_bevel.en.png new file mode 100644 index 00000000000000..f51652021f387f Binary files /dev/null and b/docs/assets/fr/button_bevel.en.png differ diff --git a/docs/assets/fr/button_circle.en.png b/docs/assets/fr/button_circle.en.png new file mode 100644 index 00000000000000..6055fc822384fa Binary files /dev/null and b/docs/assets/fr/button_circle.en.png differ diff --git a/docs/assets/fr/button_custom.en.png b/docs/assets/fr/button_custom.en.png new file mode 100644 index 00000000000000..f6f992009597c4 Binary files /dev/null and b/docs/assets/fr/button_custom.en.png differ diff --git a/docs/assets/fr/button_help.en.png b/docs/assets/fr/button_help.en.png new file mode 100644 index 00000000000000..a9bc87e514e36c Binary files /dev/null and b/docs/assets/fr/button_help.en.png differ diff --git a/docs/assets/fr/button_officexp.en.png b/docs/assets/fr/button_officexp.en.png new file mode 100644 index 00000000000000..b03ff3bbd71363 Binary files /dev/null and b/docs/assets/fr/button_officexp.en.png differ diff --git a/docs/assets/fr/button_osxgradient.en.png b/docs/assets/fr/button_osxgradient.en.png new file mode 100644 index 00000000000000..c667b5992fbe9d Binary files /dev/null and b/docs/assets/fr/button_osxgradient.en.png differ diff --git a/docs/assets/fr/button_osxtextured.en.png b/docs/assets/fr/button_osxtextured.en.png new file mode 100644 index 00000000000000..ee0c81a9fb24bf Binary files /dev/null and b/docs/assets/fr/button_osxtextured.en.png differ diff --git a/docs/assets/fr/button_regular.en.png b/docs/assets/fr/button_regular.en.png new file mode 100644 index 00000000000000..a3a84898b6f51e Binary files /dev/null and b/docs/assets/fr/button_regular.en.png differ diff --git a/docs/assets/fr/button_roundedbevel.en.png b/docs/assets/fr/button_roundedbevel.en.png new file mode 100644 index 00000000000000..b13fdedccae2ff Binary files /dev/null and b/docs/assets/fr/button_roundedbevel.en.png differ diff --git a/docs/assets/fr/defaultButtonWindows.en.png b/docs/assets/fr/defaultButtonWindows.en.png new file mode 100644 index 00000000000000..e6c8983caf9779 Binary files /dev/null and b/docs/assets/fr/defaultButtonWindows.en.png differ diff --git a/docs/assets/fr/defaultButtonmacOS.en.png b/docs/assets/fr/defaultButtonmacOS.en.png new file mode 100644 index 00000000000000..c0f9cd0a16af7c Binary files /dev/null and b/docs/assets/fr/defaultButtonmacOS.en.png differ diff --git a/docs/assets/fr/helpButton.en.png b/docs/assets/fr/helpButton.en.png new file mode 100644 index 00000000000000..5601e3afd8e4b8 Binary files /dev/null and b/docs/assets/fr/helpButton.en.png differ diff --git a/docs/assets/fr/helpButton_propertyList.en.png b/docs/assets/fr/helpButton_propertyList.en.png new file mode 100644 index 00000000000000..efa5c6db9f6539 Binary files /dev/null and b/docs/assets/fr/helpButton_propertyList.en.png differ diff --git a/docs/assets/fr/officeXPButton_propertyList.en.png b/docs/assets/fr/officeXPButton_propertyList.en.png new file mode 100644 index 00000000000000..2184857ffb5a5e Binary files /dev/null and b/docs/assets/fr/officeXPButton_propertyList.en.png differ diff --git a/docs/assets/fr/osGradientButton_propertyList.en.png b/docs/assets/fr/osGradientButton_propertyList.en.png new file mode 100644 index 00000000000000..c99e85d9aa6c89 Binary files /dev/null and b/docs/assets/fr/osGradientButton_propertyList.en.png differ diff --git a/docs/assets/fr/osTexturedButton_propertyList.en.png b/docs/assets/fr/osTexturedButton_propertyList.en.png new file mode 100644 index 00000000000000..5056bcfcd6c3ba Binary files /dev/null and b/docs/assets/fr/osTexturedButton_propertyList.en.png differ diff --git a/docs/assets/fr/property_automaticDragDrop.png b/docs/assets/fr/property_automaticDragDrop.png new file mode 100644 index 00000000000000..e5197d956375c0 Binary files /dev/null and b/docs/assets/fr/property_automaticDragDrop.png differ diff --git a/docs/assets/fr/property_draggableDroppable_propertyList.png b/docs/assets/fr/property_draggableDroppable_propertyList.png new file mode 100644 index 00000000000000..d7ebd387e4ad21 Binary files /dev/null and b/docs/assets/fr/property_draggableDroppable_propertyList.png differ diff --git a/docs/assets/fr/property_focusable.png b/docs/assets/fr/property_focusable.png new file mode 100644 index 00000000000000..d8166ebc9ae4d0 Binary files /dev/null and b/docs/assets/fr/property_focusable.png differ diff --git a/docs/assets/fr/property_focusable1.png b/docs/assets/fr/property_focusable1.png new file mode 100644 index 00000000000000..ff36c380de0b84 Binary files /dev/null and b/docs/assets/fr/property_focusable1.png differ diff --git a/docs/assets/fr/property_focusable2.png b/docs/assets/fr/property_focusable2.png new file mode 100644 index 00000000000000..e8e02bd58e3bc9 Binary files /dev/null and b/docs/assets/fr/property_focusable2.png differ diff --git a/docs/assets/fr/property_helpTip.png b/docs/assets/fr/property_helpTip.png new file mode 100644 index 00000000000000..7d5ad468467313 Binary files /dev/null and b/docs/assets/fr/property_helpTip.png differ diff --git a/docs/assets/fr/property_horizontalMargin1.png b/docs/assets/fr/property_horizontalMargin1.png new file mode 100644 index 00000000000000..0aa4b14215ffb5 Binary files /dev/null and b/docs/assets/fr/property_horizontalMargin1.png differ diff --git a/docs/assets/fr/property_horizontalMargin2.png b/docs/assets/fr/property_horizontalMargin2.png new file mode 100644 index 00000000000000..0190aed15da55d Binary files /dev/null and b/docs/assets/fr/property_horizontalMargin2.png differ diff --git a/docs/assets/fr/property_numberOfStates.png b/docs/assets/fr/property_numberOfStates.png new file mode 100644 index 00000000000000..124670b7a396e8 Binary files /dev/null and b/docs/assets/fr/property_numberOfStates.png differ diff --git a/docs/assets/fr/property_popup.png b/docs/assets/fr/property_popup.png new file mode 100644 index 00000000000000..f5b5e45d967323 Binary files /dev/null and b/docs/assets/fr/property_popup.png differ diff --git a/docs/assets/fr/property_popup_linked.png b/docs/assets/fr/property_popup_linked.png new file mode 100644 index 00000000000000..328b283734dbc3 Binary files /dev/null and b/docs/assets/fr/property_popup_linked.png differ diff --git a/docs/assets/fr/property_popup_separated.png b/docs/assets/fr/property_popup_separated.png new file mode 100644 index 00000000000000..d0a0b857086447 Binary files /dev/null and b/docs/assets/fr/property_popup_separated.png differ diff --git a/docs/assets/fr/property_title.png b/docs/assets/fr/property_title.png new file mode 100644 index 00000000000000..5ddbfd5888f936 Binary files /dev/null and b/docs/assets/fr/property_title.png differ diff --git a/docs/assets/fr/property_titlePosition_bottom.png b/docs/assets/fr/property_titlePosition_bottom.png new file mode 100644 index 00000000000000..dbae2b7bf4a59f Binary files /dev/null and b/docs/assets/fr/property_titlePosition_bottom.png differ diff --git a/docs/assets/fr/property_titlePosition_centered.png b/docs/assets/fr/property_titlePosition_centered.png new file mode 100644 index 00000000000000..ab335b2444f226 Binary files /dev/null and b/docs/assets/fr/property_titlePosition_centered.png differ diff --git a/docs/assets/fr/property_titlePosition_left.en.png b/docs/assets/fr/property_titlePosition_left.en.png new file mode 100644 index 00000000000000..669f4a65d2d614 Binary files /dev/null and b/docs/assets/fr/property_titlePosition_left.en.png differ diff --git a/docs/assets/fr/property_titlePosition_right.png b/docs/assets/fr/property_titlePosition_right.png new file mode 100644 index 00000000000000..63712ed77d4e1c Binary files /dev/null and b/docs/assets/fr/property_titlePosition_right.png differ diff --git a/docs/assets/fr/property_titlePosition_top.png b/docs/assets/fr/property_titlePosition_top.png new file mode 100644 index 00000000000000..e47d08515df0e6 Binary files /dev/null and b/docs/assets/fr/property_titlePosition_top.png differ diff --git a/docs/assets/fr/regularButtonHover.en.png b/docs/assets/fr/regularButtonHover.en.png new file mode 100644 index 00000000000000..da2e910f7d486f Binary files /dev/null and b/docs/assets/fr/regularButtonHover.en.png differ diff --git a/docs/assets/fr/regularButton_clicked.en.png b/docs/assets/fr/regularButton_clicked.en.png new file mode 100644 index 00000000000000..84f8603adfa584 Binary files /dev/null and b/docs/assets/fr/regularButton_clicked.en.png differ diff --git a/docs/assets/fr/regularButton_propertyList.en.png b/docs/assets/fr/regularButton_propertyList.en.png new file mode 100644 index 00000000000000..4e8d70399fb0bb Binary files /dev/null and b/docs/assets/fr/regularButton_propertyList.en.png differ diff --git a/docs/assets/fr/roundedBevelButton_propertyList.en.png b/docs/assets/fr/roundedBevelButton_propertyList.en.png new file mode 100644 index 00000000000000..beb87fb4336be3 Binary files /dev/null and b/docs/assets/fr/roundedBevelButton_propertyList.en.png differ diff --git a/docs/assets/fr/shortcut.png b/docs/assets/fr/shortcut.png new file mode 100644 index 00000000000000..cfac91f65444ba Binary files /dev/null and b/docs/assets/fr/shortcut.png differ diff --git a/docs/assets/fr/toolbarButtonHover_Windows.en.png b/docs/assets/fr/toolbarButtonHover_Windows.en.png new file mode 100644 index 00000000000000..57cbe78eb18d8c Binary files /dev/null and b/docs/assets/fr/toolbarButtonHover_Windows.en.png differ diff --git a/docs/assets/fr/toolbarButtonHover_Windows_popup.en.png b/docs/assets/fr/toolbarButtonHover_Windows_popup.en.png new file mode 100644 index 00000000000000..ab2ce11d100b90 Binary files /dev/null and b/docs/assets/fr/toolbarButtonHover_Windows_popup.en.png differ diff --git a/docs/assets/fr/toolbarButton_propertyList.en.png b/docs/assets/fr/toolbarButton_propertyList.en.png new file mode 100644 index 00000000000000..ab21d46bc079c9 Binary files /dev/null and b/docs/assets/fr/toolbarButton_propertyList.en.png differ diff --git a/docs/assets/ja/FormObjects/button_bevel.en.png b/docs/assets/ja/FormObjects/button_bevel.en.png new file mode 100644 index 00000000000000..f113063987f217 Binary files /dev/null and b/docs/assets/ja/FormObjects/button_bevel.en.png differ diff --git a/docs/assets/ja/FormObjects/button_buttonGrid.png b/docs/assets/ja/FormObjects/button_buttonGrid.png new file mode 100644 index 00000000000000..db13068a01ed31 Binary files /dev/null and b/docs/assets/ja/FormObjects/button_buttonGrid.png differ diff --git a/docs/assets/ja/FormObjects/button_circle.en.png b/docs/assets/ja/FormObjects/button_circle.en.png new file mode 100644 index 00000000000000..0c0fc6ea004985 Binary files /dev/null and b/docs/assets/ja/FormObjects/button_circle.en.png differ diff --git a/docs/assets/ja/FormObjects/button_circleM.png b/docs/assets/ja/FormObjects/button_circleM.png new file mode 100644 index 00000000000000..904bf9e7d17c70 Binary files /dev/null and b/docs/assets/ja/FormObjects/button_circleM.png differ diff --git a/docs/assets/ja/FormObjects/button_custom.en.png b/docs/assets/ja/FormObjects/button_custom.en.png new file mode 100644 index 00000000000000..c0731c5673b153 Binary files /dev/null and b/docs/assets/ja/FormObjects/button_custom.en.png differ diff --git a/docs/assets/ja/FormObjects/button_help.en.png b/docs/assets/ja/FormObjects/button_help.en.png new file mode 100644 index 00000000000000..dd59502ecf5b2b Binary files /dev/null and b/docs/assets/ja/FormObjects/button_help.en.png differ diff --git a/docs/assets/ja/FormObjects/button_officexp.en.png b/docs/assets/ja/FormObjects/button_officexp.en.png new file mode 100644 index 00000000000000..4ceb87c30eda85 Binary files /dev/null and b/docs/assets/ja/FormObjects/button_officexp.en.png differ diff --git a/docs/assets/ja/FormObjects/button_osxgradient.en.png b/docs/assets/ja/FormObjects/button_osxgradient.en.png new file mode 100644 index 00000000000000..106bdd992461f0 Binary files /dev/null and b/docs/assets/ja/FormObjects/button_osxgradient.en.png differ diff --git a/docs/assets/ja/FormObjects/button_osxtextured.en.png b/docs/assets/ja/FormObjects/button_osxtextured.en.png new file mode 100644 index 00000000000000..a9f25078175da8 Binary files /dev/null and b/docs/assets/ja/FormObjects/button_osxtextured.en.png differ diff --git a/docs/assets/ja/FormObjects/button_pictureButton.png b/docs/assets/ja/FormObjects/button_pictureButton.png new file mode 100644 index 00000000000000..e20b0b03d51b1f Binary files /dev/null and b/docs/assets/ja/FormObjects/button_pictureButton.png differ diff --git a/docs/assets/ja/FormObjects/button_pictureButton_implement.png b/docs/assets/ja/FormObjects/button_pictureButton_implement.png new file mode 100644 index 00000000000000..168de165e19eae Binary files /dev/null and b/docs/assets/ja/FormObjects/button_pictureButton_implement.png differ diff --git a/docs/assets/ja/FormObjects/button_regular.png b/docs/assets/ja/FormObjects/button_regular.png new file mode 100644 index 00000000000000..703b2f6b7be371 Binary files /dev/null and b/docs/assets/ja/FormObjects/button_regular.png differ diff --git a/docs/assets/ja/FormObjects/button_roundedbevel.en.png b/docs/assets/ja/FormObjects/button_roundedbevel.en.png new file mode 100644 index 00000000000000..18b1c258da934e Binary files /dev/null and b/docs/assets/ja/FormObjects/button_roundedbevel.en.png differ diff --git a/docs/assets/ja/FormObjects/button_toolbar.en.png b/docs/assets/ja/FormObjects/button_toolbar.en.png new file mode 100644 index 00000000000000..2d8af1fe1a64dd Binary files /dev/null and b/docs/assets/ja/FormObjects/button_toolbar.en.png differ diff --git a/docs/assets/ja/FormObjects/shape_line1.png b/docs/assets/ja/FormObjects/shape_line1.png new file mode 100644 index 00000000000000..f236b65a066955 Binary files /dev/null and b/docs/assets/ja/FormObjects/shape_line1.png differ diff --git a/docs/assets/ja/FormObjects/shape_line2.png b/docs/assets/ja/FormObjects/shape_line2.png new file mode 100644 index 00000000000000..bb610013335309 Binary files /dev/null and b/docs/assets/ja/FormObjects/shape_line2.png differ diff --git a/docs/assets/ja/FormObjects/tagStyle1.png b/docs/assets/ja/FormObjects/tagStyle1.png new file mode 100644 index 00000000000000..7484dc7d6eb831 Binary files /dev/null and b/docs/assets/ja/FormObjects/tagStyle1.png differ diff --git a/docs/assets/ja/bevelButton_propertyList.en.png b/docs/assets/ja/bevelButton_propertyList.en.png new file mode 100644 index 00000000000000..213167e57b6c5a Binary files /dev/null and b/docs/assets/ja/bevelButton_propertyList.en.png differ diff --git a/docs/assets/ja/button_bevel.en.png b/docs/assets/ja/button_bevel.en.png new file mode 100644 index 00000000000000..f51652021f387f Binary files /dev/null and b/docs/assets/ja/button_bevel.en.png differ diff --git a/docs/assets/ja/button_circle.en.png b/docs/assets/ja/button_circle.en.png new file mode 100644 index 00000000000000..6055fc822384fa Binary files /dev/null and b/docs/assets/ja/button_circle.en.png differ diff --git a/docs/assets/ja/button_custom.en.png b/docs/assets/ja/button_custom.en.png new file mode 100644 index 00000000000000..f6f992009597c4 Binary files /dev/null and b/docs/assets/ja/button_custom.en.png differ diff --git a/docs/assets/ja/button_help.en.png b/docs/assets/ja/button_help.en.png new file mode 100644 index 00000000000000..a9bc87e514e36c Binary files /dev/null and b/docs/assets/ja/button_help.en.png differ diff --git a/docs/assets/ja/button_officexp.en.png b/docs/assets/ja/button_officexp.en.png new file mode 100644 index 00000000000000..b03ff3bbd71363 Binary files /dev/null and b/docs/assets/ja/button_officexp.en.png differ diff --git a/docs/assets/ja/button_osxgradient.en.png b/docs/assets/ja/button_osxgradient.en.png new file mode 100644 index 00000000000000..c667b5992fbe9d Binary files /dev/null and b/docs/assets/ja/button_osxgradient.en.png differ diff --git a/docs/assets/ja/button_osxtextured.en.png b/docs/assets/ja/button_osxtextured.en.png new file mode 100644 index 00000000000000..ee0c81a9fb24bf Binary files /dev/null and b/docs/assets/ja/button_osxtextured.en.png differ diff --git a/docs/assets/ja/button_regular.en.png b/docs/assets/ja/button_regular.en.png new file mode 100644 index 00000000000000..a3a84898b6f51e Binary files /dev/null and b/docs/assets/ja/button_regular.en.png differ diff --git a/docs/assets/ja/button_roundedbevel.en.png b/docs/assets/ja/button_roundedbevel.en.png new file mode 100644 index 00000000000000..b13fdedccae2ff Binary files /dev/null and b/docs/assets/ja/button_roundedbevel.en.png differ diff --git a/docs/assets/ja/defaultButtonWindows.en.png b/docs/assets/ja/defaultButtonWindows.en.png new file mode 100644 index 00000000000000..e6c8983caf9779 Binary files /dev/null and b/docs/assets/ja/defaultButtonWindows.en.png differ diff --git a/docs/assets/ja/defaultButtonmacOS.en.png b/docs/assets/ja/defaultButtonmacOS.en.png new file mode 100644 index 00000000000000..c0f9cd0a16af7c Binary files /dev/null and b/docs/assets/ja/defaultButtonmacOS.en.png differ diff --git a/docs/assets/ja/helpButton.en.png b/docs/assets/ja/helpButton.en.png new file mode 100644 index 00000000000000..5601e3afd8e4b8 Binary files /dev/null and b/docs/assets/ja/helpButton.en.png differ diff --git a/docs/assets/ja/helpButton_propertyList.en.png b/docs/assets/ja/helpButton_propertyList.en.png new file mode 100644 index 00000000000000..efa5c6db9f6539 Binary files /dev/null and b/docs/assets/ja/helpButton_propertyList.en.png differ diff --git a/docs/assets/ja/officeXPButton_propertyList.en.png b/docs/assets/ja/officeXPButton_propertyList.en.png new file mode 100644 index 00000000000000..2184857ffb5a5e Binary files /dev/null and b/docs/assets/ja/officeXPButton_propertyList.en.png differ diff --git a/docs/assets/ja/osGradientButton_propertyList.en.png b/docs/assets/ja/osGradientButton_propertyList.en.png new file mode 100644 index 00000000000000..c99e85d9aa6c89 Binary files /dev/null and b/docs/assets/ja/osGradientButton_propertyList.en.png differ diff --git a/docs/assets/ja/osTexturedButton_propertyList.en.png b/docs/assets/ja/osTexturedButton_propertyList.en.png new file mode 100644 index 00000000000000..5056bcfcd6c3ba Binary files /dev/null and b/docs/assets/ja/osTexturedButton_propertyList.en.png differ diff --git a/docs/assets/ja/property_automaticDragDrop.png b/docs/assets/ja/property_automaticDragDrop.png new file mode 100644 index 00000000000000..e5197d956375c0 Binary files /dev/null and b/docs/assets/ja/property_automaticDragDrop.png differ diff --git a/docs/assets/ja/property_draggableDroppable_propertyList.png b/docs/assets/ja/property_draggableDroppable_propertyList.png new file mode 100644 index 00000000000000..d7ebd387e4ad21 Binary files /dev/null and b/docs/assets/ja/property_draggableDroppable_propertyList.png differ diff --git a/docs/assets/ja/property_focusable.png b/docs/assets/ja/property_focusable.png new file mode 100644 index 00000000000000..d8166ebc9ae4d0 Binary files /dev/null and b/docs/assets/ja/property_focusable.png differ diff --git a/docs/assets/ja/property_focusable1.png b/docs/assets/ja/property_focusable1.png new file mode 100644 index 00000000000000..ff36c380de0b84 Binary files /dev/null and b/docs/assets/ja/property_focusable1.png differ diff --git a/docs/assets/ja/property_focusable2.png b/docs/assets/ja/property_focusable2.png new file mode 100644 index 00000000000000..e8e02bd58e3bc9 Binary files /dev/null and b/docs/assets/ja/property_focusable2.png differ diff --git a/docs/assets/ja/property_helpTip.png b/docs/assets/ja/property_helpTip.png new file mode 100644 index 00000000000000..7d5ad468467313 Binary files /dev/null and b/docs/assets/ja/property_helpTip.png differ diff --git a/docs/assets/ja/property_horizontalMargin1.png b/docs/assets/ja/property_horizontalMargin1.png new file mode 100644 index 00000000000000..0aa4b14215ffb5 Binary files /dev/null and b/docs/assets/ja/property_horizontalMargin1.png differ diff --git a/docs/assets/ja/property_horizontalMargin2.png b/docs/assets/ja/property_horizontalMargin2.png new file mode 100644 index 00000000000000..0190aed15da55d Binary files /dev/null and b/docs/assets/ja/property_horizontalMargin2.png differ diff --git a/docs/assets/ja/property_numberOfStates.png b/docs/assets/ja/property_numberOfStates.png new file mode 100644 index 00000000000000..124670b7a396e8 Binary files /dev/null and b/docs/assets/ja/property_numberOfStates.png differ diff --git a/docs/assets/ja/property_popup.png b/docs/assets/ja/property_popup.png new file mode 100644 index 00000000000000..f5b5e45d967323 Binary files /dev/null and b/docs/assets/ja/property_popup.png differ diff --git a/docs/assets/ja/property_popup_linked.png b/docs/assets/ja/property_popup_linked.png new file mode 100644 index 00000000000000..328b283734dbc3 Binary files /dev/null and b/docs/assets/ja/property_popup_linked.png differ diff --git a/docs/assets/ja/property_popup_separated.png b/docs/assets/ja/property_popup_separated.png new file mode 100644 index 00000000000000..d0a0b857086447 Binary files /dev/null and b/docs/assets/ja/property_popup_separated.png differ diff --git a/docs/assets/ja/property_title.png b/docs/assets/ja/property_title.png new file mode 100644 index 00000000000000..5ddbfd5888f936 Binary files /dev/null and b/docs/assets/ja/property_title.png differ diff --git a/docs/assets/ja/property_titlePosition_bottom.png b/docs/assets/ja/property_titlePosition_bottom.png new file mode 100644 index 00000000000000..dbae2b7bf4a59f Binary files /dev/null and b/docs/assets/ja/property_titlePosition_bottom.png differ diff --git a/docs/assets/ja/property_titlePosition_centered.png b/docs/assets/ja/property_titlePosition_centered.png new file mode 100644 index 00000000000000..ab335b2444f226 Binary files /dev/null and b/docs/assets/ja/property_titlePosition_centered.png differ diff --git a/docs/assets/ja/property_titlePosition_left.en.png b/docs/assets/ja/property_titlePosition_left.en.png new file mode 100644 index 00000000000000..669f4a65d2d614 Binary files /dev/null and b/docs/assets/ja/property_titlePosition_left.en.png differ diff --git a/docs/assets/ja/property_titlePosition_right.png b/docs/assets/ja/property_titlePosition_right.png new file mode 100644 index 00000000000000..63712ed77d4e1c Binary files /dev/null and b/docs/assets/ja/property_titlePosition_right.png differ diff --git a/docs/assets/ja/property_titlePosition_top.png b/docs/assets/ja/property_titlePosition_top.png new file mode 100644 index 00000000000000..e47d08515df0e6 Binary files /dev/null and b/docs/assets/ja/property_titlePosition_top.png differ diff --git a/docs/assets/ja/regularButtonHover.en.png b/docs/assets/ja/regularButtonHover.en.png new file mode 100644 index 00000000000000..da2e910f7d486f Binary files /dev/null and b/docs/assets/ja/regularButtonHover.en.png differ diff --git a/docs/assets/ja/regularButton_clicked.en.png b/docs/assets/ja/regularButton_clicked.en.png new file mode 100644 index 00000000000000..84f8603adfa584 Binary files /dev/null and b/docs/assets/ja/regularButton_clicked.en.png differ diff --git a/docs/assets/ja/regularButton_propertyList.en.png b/docs/assets/ja/regularButton_propertyList.en.png new file mode 100644 index 00000000000000..4e8d70399fb0bb Binary files /dev/null and b/docs/assets/ja/regularButton_propertyList.en.png differ diff --git a/docs/assets/ja/roundedBevelButton_propertyList.en.png b/docs/assets/ja/roundedBevelButton_propertyList.en.png new file mode 100644 index 00000000000000..beb87fb4336be3 Binary files /dev/null and b/docs/assets/ja/roundedBevelButton_propertyList.en.png differ diff --git a/docs/assets/ja/shortcut.png b/docs/assets/ja/shortcut.png new file mode 100644 index 00000000000000..cfac91f65444ba Binary files /dev/null and b/docs/assets/ja/shortcut.png differ diff --git a/docs/assets/ja/toolbarButtonHover_Windows.en.png b/docs/assets/ja/toolbarButtonHover_Windows.en.png new file mode 100644 index 00000000000000..57cbe78eb18d8c Binary files /dev/null and b/docs/assets/ja/toolbarButtonHover_Windows.en.png differ diff --git a/docs/assets/ja/toolbarButtonHover_Windows_popup.en.png b/docs/assets/ja/toolbarButtonHover_Windows_popup.en.png new file mode 100644 index 00000000000000..ab2ce11d100b90 Binary files /dev/null and b/docs/assets/ja/toolbarButtonHover_Windows_popup.en.png differ diff --git a/docs/assets/ja/toolbarButton_propertyList.en.png b/docs/assets/ja/toolbarButton_propertyList.en.png new file mode 100644 index 00000000000000..ab21d46bc079c9 Binary files /dev/null and b/docs/assets/ja/toolbarButton_propertyList.en.png differ diff --git a/docs/assets/pt/FormObjects/button_bevel.en.png b/docs/assets/pt/FormObjects/button_bevel.en.png new file mode 100644 index 00000000000000..f113063987f217 Binary files /dev/null and b/docs/assets/pt/FormObjects/button_bevel.en.png differ diff --git a/docs/assets/pt/FormObjects/button_buttonGrid.png b/docs/assets/pt/FormObjects/button_buttonGrid.png new file mode 100644 index 00000000000000..db13068a01ed31 Binary files /dev/null and b/docs/assets/pt/FormObjects/button_buttonGrid.png differ diff --git a/docs/assets/pt/FormObjects/button_circle.en.png b/docs/assets/pt/FormObjects/button_circle.en.png new file mode 100644 index 00000000000000..0c0fc6ea004985 Binary files /dev/null and b/docs/assets/pt/FormObjects/button_circle.en.png differ diff --git a/docs/assets/pt/FormObjects/button_circleM.png b/docs/assets/pt/FormObjects/button_circleM.png new file mode 100644 index 00000000000000..904bf9e7d17c70 Binary files /dev/null and b/docs/assets/pt/FormObjects/button_circleM.png differ diff --git a/docs/assets/pt/FormObjects/button_custom.en.png b/docs/assets/pt/FormObjects/button_custom.en.png new file mode 100644 index 00000000000000..c0731c5673b153 Binary files /dev/null and b/docs/assets/pt/FormObjects/button_custom.en.png differ diff --git a/docs/assets/pt/FormObjects/button_help.en.png b/docs/assets/pt/FormObjects/button_help.en.png new file mode 100644 index 00000000000000..dd59502ecf5b2b Binary files /dev/null and b/docs/assets/pt/FormObjects/button_help.en.png differ diff --git a/docs/assets/pt/FormObjects/button_officexp.en.png b/docs/assets/pt/FormObjects/button_officexp.en.png new file mode 100644 index 00000000000000..4ceb87c30eda85 Binary files /dev/null and b/docs/assets/pt/FormObjects/button_officexp.en.png differ diff --git a/docs/assets/pt/FormObjects/button_osxgradient.en.png b/docs/assets/pt/FormObjects/button_osxgradient.en.png new file mode 100644 index 00000000000000..106bdd992461f0 Binary files /dev/null and b/docs/assets/pt/FormObjects/button_osxgradient.en.png differ diff --git a/docs/assets/pt/FormObjects/button_osxtextured.en.png b/docs/assets/pt/FormObjects/button_osxtextured.en.png new file mode 100644 index 00000000000000..a9f25078175da8 Binary files /dev/null and b/docs/assets/pt/FormObjects/button_osxtextured.en.png differ diff --git a/docs/assets/pt/FormObjects/button_pictureButton.png b/docs/assets/pt/FormObjects/button_pictureButton.png new file mode 100644 index 00000000000000..e20b0b03d51b1f Binary files /dev/null and b/docs/assets/pt/FormObjects/button_pictureButton.png differ diff --git a/docs/assets/pt/FormObjects/button_pictureButton_implement.png b/docs/assets/pt/FormObjects/button_pictureButton_implement.png new file mode 100644 index 00000000000000..168de165e19eae Binary files /dev/null and b/docs/assets/pt/FormObjects/button_pictureButton_implement.png differ diff --git a/docs/assets/pt/FormObjects/button_regular.png b/docs/assets/pt/FormObjects/button_regular.png new file mode 100644 index 00000000000000..703b2f6b7be371 Binary files /dev/null and b/docs/assets/pt/FormObjects/button_regular.png differ diff --git a/docs/assets/pt/FormObjects/button_roundedbevel.en.png b/docs/assets/pt/FormObjects/button_roundedbevel.en.png new file mode 100644 index 00000000000000..18b1c258da934e Binary files /dev/null and b/docs/assets/pt/FormObjects/button_roundedbevel.en.png differ diff --git a/docs/assets/pt/FormObjects/button_toolbar.en.png b/docs/assets/pt/FormObjects/button_toolbar.en.png new file mode 100644 index 00000000000000..2d8af1fe1a64dd Binary files /dev/null and b/docs/assets/pt/FormObjects/button_toolbar.en.png differ diff --git a/docs/assets/pt/FormObjects/shape_line1.png b/docs/assets/pt/FormObjects/shape_line1.png new file mode 100644 index 00000000000000..f236b65a066955 Binary files /dev/null and b/docs/assets/pt/FormObjects/shape_line1.png differ diff --git a/docs/assets/pt/FormObjects/shape_line2.png b/docs/assets/pt/FormObjects/shape_line2.png new file mode 100644 index 00000000000000..bb610013335309 Binary files /dev/null and b/docs/assets/pt/FormObjects/shape_line2.png differ diff --git a/docs/assets/pt/FormObjects/tagStyle1.png b/docs/assets/pt/FormObjects/tagStyle1.png new file mode 100644 index 00000000000000..7484dc7d6eb831 Binary files /dev/null and b/docs/assets/pt/FormObjects/tagStyle1.png differ diff --git a/docs/assets/pt/bevelButton_propertyList.en.png b/docs/assets/pt/bevelButton_propertyList.en.png new file mode 100644 index 00000000000000..213167e57b6c5a Binary files /dev/null and b/docs/assets/pt/bevelButton_propertyList.en.png differ diff --git a/docs/assets/pt/button_bevel.en.png b/docs/assets/pt/button_bevel.en.png new file mode 100644 index 00000000000000..f51652021f387f Binary files /dev/null and b/docs/assets/pt/button_bevel.en.png differ diff --git a/docs/assets/pt/button_circle.en.png b/docs/assets/pt/button_circle.en.png new file mode 100644 index 00000000000000..6055fc822384fa Binary files /dev/null and b/docs/assets/pt/button_circle.en.png differ diff --git a/docs/assets/pt/button_custom.en.png b/docs/assets/pt/button_custom.en.png new file mode 100644 index 00000000000000..f6f992009597c4 Binary files /dev/null and b/docs/assets/pt/button_custom.en.png differ diff --git a/docs/assets/pt/button_help.en.png b/docs/assets/pt/button_help.en.png new file mode 100644 index 00000000000000..a9bc87e514e36c Binary files /dev/null and b/docs/assets/pt/button_help.en.png differ diff --git a/docs/assets/pt/button_officexp.en.png b/docs/assets/pt/button_officexp.en.png new file mode 100644 index 00000000000000..b03ff3bbd71363 Binary files /dev/null and b/docs/assets/pt/button_officexp.en.png differ diff --git a/docs/assets/pt/button_osxgradient.en.png b/docs/assets/pt/button_osxgradient.en.png new file mode 100644 index 00000000000000..c667b5992fbe9d Binary files /dev/null and b/docs/assets/pt/button_osxgradient.en.png differ diff --git a/docs/assets/pt/button_osxtextured.en.png b/docs/assets/pt/button_osxtextured.en.png new file mode 100644 index 00000000000000..ee0c81a9fb24bf Binary files /dev/null and b/docs/assets/pt/button_osxtextured.en.png differ diff --git a/docs/assets/pt/button_regular.en.png b/docs/assets/pt/button_regular.en.png new file mode 100644 index 00000000000000..a3a84898b6f51e Binary files /dev/null and b/docs/assets/pt/button_regular.en.png differ diff --git a/docs/assets/pt/button_roundedbevel.en.png b/docs/assets/pt/button_roundedbevel.en.png new file mode 100644 index 00000000000000..b13fdedccae2ff Binary files /dev/null and b/docs/assets/pt/button_roundedbevel.en.png differ diff --git a/docs/assets/pt/defaultButtonWindows.en.png b/docs/assets/pt/defaultButtonWindows.en.png new file mode 100644 index 00000000000000..e6c8983caf9779 Binary files /dev/null and b/docs/assets/pt/defaultButtonWindows.en.png differ diff --git a/docs/assets/pt/defaultButtonmacOS.en.png b/docs/assets/pt/defaultButtonmacOS.en.png new file mode 100644 index 00000000000000..c0f9cd0a16af7c Binary files /dev/null and b/docs/assets/pt/defaultButtonmacOS.en.png differ diff --git a/docs/assets/pt/helpButton.en.png b/docs/assets/pt/helpButton.en.png new file mode 100644 index 00000000000000..5601e3afd8e4b8 Binary files /dev/null and b/docs/assets/pt/helpButton.en.png differ diff --git a/docs/assets/pt/helpButton_propertyList.en.png b/docs/assets/pt/helpButton_propertyList.en.png new file mode 100644 index 00000000000000..efa5c6db9f6539 Binary files /dev/null and b/docs/assets/pt/helpButton_propertyList.en.png differ diff --git a/docs/assets/pt/officeXPButton_propertyList.en.png b/docs/assets/pt/officeXPButton_propertyList.en.png new file mode 100644 index 00000000000000..2184857ffb5a5e Binary files /dev/null and b/docs/assets/pt/officeXPButton_propertyList.en.png differ diff --git a/docs/assets/pt/osGradientButton_propertyList.en.png b/docs/assets/pt/osGradientButton_propertyList.en.png new file mode 100644 index 00000000000000..c99e85d9aa6c89 Binary files /dev/null and b/docs/assets/pt/osGradientButton_propertyList.en.png differ diff --git a/docs/assets/pt/osTexturedButton_propertyList.en.png b/docs/assets/pt/osTexturedButton_propertyList.en.png new file mode 100644 index 00000000000000..5056bcfcd6c3ba Binary files /dev/null and b/docs/assets/pt/osTexturedButton_propertyList.en.png differ diff --git a/docs/assets/pt/property_automaticDragDrop.png b/docs/assets/pt/property_automaticDragDrop.png new file mode 100644 index 00000000000000..e5197d956375c0 Binary files /dev/null and b/docs/assets/pt/property_automaticDragDrop.png differ diff --git a/docs/assets/pt/property_draggableDroppable_propertyList.png b/docs/assets/pt/property_draggableDroppable_propertyList.png new file mode 100644 index 00000000000000..d7ebd387e4ad21 Binary files /dev/null and b/docs/assets/pt/property_draggableDroppable_propertyList.png differ diff --git a/docs/assets/pt/property_focusable.png b/docs/assets/pt/property_focusable.png new file mode 100644 index 00000000000000..d8166ebc9ae4d0 Binary files /dev/null and b/docs/assets/pt/property_focusable.png differ diff --git a/docs/assets/pt/property_focusable1.png b/docs/assets/pt/property_focusable1.png new file mode 100644 index 00000000000000..ff36c380de0b84 Binary files /dev/null and b/docs/assets/pt/property_focusable1.png differ diff --git a/docs/assets/pt/property_focusable2.png b/docs/assets/pt/property_focusable2.png new file mode 100644 index 00000000000000..e8e02bd58e3bc9 Binary files /dev/null and b/docs/assets/pt/property_focusable2.png differ diff --git a/docs/assets/pt/property_helpTip.png b/docs/assets/pt/property_helpTip.png new file mode 100644 index 00000000000000..7d5ad468467313 Binary files /dev/null and b/docs/assets/pt/property_helpTip.png differ diff --git a/docs/assets/pt/property_horizontalMargin1.png b/docs/assets/pt/property_horizontalMargin1.png new file mode 100644 index 00000000000000..0aa4b14215ffb5 Binary files /dev/null and b/docs/assets/pt/property_horizontalMargin1.png differ diff --git a/docs/assets/pt/property_horizontalMargin2.png b/docs/assets/pt/property_horizontalMargin2.png new file mode 100644 index 00000000000000..0190aed15da55d Binary files /dev/null and b/docs/assets/pt/property_horizontalMargin2.png differ diff --git a/docs/assets/pt/property_numberOfStates.png b/docs/assets/pt/property_numberOfStates.png new file mode 100644 index 00000000000000..124670b7a396e8 Binary files /dev/null and b/docs/assets/pt/property_numberOfStates.png differ diff --git a/docs/assets/pt/property_popup.png b/docs/assets/pt/property_popup.png new file mode 100644 index 00000000000000..f5b5e45d967323 Binary files /dev/null and b/docs/assets/pt/property_popup.png differ diff --git a/docs/assets/pt/property_popup_linked.png b/docs/assets/pt/property_popup_linked.png new file mode 100644 index 00000000000000..328b283734dbc3 Binary files /dev/null and b/docs/assets/pt/property_popup_linked.png differ diff --git a/docs/assets/pt/property_popup_separated.png b/docs/assets/pt/property_popup_separated.png new file mode 100644 index 00000000000000..d0a0b857086447 Binary files /dev/null and b/docs/assets/pt/property_popup_separated.png differ diff --git a/docs/assets/pt/property_title.png b/docs/assets/pt/property_title.png new file mode 100644 index 00000000000000..5ddbfd5888f936 Binary files /dev/null and b/docs/assets/pt/property_title.png differ diff --git a/docs/assets/pt/property_titlePosition_bottom.png b/docs/assets/pt/property_titlePosition_bottom.png new file mode 100644 index 00000000000000..dbae2b7bf4a59f Binary files /dev/null and b/docs/assets/pt/property_titlePosition_bottom.png differ diff --git a/docs/assets/pt/property_titlePosition_centered.png b/docs/assets/pt/property_titlePosition_centered.png new file mode 100644 index 00000000000000..ab335b2444f226 Binary files /dev/null and b/docs/assets/pt/property_titlePosition_centered.png differ diff --git a/docs/assets/pt/property_titlePosition_left.en.png b/docs/assets/pt/property_titlePosition_left.en.png new file mode 100644 index 00000000000000..669f4a65d2d614 Binary files /dev/null and b/docs/assets/pt/property_titlePosition_left.en.png differ diff --git a/docs/assets/pt/property_titlePosition_right.png b/docs/assets/pt/property_titlePosition_right.png new file mode 100644 index 00000000000000..63712ed77d4e1c Binary files /dev/null and b/docs/assets/pt/property_titlePosition_right.png differ diff --git a/docs/assets/pt/property_titlePosition_top.png b/docs/assets/pt/property_titlePosition_top.png new file mode 100644 index 00000000000000..e47d08515df0e6 Binary files /dev/null and b/docs/assets/pt/property_titlePosition_top.png differ diff --git a/docs/assets/pt/regularButtonHover.en.png b/docs/assets/pt/regularButtonHover.en.png new file mode 100644 index 00000000000000..da2e910f7d486f Binary files /dev/null and b/docs/assets/pt/regularButtonHover.en.png differ diff --git a/docs/assets/pt/regularButton_clicked.en.png b/docs/assets/pt/regularButton_clicked.en.png new file mode 100644 index 00000000000000..84f8603adfa584 Binary files /dev/null and b/docs/assets/pt/regularButton_clicked.en.png differ diff --git a/docs/assets/pt/regularButton_propertyList.en.png b/docs/assets/pt/regularButton_propertyList.en.png new file mode 100644 index 00000000000000..4e8d70399fb0bb Binary files /dev/null and b/docs/assets/pt/regularButton_propertyList.en.png differ diff --git a/docs/assets/pt/roundedBevelButton_propertyList.en.png b/docs/assets/pt/roundedBevelButton_propertyList.en.png new file mode 100644 index 00000000000000..beb87fb4336be3 Binary files /dev/null and b/docs/assets/pt/roundedBevelButton_propertyList.en.png differ diff --git a/docs/assets/pt/shortcut.png b/docs/assets/pt/shortcut.png new file mode 100644 index 00000000000000..cfac91f65444ba Binary files /dev/null and b/docs/assets/pt/shortcut.png differ diff --git a/docs/assets/pt/toolbarButtonHover_Windows.en.png b/docs/assets/pt/toolbarButtonHover_Windows.en.png new file mode 100644 index 00000000000000..57cbe78eb18d8c Binary files /dev/null and b/docs/assets/pt/toolbarButtonHover_Windows.en.png differ diff --git a/docs/assets/pt/toolbarButtonHover_Windows_popup.en.png b/docs/assets/pt/toolbarButtonHover_Windows_popup.en.png new file mode 100644 index 00000000000000..ab2ce11d100b90 Binary files /dev/null and b/docs/assets/pt/toolbarButtonHover_Windows_popup.en.png differ diff --git a/docs/assets/pt/toolbarButton_propertyList.en.png b/docs/assets/pt/toolbarButton_propertyList.en.png new file mode 100644 index 00000000000000..ab21d46bc079c9 Binary files /dev/null and b/docs/assets/pt/toolbarButton_propertyList.en.png differ diff --git a/website/README.md b/website/README.md new file mode 100644 index 00000000000000..f3da77ff3424d4 --- /dev/null +++ b/website/README.md @@ -0,0 +1,193 @@ +This website was created with [Docusaurus](https://docusaurus.io/). + +# What's In This Document + +* [Get Started in 5 Minutes](#get-started-in-5-minutes) +* [Directory Structure](#directory-structure) +* [Editing Content](#editing-content) +* [Adding Content](#adding-content) +* [Full Documentation](#full-documentation) + +# Get Started in 5 Minutes + +1. Make sure all the dependencies for the website are installed: + +```sh +# Install dependencies +$ yarn +``` +2. Run your dev server: + +```sh +# Start the site +$ yarn start +``` + +## Directory Structure + +Your project file structure should look something like this + +``` +my-docusaurus/ + docs/ + doc-1.md + doc-2.md + doc-3.md + website/ + blog/ + 2016-3-11-oldest-post.md + 2017-10-24-newest-post.md + core/ + node_modules/ + pages/ + static/ + css/ + img/ + package.json + sidebar.json + siteConfig.js +``` + +# Editing Content + +## Editing an existing docs page + +Edit docs by navigating to `docs/` and editing the corresponding document: + +`docs/doc-to-be-edited.md` + +```markdown +--- +id: page-needs-edit +title: This Doc Needs To Be Edited +--- + +Edit me... +``` + +For more information about docs, click [here](https://docusaurus.io/docs/en/navigation) + +## Editing an existing blog post + +Edit blog posts by navigating to `website/blog` and editing the corresponding post: + +`website/blog/post-to-be-edited.md` +```markdown +--- +id: post-needs-edit +title: This Blog Post Needs To Be Edited +--- + +Edit me... +``` + +For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog) + +# Adding Content + +## Adding a new docs page to an existing sidebar + +1. Create the doc as a new markdown file in `/docs`, example `docs/newly-created-doc.md`: + +```md +--- +id: newly-created-doc +title: This Doc Needs To Be Edited +--- + +My new content here.. +``` + +1. Refer to that doc's ID in an existing sidebar in `website/sidebar.json`: + +```javascript +// Add newly-created-doc to the Getting Started category of docs +{ + "docs": { + "Getting Started": [ + "quick-start", + "newly-created-doc" // new doc here + ], + ... + }, + ... +} +``` + +For more information about adding new docs, click [here](https://docusaurus.io/docs/en/navigation) + +## Adding a new blog post + +1. Make sure there is a header link to your blog in `website/siteConfig.js`: + +`website/siteConfig.js` +```javascript +headerLinks: [ + ... + { blog: true, label: 'Blog' }, + ... +] +``` + +2. Create the blog post with the format `YYYY-MM-DD-My-Blog-Post-Title.md` in `website/blog`: + +`website/blog/2018-05-21-New-Blog-Post.md` + +```markdown +--- +author: Frank Li +authorURL: https://twitter.com/foobarbaz +authorFBID: 503283835 +title: New Blog Post +--- + +Lorem Ipsum... +``` + +For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog) + +## Adding items to your site's top navigation bar + +1. Add links to docs, custom pages or external links by editing the headerLinks field of `website/siteConfig.js`: + +`website/siteConfig.js` +```javascript +{ + headerLinks: [ + ... + /* you can add docs */ + { doc: 'my-examples', label: 'Examples' }, + /* you can add custom pages */ + { page: 'help', label: 'Help' }, + /* you can add external links */ + { href: 'https://github.com/facebook/Docusaurus', label: 'GitHub' }, + ... + ], + ... +} +``` + +For more information about the navigation bar, click [here](https://docusaurus.io/docs/en/navigation) + +## Adding custom pages + +1. Docusaurus uses React components to build pages. The components are saved as .js files in `website/pages/en`: +1. If you want your page to show up in your navigation header, you will need to update `website/siteConfig.js` to add to the `headerLinks` element: + +`website/siteConfig.js` +```javascript +{ + headerLinks: [ + ... + { page: 'my-new-custom-page', label: 'My New Custom Page' }, + ... + ], + ... +} +``` + +For more information about custom pages, click [here](https://docusaurus.io/docs/en/custom-pages). + +# Full Documentation + +Full documentation can be found on the [website](https://docusaurus.io/). diff --git a/website/i18n/de.json b/website/i18n/de.json index b14269ae145ce3..c72197f2bc735e 100644 --- a/website/i18n/de.json +++ b/website/i18n/de.json @@ -111,6 +111,171 @@ "FormEditor/objectLibrary": { "title": "Object libraries" }, + "FormObjects/buttonOverview": { + "title": "Button" + }, + "FormObjects/buttonGridOverview": { + "title": "Button Grid" + }, + "FormObjects/checkboxOverview": { + "title": "Check Box" + }, + "FormObjects/comboBoxOverview": { + "title": "Combo Box" + }, + "FormObjects/dropdownListOverview": { + "title": "Drop-down List" + }, + "FormObjects/formObjectsOverview": { + "title": "About 4D Form Objects" + }, + "FormObjects/groupBox": { + "title": "Group Box" + }, + "FormObjects/inputOverview": { + "title": "Input" + }, + "FormObjects/listOverview": { + "title": "Hierarchical List" + }, + "FormObjects/listboxOverview": { + "title": "List Box" + }, + "FormObjects/pictureButtonOverview": { + "title": "Picture Button" + }, + "FormObjects/picturePopupMenuOverview": { + "title": "Picture Pop-up Menu" + }, + "FormObjects/pluginAreaOverview": { + "title": "Plug-in Area" + }, + "FormObjects/progressIndicator": { + "title": "Progress Indicator" + }, + "FormObjects/propertiesAction": { + "title": "Action" + }, + "FormObjects/propertiesAnimation": { + "title": "Animation" + }, + "FormObjects/propertiesAppearance": { + "title": "Appearance" + }, + "FormObjects/propertiesBackgroundAndBorder": { + "title": "Background and Border" + }, + "FormObjects/propertiesCoordinatesAndSizing": { + "title": "Coordinates & Sizing" + }, + "FormObjects/propertiesCrop": { + "title": "Crop" + }, + "FormObjects/propertiesDataSource": { + "title": "Data Source" + }, + "FormObjects/propertiesDisplay": { + "title": "Display" + }, + "FormObjects/propertiesEntry": { + "title": "Entry" + }, + "FormObjects/propertiesFooters": { + "title": "Footers" + }, + "FormObjects/propertiesGridlines": { + "title": "Gridlines" + }, + "FormObjects/propertiesHeaders": { + "title": "Headers" + }, + "FormObjects/propertiesHelp": { + "title": "Help" + }, + "FormObjects/propertiesHierarchy": { + "title": "Hierarchy" + }, + "FormObjects/propertiesListBox": { + "title": "List Box" + }, + "FormObjects/propertiesObject": { + "title": "Objects" + }, + "FormObjects/propertiesPicture": { + "title": "Picture" + }, + "FormObjects/propertiesPlugIns": { + "title": "Plug-ins" + }, + "FormObjects/propertiesPrint": { + "title": "Print" + }, + "FormObjects/propertiesRangeOfValues": { + "title": "Range of Values" + }, + "FormObjects/propertiesReference": { + "title": "JSON property list" + }, + "FormObjects/propertiesResizingOptions": { + "title": "Resizing Options" + }, + "FormObjects/propertiesScale": { + "title": "Scale" + }, + "FormObjects/propertiesSubform": { + "title": "Subform" + }, + "FormObjects/propertiesText": { + "title": "Text" + }, + "FormObjects/propertiesTextAndPicture": { + "title": "Text and Picture" + }, + "FormObjects/propertiesWebArea": { + "title": "Web Area" + }, + "FormObjects/propertyMatrix": { + "title": "Active Object Properties" + }, + "FormObjects/radiobuttonOverview": { + "title": "Radio Button" + }, + "FormObjects/ruler": { + "title": "Ruler" + }, + "FormObjects/shapesOverview": { + "title": "Shapes" + }, + "FormObjects/spinner": { + "title": "Spinner" + }, + "FormObjects/splitters": { + "title": "Splitter" + }, + "FormObjects/staticPicture": { + "title": "Static picture" + }, + "FormObjects/stepper": { + "title": "Stepper" + }, + "FormObjects/subformOverview": { + "title": "Subform" + }, + "FormObjects/tabControl": { + "title": "Tab Controls" + }, + "FormObjects/text": { + "title": "Text" + }, + "FormObjects/viewProAreaOverview": { + "title": "4D View Pro area" + }, + "FormObjects/webAreaOverview": { + "title": "Web Area" + }, + "FormObjects/writeProAreaOverview": { + "title": "4D Write Pro area" + }, "Menus/bars": { "title": "Menu bar features" }, @@ -188,7 +353,9 @@ "categories": { "4D Language Concepts": "4D Language Concepts", "Project Databases": "Project Databases", - "Forms": "Forms", + "Form Editor": "Form Editor", + "Form Objects": "Form Objects", + "Form Object Properties": "Form Object Properties", "Menus": "Menus", "MSC": "MSC", "Backup and Restore": "Backup and Restore" diff --git a/website/i18n/en.json b/website/i18n/en.json index ed22c066bb0401..71f69d4a22b616 100644 --- a/website/i18n/en.json +++ b/website/i18n/en.json @@ -111,6 +111,168 @@ "FormEditor/objectLibrary": { "title": "Object libraries" }, + "FormObjects/buttonOverview": { + "title": "Button" + }, + "FormObjects/buttonGridOverview": { + "title": "Button Grid" + }, + "FormObjects/checkboxOverview": { + "title": "Check Box" + }, + "FormObjects/comboBoxOverview": { + "title": "Combo Box" + }, + "FormObjects/dropdownListOverview": { + "title": "Drop-down List" + }, + "FormObjects/formObjectsOverview": { + "title": "About 4D Form Objects" + }, + "FormObjects/groupBox": { + "title": "Group Box" + }, + "FormObjects/inputOverview": { + "title": "Input" + }, + "FormObjects/listOverview": { + "title": "Hierarchical List" + }, + "FormObjects/listboxOverview": { + "title": "List Box" + }, + "FormObjects/pictureButtonOverview": { + "title": "Picture Button" + }, + "FormObjects/picturePopupMenuOverview": { + "title": "Picture Pop-up Menu" + }, + "FormObjects/pluginAreaOverview": { + "title": "Plug-in Area" + }, + "FormObjects/progressIndicator": { + "title": "Progress Indicator" + }, + "FormObjects/propertiesAction": { + "title": "Action" + }, + "FormObjects/propertiesAnimation": { + "title": "Animation" + }, + "FormObjects/propertiesAppearance": { + "title": "Appearance" + }, + "FormObjects/propertiesBackgroundAndBorder": { + "title": "Background and Border" + }, + "FormObjects/propertiesCoordinatesAndSizing": { + "title": "Coordinates & Sizing" + }, + "FormObjects/propertiesCrop": { + "title": "Crop" + }, + "FormObjects/propertiesDataSource": { + "title": "Data Source" + }, + "FormObjects/propertiesDisplay": { + "title": "Display" + }, + "FormObjects/propertiesEntry": { + "title": "Entry" + }, + "FormObjects/propertiesFooters": { + "title": "Footers" + }, + "FormObjects/propertiesGridlines": { + "title": "Gridlines" + }, + "FormObjects/propertiesHeaders": { + "title": "Headers" + }, + "FormObjects/propertiesHelp": { + "title": "Help" + }, + "FormObjects/propertiesHierarchy": { + "title": "Hierarchy" + }, + "FormObjects/propertiesListBox": { + "title": "List Box" + }, + "FormObjects/propertiesObject": { + "title": "Objects" + }, + "FormObjects/propertiesPicture": { + "title": "Picture" + }, + "FormObjects/propertiesPlugIns": { + "title": "Plug-ins" + }, + "FormObjects/propertiesPrint": { + "title": "Print" + }, + "FormObjects/propertiesRangeOfValues": { + "title": "Range of Values" + }, + "FormObjects/propertiesReference": { + "title": "JSON property list" + }, + "FormObjects/propertiesResizingOptions": { + "title": "Resizing Options" + }, + "FormObjects/propertiesScale": { + "title": "Scale" + }, + "FormObjects/propertiesSubform": { + "title": "Subform" + }, + "FormObjects/propertiesText": { + "title": "Text" + }, + "FormObjects/propertiesTextAndPicture": { + "title": "Text and Picture" + }, + "FormObjects/propertiesWebArea": { + "title": "Web Area" + }, + "FormObjects/radiobuttonOverview": { + "title": "Radio Button" + }, + "FormObjects/ruler": { + "title": "Ruler" + }, + "FormObjects/shapesOverview": { + "title": "Shapes" + }, + "FormObjects/spinner": { + "title": "Spinner" + }, + "FormObjects/splitters": { + "title": "Splitter" + }, + "FormObjects/staticPicture": { + "title": "Static picture" + }, + "FormObjects/stepper": { + "title": "Stepper" + }, + "FormObjects/subformOverview": { + "title": "Subform" + }, + "FormObjects/tabControl": { + "title": "Tab Controls" + }, + "FormObjects/text": { + "title": "Text" + }, + "FormObjects/viewProAreaOverview": { + "title": "4D View Pro area" + }, + "FormObjects/webAreaOverview": { + "title": "Web Area" + }, + "FormObjects/writeProAreaOverview": { + "title": "4D Write Pro area" + }, "Menus/bars": { "title": "Menu bar features" }, @@ -188,7 +350,9 @@ "categories": { "4D Language Concepts": "4D Language Concepts", "Project Databases": "Project Databases", - "Forms": "Forms", + "Form Editor": "Form Editor", + "Form Objects": "Form Objects", + "Form Object Properties": "Form Object Properties", "Menus": "Menus", "MSC": "MSC", "Backup and Restore": "Backup and Restore" diff --git a/website/i18n/es.json b/website/i18n/es.json index ed22c066bb0401..be3c1b9def7c4f 100644 --- a/website/i18n/es.json +++ b/website/i18n/es.json @@ -111,6 +111,171 @@ "FormEditor/objectLibrary": { "title": "Object libraries" }, + "FormObjects/buttonOverview": { + "title": "Button" + }, + "FormObjects/buttonGridOverview": { + "title": "Button Grid" + }, + "FormObjects/checkboxOverview": { + "title": "Check Box" + }, + "FormObjects/comboBoxOverview": { + "title": "Combo Box" + }, + "FormObjects/dropdownListOverview": { + "title": "Drop-down List" + }, + "FormObjects/formObjectsOverview": { + "title": "About 4D Form Objects" + }, + "FormObjects/groupBox": { + "title": "Group Box" + }, + "FormObjects/inputOverview": { + "title": "Input" + }, + "FormObjects/listOverview": { + "title": "Hierarchical List" + }, + "FormObjects/listboxOverview": { + "title": "List Box" + }, + "FormObjects/pictureButtonOverview": { + "title": "Picture Button" + }, + "FormObjects/picturePopupMenuOverview": { + "title": "Picture Pop-up Menu" + }, + "FormObjects/pluginAreaOverview": { + "title": "Plug-in Area" + }, + "FormObjects/progressIndicator": { + "title": "Progress Indicator" + }, + "FormObjects/propertiesAction": { + "title": "Action" + }, + "FormObjects/propertiesAnimation": { + "title": "Animation" + }, + "FormObjects/propertiesAppearance": { + "title": "Appearance" + }, + "FormObjects/propertiesBackgroundAndBorder": { + "title": "Background and Border" + }, + "FormObjects/propertiesCoordinatesAndSizing": { + "title": "Coordinates & Sizing" + }, + "FormObjects/propertiesCrop": { + "title": "Crop" + }, + "FormObjects/propertiesDataSource": { + "title": "Data Source" + }, + "FormObjects/propertiesDisplay": { + "title": "Display" + }, + "FormObjects/propertiesEntry": { + "title": "Entry" + }, + "FormObjects/propertiesFooters": { + "title": "Footers" + }, + "FormObjects/propertiesGridlines": { + "title": "Gridlines" + }, + "FormObjects/propertiesHeaders": { + "title": "Headers" + }, + "FormObjects/propertiesHelp": { + "title": "Help" + }, + "FormObjects/propertiesHierarchy": { + "title": "Hierarchy" + }, + "FormObjects/propertiesListBox": { + "title": "List Box" + }, + "FormObjects/propertiesObject": { + "title": "Objects" + }, + "FormObjects/propertiesPicture": { + "title": "Picture" + }, + "FormObjects/propertiesPlugIns": { + "title": "Plug-ins" + }, + "FormObjects/propertiesPrint": { + "title": "Print" + }, + "FormObjects/propertiesRangeOfValues": { + "title": "Range of Values" + }, + "FormObjects/propertiesReference": { + "title": "JSON property list" + }, + "FormObjects/propertiesResizingOptions": { + "title": "Resizing Options" + }, + "FormObjects/propertiesScale": { + "title": "Scale" + }, + "FormObjects/propertiesSubform": { + "title": "Subform" + }, + "FormObjects/propertiesText": { + "title": "Text" + }, + "FormObjects/propertiesTextAndPicture": { + "title": "Text and Picture" + }, + "FormObjects/propertiesWebArea": { + "title": "Web Area" + }, + "FormObjects/propertyMatrix": { + "title": "Active Object Properties" + }, + "FormObjects/radiobuttonOverview": { + "title": "Radio Button" + }, + "FormObjects/ruler": { + "title": "Ruler" + }, + "FormObjects/shapesOverview": { + "title": "Shapes" + }, + "FormObjects/spinner": { + "title": "Spinner" + }, + "FormObjects/splitters": { + "title": "Splitter" + }, + "FormObjects/staticPicture": { + "title": "Static picture" + }, + "FormObjects/stepper": { + "title": "Stepper" + }, + "FormObjects/subformOverview": { + "title": "Subform" + }, + "FormObjects/tabControl": { + "title": "Tab Controls" + }, + "FormObjects/text": { + "title": "Text" + }, + "FormObjects/viewProAreaOverview": { + "title": "4D View Pro area" + }, + "FormObjects/webAreaOverview": { + "title": "Web Area" + }, + "FormObjects/writeProAreaOverview": { + "title": "4D Write Pro area" + }, "Menus/bars": { "title": "Menu bar features" }, @@ -188,7 +353,9 @@ "categories": { "4D Language Concepts": "4D Language Concepts", "Project Databases": "Project Databases", - "Forms": "Forms", + "Form Editor": "Form Editor", + "Form Objects": "Form Objects", + "Form Object Properties": "Form Object Properties", "Menus": "Menus", "MSC": "MSC", "Backup and Restore": "Backup and Restore" diff --git a/website/i18n/fr.json b/website/i18n/fr.json index 761ebd9ff43bec..d9ed5dfda17ba2 100644 --- a/website/i18n/fr.json +++ b/website/i18n/fr.json @@ -111,6 +111,171 @@ "FormEditor/objectLibrary": { "title": "Bibliothèques d'objets" }, + "FormObjects/buttonOverview": { + "title": "Button" + }, + "FormObjects/buttonGridOverview": { + "title": "Button Grid" + }, + "FormObjects/checkboxOverview": { + "title": "Check Box" + }, + "FormObjects/comboBoxOverview": { + "title": "Combo Box" + }, + "FormObjects/dropdownListOverview": { + "title": "Drop-down List" + }, + "FormObjects/formObjectsOverview": { + "title": "About 4D Form Objects" + }, + "FormObjects/groupBox": { + "title": "Group Box" + }, + "FormObjects/inputOverview": { + "title": "Input" + }, + "FormObjects/listOverview": { + "title": "Hierarchical List" + }, + "FormObjects/listboxOverview": { + "title": "List Box" + }, + "FormObjects/pictureButtonOverview": { + "title": "Picture Button" + }, + "FormObjects/picturePopupMenuOverview": { + "title": "Picture Pop-up Menu" + }, + "FormObjects/pluginAreaOverview": { + "title": "Plug-in Area" + }, + "FormObjects/progressIndicator": { + "title": "Progress Indicator" + }, + "FormObjects/propertiesAction": { + "title": "Action" + }, + "FormObjects/propertiesAnimation": { + "title": "Animation" + }, + "FormObjects/propertiesAppearance": { + "title": "Appearance" + }, + "FormObjects/propertiesBackgroundAndBorder": { + "title": "Background and Border" + }, + "FormObjects/propertiesCoordinatesAndSizing": { + "title": "Coordinates & Sizing" + }, + "FormObjects/propertiesCrop": { + "title": "Crop" + }, + "FormObjects/propertiesDataSource": { + "title": "Data Source" + }, + "FormObjects/propertiesDisplay": { + "title": "Display" + }, + "FormObjects/propertiesEntry": { + "title": "Entry" + }, + "FormObjects/propertiesFooters": { + "title": "Footers" + }, + "FormObjects/propertiesGridlines": { + "title": "Gridlines" + }, + "FormObjects/propertiesHeaders": { + "title": "Headers" + }, + "FormObjects/propertiesHelp": { + "title": "Help" + }, + "FormObjects/propertiesHierarchy": { + "title": "Hierarchy" + }, + "FormObjects/propertiesListBox": { + "title": "List Box" + }, + "FormObjects/propertiesObject": { + "title": "Objects" + }, + "FormObjects/propertiesPicture": { + "title": "Image" + }, + "FormObjects/propertiesPlugIns": { + "title": "Plug-ins" + }, + "FormObjects/propertiesPrint": { + "title": "Print" + }, + "FormObjects/propertiesRangeOfValues": { + "title": "Range of Values" + }, + "FormObjects/propertiesReference": { + "title": "JSON property list" + }, + "FormObjects/propertiesResizingOptions": { + "title": "Resizing Options" + }, + "FormObjects/propertiesScale": { + "title": "Scale" + }, + "FormObjects/propertiesSubform": { + "title": "Subform" + }, + "FormObjects/propertiesText": { + "title": "Texte" + }, + "FormObjects/propertiesTextAndPicture": { + "title": "Text and Picture" + }, + "FormObjects/propertiesWebArea": { + "title": "Web Area" + }, + "FormObjects/propertyMatrix": { + "title": "Active Object Properties" + }, + "FormObjects/radiobuttonOverview": { + "title": "Radio Button" + }, + "FormObjects/ruler": { + "title": "Ruler" + }, + "FormObjects/shapesOverview": { + "title": "Shapes" + }, + "FormObjects/spinner": { + "title": "Spinner" + }, + "FormObjects/splitters": { + "title": "Splitter" + }, + "FormObjects/staticPicture": { + "title": "Static picture" + }, + "FormObjects/stepper": { + "title": "Stepper" + }, + "FormObjects/subformOverview": { + "title": "Subform" + }, + "FormObjects/tabControl": { + "title": "Tab Controls" + }, + "FormObjects/text": { + "title": "Texte" + }, + "FormObjects/viewProAreaOverview": { + "title": "4D View Pro area" + }, + "FormObjects/webAreaOverview": { + "title": "Web Area" + }, + "FormObjects/writeProAreaOverview": { + "title": "4D Write Pro area" + }, "Menus/bars": { "title": "Barres de menus" }, @@ -188,7 +353,9 @@ "categories": { "4D Language Concepts": "Concepts du langage 4D", "Project Databases": "Project Databases", - "Forms": "Formulaires", + "Form Editor": "Form Editor", + "Form Objects": "Form Objects", + "Form Object Properties": "Form Object Properties", "Menus": "Menus", "MSC": "CSM", "Backup and Restore": "Sauvegarde et restitution" diff --git a/website/i18n/ja.json b/website/i18n/ja.json index f3ee4b7eeb0953..0bc6c75a93db84 100644 --- a/website/i18n/ja.json +++ b/website/i18n/ja.json @@ -111,6 +111,171 @@ "FormEditor/objectLibrary": { "title": "Object libraries" }, + "FormObjects/buttonOverview": { + "title": "Button" + }, + "FormObjects/buttonGridOverview": { + "title": "Button Grid" + }, + "FormObjects/checkboxOverview": { + "title": "Check Box" + }, + "FormObjects/comboBoxOverview": { + "title": "コンボボックス" + }, + "FormObjects/dropdownListOverview": { + "title": "Drop-down List" + }, + "FormObjects/formObjectsOverview": { + "title": "About 4D Form Objects" + }, + "FormObjects/groupBox": { + "title": "Group Box" + }, + "FormObjects/inputOverview": { + "title": "Input" + }, + "FormObjects/listOverview": { + "title": "Hierarchical List" + }, + "FormObjects/listboxOverview": { + "title": "List Box" + }, + "FormObjects/pictureButtonOverview": { + "title": "Picture Button" + }, + "FormObjects/picturePopupMenuOverview": { + "title": "Picture Pop-up Menu" + }, + "FormObjects/pluginAreaOverview": { + "title": "プラグインエリア" + }, + "FormObjects/progressIndicator": { + "title": "進捗インジケーター" + }, + "FormObjects/propertiesAction": { + "title": "Action" + }, + "FormObjects/propertiesAnimation": { + "title": "Animation" + }, + "FormObjects/propertiesAppearance": { + "title": "Appearance" + }, + "FormObjects/propertiesBackgroundAndBorder": { + "title": "Background and Border" + }, + "FormObjects/propertiesCoordinatesAndSizing": { + "title": "Coordinates & Sizing" + }, + "FormObjects/propertiesCrop": { + "title": "Crop" + }, + "FormObjects/propertiesDataSource": { + "title": "Data Source" + }, + "FormObjects/propertiesDisplay": { + "title": "Display" + }, + "FormObjects/propertiesEntry": { + "title": "Entry" + }, + "FormObjects/propertiesFooters": { + "title": "Footers" + }, + "FormObjects/propertiesGridlines": { + "title": "Gridlines" + }, + "FormObjects/propertiesHeaders": { + "title": "Headers" + }, + "FormObjects/propertiesHelp": { + "title": "Help" + }, + "FormObjects/propertiesHierarchy": { + "title": "Hierarchy" + }, + "FormObjects/propertiesListBox": { + "title": "List Box" + }, + "FormObjects/propertiesObject": { + "title": "Objects" + }, + "FormObjects/propertiesPicture": { + "title": "Picture" + }, + "FormObjects/propertiesPlugIns": { + "title": "Plug-ins" + }, + "FormObjects/propertiesPrint": { + "title": "Print" + }, + "FormObjects/propertiesRangeOfValues": { + "title": "Range of Values" + }, + "FormObjects/propertiesReference": { + "title": "JSON property list" + }, + "FormObjects/propertiesResizingOptions": { + "title": "Resizing Options" + }, + "FormObjects/propertiesScale": { + "title": "Scale" + }, + "FormObjects/propertiesSubform": { + "title": "Subform" + }, + "FormObjects/propertiesText": { + "title": "Text" + }, + "FormObjects/propertiesTextAndPicture": { + "title": "Text and Picture" + }, + "FormObjects/propertiesWebArea": { + "title": "Webエリア" + }, + "FormObjects/propertyMatrix": { + "title": "Active Object Properties" + }, + "FormObjects/radiobuttonOverview": { + "title": "ラジオボタン" + }, + "FormObjects/ruler": { + "title": "ルーラー" + }, + "FormObjects/shapesOverview": { + "title": "Shapes" + }, + "FormObjects/spinner": { + "title": "Spinner" + }, + "FormObjects/splitters": { + "title": "スプリッター" + }, + "FormObjects/staticPicture": { + "title": "Static picture" + }, + "FormObjects/stepper": { + "title": "Stepper" + }, + "FormObjects/subformOverview": { + "title": "Subform" + }, + "FormObjects/tabControl": { + "title": "タブコントロール" + }, + "FormObjects/text": { + "title": "Text" + }, + "FormObjects/viewProAreaOverview": { + "title": "4D View Pro area" + }, + "FormObjects/webAreaOverview": { + "title": "Webエリア" + }, + "FormObjects/writeProAreaOverview": { + "title": "4D Write Pro area" + }, "Menus/bars": { "title": "Menu bar features" }, @@ -167,13 +332,13 @@ "sidebar_label": "Verify Page" }, "Project/architecture": { - "title": "Architecture of a 4D project" + "title": "4D プロジェクトのアーキテクチャー" }, "Project/building": { "title": "Building a project package" }, "Project/creating": { - "title": "Creating a 4D project" + "title": "4D プロジェクトの作成" }, "Project/developing": { "title": "Developing a project" @@ -188,7 +353,9 @@ "categories": { "4D Language Concepts": "4D ランゲージのコンセプト", "Project Databases": "プロジェクトデータベース", - "Forms": "Forms", + "Form Editor": "フォームエディター", + "Form Objects": "フォームオブジェクト", + "Form Object Properties": "フォームオブジェクトプロパティ", "Menus": "メニュー", "MSC": "Maintenance & Security Center", "Backup and Restore": "バックアップと復元" diff --git a/website/i18n/pt.json b/website/i18n/pt.json index ed22c066bb0401..be3c1b9def7c4f 100644 --- a/website/i18n/pt.json +++ b/website/i18n/pt.json @@ -111,6 +111,171 @@ "FormEditor/objectLibrary": { "title": "Object libraries" }, + "FormObjects/buttonOverview": { + "title": "Button" + }, + "FormObjects/buttonGridOverview": { + "title": "Button Grid" + }, + "FormObjects/checkboxOverview": { + "title": "Check Box" + }, + "FormObjects/comboBoxOverview": { + "title": "Combo Box" + }, + "FormObjects/dropdownListOverview": { + "title": "Drop-down List" + }, + "FormObjects/formObjectsOverview": { + "title": "About 4D Form Objects" + }, + "FormObjects/groupBox": { + "title": "Group Box" + }, + "FormObjects/inputOverview": { + "title": "Input" + }, + "FormObjects/listOverview": { + "title": "Hierarchical List" + }, + "FormObjects/listboxOverview": { + "title": "List Box" + }, + "FormObjects/pictureButtonOverview": { + "title": "Picture Button" + }, + "FormObjects/picturePopupMenuOverview": { + "title": "Picture Pop-up Menu" + }, + "FormObjects/pluginAreaOverview": { + "title": "Plug-in Area" + }, + "FormObjects/progressIndicator": { + "title": "Progress Indicator" + }, + "FormObjects/propertiesAction": { + "title": "Action" + }, + "FormObjects/propertiesAnimation": { + "title": "Animation" + }, + "FormObjects/propertiesAppearance": { + "title": "Appearance" + }, + "FormObjects/propertiesBackgroundAndBorder": { + "title": "Background and Border" + }, + "FormObjects/propertiesCoordinatesAndSizing": { + "title": "Coordinates & Sizing" + }, + "FormObjects/propertiesCrop": { + "title": "Crop" + }, + "FormObjects/propertiesDataSource": { + "title": "Data Source" + }, + "FormObjects/propertiesDisplay": { + "title": "Display" + }, + "FormObjects/propertiesEntry": { + "title": "Entry" + }, + "FormObjects/propertiesFooters": { + "title": "Footers" + }, + "FormObjects/propertiesGridlines": { + "title": "Gridlines" + }, + "FormObjects/propertiesHeaders": { + "title": "Headers" + }, + "FormObjects/propertiesHelp": { + "title": "Help" + }, + "FormObjects/propertiesHierarchy": { + "title": "Hierarchy" + }, + "FormObjects/propertiesListBox": { + "title": "List Box" + }, + "FormObjects/propertiesObject": { + "title": "Objects" + }, + "FormObjects/propertiesPicture": { + "title": "Picture" + }, + "FormObjects/propertiesPlugIns": { + "title": "Plug-ins" + }, + "FormObjects/propertiesPrint": { + "title": "Print" + }, + "FormObjects/propertiesRangeOfValues": { + "title": "Range of Values" + }, + "FormObjects/propertiesReference": { + "title": "JSON property list" + }, + "FormObjects/propertiesResizingOptions": { + "title": "Resizing Options" + }, + "FormObjects/propertiesScale": { + "title": "Scale" + }, + "FormObjects/propertiesSubform": { + "title": "Subform" + }, + "FormObjects/propertiesText": { + "title": "Text" + }, + "FormObjects/propertiesTextAndPicture": { + "title": "Text and Picture" + }, + "FormObjects/propertiesWebArea": { + "title": "Web Area" + }, + "FormObjects/propertyMatrix": { + "title": "Active Object Properties" + }, + "FormObjects/radiobuttonOverview": { + "title": "Radio Button" + }, + "FormObjects/ruler": { + "title": "Ruler" + }, + "FormObjects/shapesOverview": { + "title": "Shapes" + }, + "FormObjects/spinner": { + "title": "Spinner" + }, + "FormObjects/splitters": { + "title": "Splitter" + }, + "FormObjects/staticPicture": { + "title": "Static picture" + }, + "FormObjects/stepper": { + "title": "Stepper" + }, + "FormObjects/subformOverview": { + "title": "Subform" + }, + "FormObjects/tabControl": { + "title": "Tab Controls" + }, + "FormObjects/text": { + "title": "Text" + }, + "FormObjects/viewProAreaOverview": { + "title": "4D View Pro area" + }, + "FormObjects/webAreaOverview": { + "title": "Web Area" + }, + "FormObjects/writeProAreaOverview": { + "title": "4D Write Pro area" + }, "Menus/bars": { "title": "Menu bar features" }, @@ -188,7 +353,9 @@ "categories": { "4D Language Concepts": "4D Language Concepts", "Project Databases": "Project Databases", - "Forms": "Forms", + "Form Editor": "Form Editor", + "Form Objects": "Form Objects", + "Form Object Properties": "Form Object Properties", "Menus": "Menus", "MSC": "MSC", "Backup and Restore": "Backup and Restore" diff --git a/website/keywords/command.js b/website/keywords/command.js index 5f64bb32579c35..8ae98a0c5c4e76 100644 --- a/website/keywords/command.js +++ b/website/keywords/command.js @@ -173,6 +173,7 @@ var command = 'ABORT|Abs|ACCEPT|ACCUMULATE|Activated|Active transaction|ADD DATA '_o_QUERY SUBRECORDS|_o_Records in subselection|_o_REDRAW LIST|_o_SAVE PICTURE TO FILE|_o_SET CGI EXECUTABLE|_o_SET DOCUMENT CREATOR|_o_SET DOCUMENT TYPE|'+ '_o_SET PICTURE RESOURCE|_o_SET PLATFORM INTERFACE|_o_SET RESOURCE|_o_SET RESOURCE NAME|_o_SET RESOURCE PROPERTIES|_o_SET STRING RESOURCE|_o_SET TEXT RESOURCE|'+ '_o_SET WEB DISPLAY LIMITS|_o_SET WEB TIMEOUT|_o_USE EXTERNAL DATABASE|_o_USE INTERNAL DATABASE|_o_Web Context|_o_Win to Mac|_o_XSLT APPLY TRANSFORMATION|'+ -'_o_XSLT GET ERROR|Char|_o_XSLT SET PARAMETER' +'_o_XSLT GET ERROR|Char|_o_XSLT SET PARAMETER|C_VARIANT|VARIANT_END_STREAM' module.exports = command; + diff --git a/website/keywords/constant.js b/website/keywords/constant.js index 7b76fe1f9c0b65..69858364db22db 100644 --- a/website/keywords/constant.js +++ b/website/keywords/constant.js @@ -462,6 +462,6 @@ const constant = '4D Client database folder|4D Client SOAP license|4D Client Web '_o_Previous record action|_o_qr 4D Chart area|_o_qr font|_o_QT animation compressor|_o_QT compact video compressor|_o_QT graphics compressor|_o_QT photo compressor|'+ '_o_QT raw compressor|_o_QT video compressor|_o_Quit action|_o_Real display precision|_o_Redo action|_o_Return to Design mode|_o_Select all action|_o_Shadow|'+ '_o_Show clipboard action|_o_Spanish dictionary|_o_Test application action|_o_Undo action|_o_Use PICT resource|_o_Web conversion mode|_o_Web Log recording|'+ -'_o_Web process with context|_o_Windows 3.11, NT 3.51|_o_Windows 9x|_o_Windows node' +'_o_Web process with context|_o_Windows 3.11, NT 3.51|_o_Windows 9x|_o_Windows node|Is variant' module.exports = constant; diff --git a/website/pages/en/index.js b/website/pages/en/index.js index 054b19ed000882..7201c578b06852 100644 --- a/website/pages/en/index.js +++ b/website/pages/en/index.js @@ -99,7 +99,7 @@ class HomeSplash extends React.Component { // //Button href={docUrl('doc1.html', language)}>Classic // - + const Block = props => ( ( image: imgUrl('manuals.png'), imageAlign: 'left', - + },{ content: [Language Concepts](Concepts/about.html), @@ -197,7 +197,7 @@ const Description2 = props => ( }, { - content: '[Project databases](Project/overview.html)
    [Forms](FormEditor/objectLibrary.html)
    [Menus](Menus/overview.html)
    [4D for iOS](https://developer.4d.com/4d-for-ios/)', + content: '[Project databases](Project/overview.html)
    [Form Editor](FormEditor/objectLibrary.html)
    [Form Objects](FormObjects/formObjectsOverview.html)
    [Form Object Properties](FormObjects/propertiesReference.html)
    [Menus](Menus/overview.html)
    [4D for iOS](https://developer.4d.com/4d-for-ios/)', title: Development, } diff --git a/website/sidebars.json b/website/sidebars.json index 14bf14afb28ccf..424f438e57f613 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -1,13 +1,13 @@ { "docs": { - "4D Language Concepts": + "4D Language Concepts": ["Concepts/about","Concepts/quick-tour", { "type": "subcategory", "label": "Data Types", "ids": [ "Concepts/data-types","Concepts/blob","Concepts/boolean","Concepts/collection","Concepts/date","Concepts/null-undefined", - "Concepts/number","Concepts/object","Concepts/picture","Concepts/pointer","Concepts/string","Concepts/time","Concepts/variant" + "Concepts/number","Concepts/object","Concepts/picture","Concepts/pointer","Concepts/string","Concepts/time","Concepts/variant" ] }, "Concepts/variables","Concepts/arrays","Concepts/methods","Concepts/parameters","Concepts/shared", @@ -15,15 +15,69 @@ "type": "subcategory", "label": "Control Flow", "ids": [ - "Concepts/control-flow","Concepts/branching","Concepts/looping" + "Concepts/control-flow","Concepts/branching","Concepts/looping" ] }, "Concepts/error-handling","Concepts/interpreted-compiled","Concepts/components","Concepts/plug-ins","Concepts/identifiers" ], "Project Databases":["Project/overview","Project/creating","Project/architecture","Project/developing","Project/building"], - "Forms":["FormEditor/objectLibrary","FormEditor/stylesheets"], + "Form Editor":["FormEditor/objectLibrary","FormEditor/stylesheets"], + "Form Objects":["FormObjects/formObjectsOverview", + "FormObjects/buttonOverview", + "FormObjects/buttonGridOverview", + "FormObjects/checkboxOverview", + "FormObjects/comboBoxOverview", + "FormObjects/dropdownListOverview", + "FormObjects/groupBox", + "FormObjects/inputOverview", + "FormObjects/listOverview", + "FormObjects/listboxOverview", + "FormObjects/pictureButtonOverview", + "FormObjects/picturePopupMenuOverview", + "FormObjects/pluginAreaOverview", + "FormObjects/progressIndicator", + "FormObjects/radiobuttonOverview", + "FormObjects/ruler", + "FormObjects/shapesOverview", + "FormObjects/spinner", + "FormObjects/splitters", + "FormObjects/staticPicture", + "FormObjects/stepper", + "FormObjects/subformOverview", + "FormObjects/tabControl", + "FormObjects/text", + "FormObjects/webAreaOverview", + "FormObjects/viewProAreaOverview", + "FormObjects/writeProAreaOverview"], + "Form Object Properties":["FormObjects/propertiesReference", + "FormObjects/propertiesAction", + "FormObjects/propertiesAnimation", + "FormObjects/propertiesAppearance", + "FormObjects/propertiesBackgroundAndBorder", + "FormObjects/propertiesCoordinatesAndSizing", + "FormObjects/propertiesCrop", + "FormObjects/propertiesDataSource", + "FormObjects/propertiesDisplay", + "FormObjects/propertiesEntry", + "FormObjects/propertiesFooters", + "FormObjects/propertiesGridlines", + "FormObjects/propertiesHeaders", + "FormObjects/propertiesHelp", + "FormObjects/propertiesHierarchy", + "FormObjects/propertiesListBox", + "FormObjects/propertiesObject", + "FormObjects/propertiesPicture", + "FormObjects/propertiesPlugIns", + "FormObjects/propertiesPrint", + "FormObjects/propertiesRangeOfValues", + "FormObjects/propertiesResizingOptions", + "FormObjects/propertiesScale", + "FormObjects/propertiesSubform", + "FormObjects/propertiesText", + "FormObjects/propertiesTextAndPicture", + "FormObjects/propertiesWebArea"], "Menus":["Menus/overview","Menus/creating","Menus/properties","Menus/bars","Menus/sdi"], "MSC":["MSC/overview","MSC/information","MSC/analysis","MSC/verify","MSC/backup","MSC/compact","MSC/rollback","MSC/restore","MSC/repair","MSC/encrypt"], "Backup and Restore":["Backup/overview","Backup/backup","Backup/settings","Backup/log","Backup/restore"] } -} \ No newline at end of file +} diff --git a/website/static/img/Circle.en.png b/website/static/img/Circle.en.png new file mode 100644 index 00000000000000..b46cfc1b186829 Binary files /dev/null and b/website/static/img/Circle.en.png differ diff --git a/website/static/img/ExploConstants.en.png b/website/static/img/ExploConstants.en.png new file mode 100644 index 00000000000000..b9f48b77d6c38d Binary files /dev/null and b/website/static/img/ExploConstants.en.png differ diff --git a/website/static/img/Hormove2.en.png b/website/static/img/Hormove2.en.png new file mode 100644 index 00000000000000..161551b6deeae4 Binary files /dev/null and b/website/static/img/Hormove2.en.png differ diff --git a/website/static/img/Horscaling.en.png b/website/static/img/Horscaling.en.png new file mode 100644 index 00000000000000..72827c0f8723a5 Binary files /dev/null and b/website/static/img/Horscaling.en.png differ diff --git a/website/static/img/Horscaling2.en.png b/website/static/img/Horscaling2.en.png new file mode 100644 index 00000000000000..5c8c55980b16a1 Binary files /dev/null and b/website/static/img/Horscaling2.en.png differ diff --git a/website/static/img/Jane_doe.en.png b/website/static/img/Jane_doe.en.png new file mode 100644 index 00000000000000..ee23fb8eab484c Binary files /dev/null and b/website/static/img/Jane_doe.en.png differ diff --git a/website/static/img/Syntax_Error.en.png b/website/static/img/Syntax_Error.en.png new file mode 100644 index 00000000000000..47ff9458fd3669 Binary files /dev/null and b/website/static/img/Syntax_Error.en.png differ diff --git a/website/static/img/bevelButton_propertyList.en.png b/website/static/img/bevelButton_propertyList.en.png new file mode 100644 index 00000000000000..213167e57b6c5a Binary files /dev/null and b/website/static/img/bevelButton_propertyList.en.png differ diff --git a/website/static/img/button_bevel.en.png b/website/static/img/button_bevel.en.png new file mode 100644 index 00000000000000..f51652021f387f Binary files /dev/null and b/website/static/img/button_bevel.en.png differ diff --git a/website/static/img/button_circle.en.png b/website/static/img/button_circle.en.png new file mode 100644 index 00000000000000..6055fc822384fa Binary files /dev/null and b/website/static/img/button_circle.en.png differ diff --git a/website/static/img/button_custom.en.png b/website/static/img/button_custom.en.png new file mode 100644 index 00000000000000..f6f992009597c4 Binary files /dev/null and b/website/static/img/button_custom.en.png differ diff --git a/website/static/img/button_help.en.png b/website/static/img/button_help.en.png new file mode 100644 index 00000000000000..a9bc87e514e36c Binary files /dev/null and b/website/static/img/button_help.en.png differ diff --git a/website/static/img/button_officexp.en.png b/website/static/img/button_officexp.en.png new file mode 100644 index 00000000000000..b03ff3bbd71363 Binary files /dev/null and b/website/static/img/button_officexp.en.png differ diff --git a/website/static/img/button_osxgradient.en.png b/website/static/img/button_osxgradient.en.png new file mode 100644 index 00000000000000..c667b5992fbe9d Binary files /dev/null and b/website/static/img/button_osxgradient.en.png differ diff --git a/website/static/img/button_osxtextured.en.png b/website/static/img/button_osxtextured.en.png new file mode 100644 index 00000000000000..ee0c81a9fb24bf Binary files /dev/null and b/website/static/img/button_osxtextured.en.png differ diff --git a/website/static/img/button_regular.en.png b/website/static/img/button_regular.en.png new file mode 100644 index 00000000000000..a3a84898b6f51e Binary files /dev/null and b/website/static/img/button_regular.en.png differ diff --git a/website/static/img/button_roundedbevel.en.png b/website/static/img/button_roundedbevel.en.png new file mode 100644 index 00000000000000..b13fdedccae2ff Binary files /dev/null and b/website/static/img/button_roundedbevel.en.png differ diff --git a/website/static/img/button_toolbar.en.png b/website/static/img/button_toolbar.en.png new file mode 100644 index 00000000000000..9f8ca7374dc4c1 Binary files /dev/null and b/website/static/img/button_toolbar.en.png differ diff --git a/website/static/img/concatHor.en.png b/website/static/img/concatHor.en.png new file mode 100644 index 00000000000000..24a828abc579b6 Binary files /dev/null and b/website/static/img/concatHor.en.png differ diff --git a/website/static/img/concatHor2.en.png b/website/static/img/concatHor2.en.png new file mode 100644 index 00000000000000..9f7c1068167feb Binary files /dev/null and b/website/static/img/concatHor2.en.png differ diff --git a/website/static/img/concatVer.en.png b/website/static/img/concatVer.en.png new file mode 100644 index 00000000000000..75ea5c7d0201eb Binary files /dev/null and b/website/static/img/concatVer.en.png differ diff --git a/website/static/img/concatVer2.en.png b/website/static/img/concatVer2.en.png new file mode 100644 index 00000000000000..c6ef8d3e4f7359 Binary files /dev/null and b/website/static/img/concatVer2.en.png differ diff --git a/website/static/img/defaultButtonWindows.en.png b/website/static/img/defaultButtonWindows.en.png new file mode 100644 index 00000000000000..e6c8983caf9779 Binary files /dev/null and b/website/static/img/defaultButtonWindows.en.png differ diff --git a/website/static/img/defaultButtonmacOS.en.png b/website/static/img/defaultButtonmacOS.en.png new file mode 100644 index 00000000000000..c0f9cd0a16af7c Binary files /dev/null and b/website/static/img/defaultButtonmacOS.en.png differ diff --git a/website/static/img/dynvar.en.png b/website/static/img/dynvar.en.png new file mode 100644 index 00000000000000..eb3a1dee45716b Binary files /dev/null and b/website/static/img/dynvar.en.png differ diff --git a/website/static/img/exportProj.png b/website/static/img/exportProj.png new file mode 100644 index 00000000000000..f4bf06c7b1009c Binary files /dev/null and b/website/static/img/exportProj.png differ diff --git a/website/static/img/exportProj2.png b/website/static/img/exportProj2.png new file mode 100644 index 00000000000000..292b9d061056d8 Binary files /dev/null and b/website/static/img/exportProj2.png differ diff --git a/website/static/img/exportProj3.png b/website/static/img/exportProj3.png new file mode 100644 index 00000000000000..24217a9a20af72 Binary files /dev/null and b/website/static/img/exportProj3.png differ diff --git a/website/static/img/favicon.ico b/website/static/img/favicon.ico new file mode 100644 index 00000000000000..be74abd69ad6a3 Binary files /dev/null and b/website/static/img/favicon.ico differ diff --git a/website/static/img/helloworld.png b/website/static/img/helloworld.png new file mode 100644 index 00000000000000..37eae7a6e2c516 Binary files /dev/null and b/website/static/img/helloworld.png differ diff --git a/website/static/img/helpButton.en.png b/website/static/img/helpButton.en.png new file mode 100644 index 00000000000000..5601e3afd8e4b8 Binary files /dev/null and b/website/static/img/helpButton.en.png differ diff --git a/website/static/img/helpButton_propertyList.en.png b/website/static/img/helpButton_propertyList.en.png new file mode 100644 index 00000000000000..efa5c6db9f6539 Binary files /dev/null and b/website/static/img/helpButton_propertyList.en.png differ diff --git a/website/static/img/hormove.en.png b/website/static/img/hormove.en.png new file mode 100644 index 00000000000000..e57a49d7425b56 Binary files /dev/null and b/website/static/img/hormove.en.png differ diff --git a/website/static/img/lockicon.png b/website/static/img/lockicon.png new file mode 100644 index 00000000000000..f16b70a03bae3c Binary files /dev/null and b/website/static/img/lockicon.png differ diff --git a/website/static/img/missingpict.en.png b/website/static/img/missingpict.en.png new file mode 100644 index 00000000000000..82d5e38d8b2934 Binary files /dev/null and b/website/static/img/missingpict.en.png differ diff --git a/website/static/img/missingpict1.en.png b/website/static/img/missingpict1.en.png new file mode 100644 index 00000000000000..d50f3e157fbe89 Binary files /dev/null and b/website/static/img/missingpict1.en.png differ diff --git a/website/static/img/officeXPButton_propertyList.en.png b/website/static/img/officeXPButton_propertyList.en.png new file mode 100644 index 00000000000000..2184857ffb5a5e Binary files /dev/null and b/website/static/img/officeXPButton_propertyList.en.png differ diff --git a/website/static/img/osGradientButton_propertyList.en.png b/website/static/img/osGradientButton_propertyList.en.png new file mode 100644 index 00000000000000..c99e85d9aa6c89 Binary files /dev/null and b/website/static/img/osGradientButton_propertyList.en.png differ diff --git a/website/static/img/osTexturedButton_propertyList.en.png b/website/static/img/osTexturedButton_propertyList.en.png new file mode 100644 index 00000000000000..5056bcfcd6c3ba Binary files /dev/null and b/website/static/img/osTexturedButton_propertyList.en.png differ diff --git a/website/static/img/pict516563.en.png b/website/static/img/pict516563.en.png new file mode 100644 index 00000000000000..fc9ffa07f2ebf7 Binary files /dev/null and b/website/static/img/pict516563.en.png differ diff --git a/website/static/img/project-create1.png b/website/static/img/project-create1.png new file mode 100644 index 00000000000000..4967a05a3c2377 Binary files /dev/null and b/website/static/img/project-create1.png differ diff --git a/website/static/img/project1.png b/website/static/img/project1.png new file mode 100644 index 00000000000000..e98b8d8b8e3eb2 Binary files /dev/null and b/website/static/img/project1.png differ diff --git a/website/static/img/projectCreate2.png b/website/static/img/projectCreate2.png new file mode 100644 index 00000000000000..300f99aa414aea Binary files /dev/null and b/website/static/img/projectCreate2.png differ diff --git a/website/static/img/projectReload.png b/website/static/img/projectReload.png new file mode 100644 index 00000000000000..6f07a37ffc4012 Binary files /dev/null and b/website/static/img/projectReload.png differ diff --git a/website/static/img/rectangle.en.png b/website/static/img/rectangle.en.png new file mode 100644 index 00000000000000..bd89a801ed5304 Binary files /dev/null and b/website/static/img/rectangle.en.png differ diff --git a/website/static/img/regularButton.en.png b/website/static/img/regularButton.en.png new file mode 100644 index 00000000000000..083c446c0db5d1 Binary files /dev/null and b/website/static/img/regularButton.en.png differ diff --git a/website/static/img/regularButtonHover.en.png b/website/static/img/regularButtonHover.en.png new file mode 100644 index 00000000000000..da2e910f7d486f Binary files /dev/null and b/website/static/img/regularButtonHover.en.png differ diff --git a/website/static/img/regularButton_clicked.en.png b/website/static/img/regularButton_clicked.en.png new file mode 100644 index 00000000000000..84f8603adfa584 Binary files /dev/null and b/website/static/img/regularButton_clicked.en.png differ diff --git a/website/static/img/regularButton_propertyList.en.png b/website/static/img/regularButton_propertyList.en.png new file mode 100644 index 00000000000000..4e8d70399fb0bb Binary files /dev/null and b/website/static/img/regularButton_propertyList.en.png differ diff --git a/website/static/img/resisze2.en.png b/website/static/img/resisze2.en.png new file mode 100644 index 00000000000000..d6772fa57f57b4 Binary files /dev/null and b/website/static/img/resisze2.en.png differ diff --git a/website/static/img/resize.en.png b/website/static/img/resize.en.png new file mode 100644 index 00000000000000..c212f74998c4fc Binary files /dev/null and b/website/static/img/resize.en.png differ diff --git a/website/static/img/roundedBevelButton_propertyList.en.png b/website/static/img/roundedBevelButton_propertyList.en.png new file mode 100644 index 00000000000000..beb87fb4336be3 Binary files /dev/null and b/website/static/img/roundedBevelButton_propertyList.en.png differ diff --git a/website/static/img/shortcut.png b/website/static/img/shortcut.png new file mode 100644 index 00000000000000..cfac91f65444ba Binary files /dev/null and b/website/static/img/shortcut.png differ diff --git a/website/static/img/superimpoExc.fr.png b/website/static/img/superimpoExc.fr.png new file mode 100644 index 00000000000000..955426e6839540 Binary files /dev/null and b/website/static/img/superimpoExc.fr.png differ diff --git a/website/static/img/superimpoInc.fr.png b/website/static/img/superimpoInc.fr.png new file mode 100644 index 00000000000000..b48388264e7d08 Binary files /dev/null and b/website/static/img/superimpoInc.fr.png differ diff --git a/website/static/img/toolbarButton.en.png b/website/static/img/toolbarButton.en.png new file mode 100644 index 00000000000000..e53d3861794409 Binary files /dev/null and b/website/static/img/toolbarButton.en.png differ diff --git a/website/static/img/toolbarButtonHover_Windows.en.png b/website/static/img/toolbarButtonHover_Windows.en.png new file mode 100644 index 00000000000000..57cbe78eb18d8c Binary files /dev/null and b/website/static/img/toolbarButtonHover_Windows.en.png differ diff --git a/website/static/img/toolbarButtonHover_Windows_popup.en.png b/website/static/img/toolbarButtonHover_Windows_popup.en.png new file mode 100644 index 00000000000000..ab2ce11d100b90 Binary files /dev/null and b/website/static/img/toolbarButtonHover_Windows_popup.en.png differ diff --git a/website/static/img/toolbarButton_propertyList.en.png b/website/static/img/toolbarButton_propertyList.en.png new file mode 100644 index 00000000000000..ab21d46bc079c9 Binary files /dev/null and b/website/static/img/toolbarButton_propertyList.en.png differ diff --git a/website/static/img/undraw_code_review.svg b/website/static/img/undraw_code_review.svg new file mode 100644 index 00000000000000..d26ce4974cfd02 --- /dev/null +++ b/website/static/img/undraw_code_review.svg @@ -0,0 +1 @@ +code review diff --git a/website/static/img/undraw_monitor.svg b/website/static/img/undraw_monitor.svg new file mode 100644 index 00000000000000..672475fe767156 --- /dev/null +++ b/website/static/img/undraw_monitor.svg @@ -0,0 +1 @@ +monitor diff --git a/website/static/img/undraw_note_list.svg b/website/static/img/undraw_note_list.svg new file mode 100644 index 00000000000000..c343a834747ea4 --- /dev/null +++ b/website/static/img/undraw_note_list.svg @@ -0,0 +1 @@ +note list diff --git a/website/static/img/undraw_online.svg b/website/static/img/undraw_online.svg new file mode 100644 index 00000000000000..03cff45f7be9b9 --- /dev/null +++ b/website/static/img/undraw_online.svg @@ -0,0 +1 @@ +online diff --git a/website/static/img/undraw_open_source.svg b/website/static/img/undraw_open_source.svg new file mode 100644 index 00000000000000..97c0508e6c9714 --- /dev/null +++ b/website/static/img/undraw_open_source.svg @@ -0,0 +1 @@ +open source diff --git a/website/static/img/undraw_operating_system.svg b/website/static/img/undraw_operating_system.svg new file mode 100644 index 00000000000000..3a01fa43f6c436 --- /dev/null +++ b/website/static/img/undraw_operating_system.svg @@ -0,0 +1 @@ +operating system diff --git a/website/static/img/undraw_react.svg b/website/static/img/undraw_react.svg new file mode 100644 index 00000000000000..9b5fb205634700 --- /dev/null +++ b/website/static/img/undraw_react.svg @@ -0,0 +1 @@ +react diff --git a/website/static/img/undraw_tweetstorm.svg b/website/static/img/undraw_tweetstorm.svg new file mode 100644 index 00000000000000..01a4c9a2f80b91 --- /dev/null +++ b/website/static/img/undraw_tweetstorm.svg @@ -0,0 +1 @@ +tweetstorm diff --git a/website/static/img/undraw_youtube_tutorial.svg b/website/static/img/undraw_youtube_tutorial.svg new file mode 100644 index 00000000000000..a62bb0c75c93f1 --- /dev/null +++ b/website/static/img/undraw_youtube_tutorial.svg @@ -0,0 +1 @@ +youtube tutorial diff --git a/website/static/img/vertmove.en.png b/website/static/img/vertmove.en.png new file mode 100644 index 00000000000000..110b10df95f0e6 Binary files /dev/null and b/website/static/img/vertmove.en.png differ diff --git a/website/static/img/vertmove2.en.png b/website/static/img/vertmove2.en.png new file mode 100644 index 00000000000000..bf1a1238d81fd9 Binary files /dev/null and b/website/static/img/vertmove2.en.png differ diff --git a/website/static/img/vertscaling.en.png b/website/static/img/vertscaling.en.png new file mode 100644 index 00000000000000..7e9eeb104ab41b Binary files /dev/null and b/website/static/img/vertscaling.en.png differ diff --git a/website/static/img/veticalscaling2.en.png b/website/static/img/veticalscaling2.en.png new file mode 100644 index 00000000000000..6b1ac12794c00e Binary files /dev/null and b/website/static/img/veticalscaling2.en.png differ diff --git a/website/translated_docs/de/FormObjects/buttonGrid_overview.md b/website/translated_docs/de/FormObjects/buttonGrid_overview.md new file mode 100644 index 00000000000000..be25d6a1f87c8a --- /dev/null +++ b/website/translated_docs/de/FormObjects/buttonGrid_overview.md @@ -0,0 +1,35 @@ +--- +id: buttonGridOverview +title: Button Grid +--- + +## Overview + +A button grid is a transparent object that is placed on top of a graphic. The graphic should depict a row-by-column array. When one of the graphics is clicked on, it will have a sunken or pressed appearance: + +![](assets/en/FormObjects/buttonGrid_smileys.png) + +You can use a button grid object to determine where the user clicks on the graphic. The object method would use the `On Clicked` event and take appropriate action depending on the location of the click. + + +## Creating button grids + +To create the button grid, add a background graphic to the form and place a button grid on top of it. Specify the number of [rows](properties_Crop.md#rows) and [columns](properties_Crop.md#columns). + +In 4D, a button grid is used as a color palette: + +![](assets/en/FormObjects/button_buttonGrid.png) + +## Using button grids + +The buttons on the grid are numbered from top left to bottom right. In the above example, the grid is 16 columns across by 16 rows down. The button in the top-left position returns 1 when clicked. If the red button at the far right of the second row is selected, the button grid returns 32. If no element is selected, the value is 0 + + +### Goto page + +You can assign the `gotoPage` [standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) to a button grid. When this action is selected, 4D will automatically display the page of the form that corresponds to the number of the button that is selected in the button grid. For example, if the user selects the tenth button of the grid, 4D will display the tenth page of the current form (if it exists). + + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Standard action](properties_Action.md#standard-action) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Width](properties_CoordinatesAndSizing.md#width) - [Visibility](properties_Display.md#visibility) \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/button_overview.md b/website/translated_docs/de/FormObjects/button_overview.md new file mode 100644 index 00000000000000..72ed394a8facba --- /dev/null +++ b/website/translated_docs/de/FormObjects/button_overview.md @@ -0,0 +1,366 @@ +--- +id: buttonOverview +title: Button +--- + +A button is an active object that can be assigned an action (*e.g.*, a database task or an interface function) to perform when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +Buttons can fulfill a variety of roles, depending on their style and the action assigned to it. For example, buttons could lead a user through a questionnaire or form to complete, or to make choices. Depending on its settings, a button may be designed to be clicked only once and execute a command, while others may require the user to click more than once to receive the desired result. + +

    + +## Handling buttons + +The actions assigned to buttons can originate from predefined [standard actions](properties_Action.md#standard-action) or from custom object methods. Examples of typical actions include letting the user accept, cancel, or delete records, copy or paste data, move from page to page in a multi-page form, open, delete, or add records in a subform, handle font attributes in text areas, etc. + +Buttons with standard actions are dimmed when appropriate during form execution. For example, if the first record of a table is displayed, a button with the `firstRecord` standard action would appear dimmed. + +If you want a button to perform an action that's not available as a standard action, leave the standard action field empty and write an object method to specify the button’s action. For more information about object methods and how to create and associate them, see [Using object methods](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-object-methods.300-4163733.en.html). Normally, you would activate the `On Clicked` event and the method would run only when the button is clicked. You can associate a method with any button. + +The [variable](properties_Object.md#variable-or-expression) associated with a button is automatically set to **0** when the form is executed for the first time in Design or Application mode. When the user clicks a button, its variable is set to **1**. + +> A button can be assigned both a standard action and a method. In this case, if the button is not disabled by the standard action, the method is executed before the standard action. + + + +## Button Styles + +Button styles control a button's general appearance as well as its available properties. It is possible to apply different predefined styles to buttons or to associate pop-up menus with them. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many button objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides buttons in the following predefined styles: + + + +### Regular + +The Regular button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +By default, the Regular style has a light gray background with a label in the center. When the cursor hovers over the Regular button style, the border and background color change to demonstrate that it has the focus. In addition to initiating code execution, the Regular button style mimics a mechanical button by quickly changing background color when being clicked. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", //define the type of object + "style":"regular", //define the style of the button + "defaultButton":"true" //define button as the default choice + "text": "OK", //text to appear on the button + "action": "Cancel", //action to be be performed + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the button + "height": 20 //height of the button + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + + +### Flat + +The Flat button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_flat.png) + +By default, the Flat style has a white background with a label in the center, rounded corners, and a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + +#### JSON Example: + +```code4d + + "myButton": { + "type": "button", + "style":"flat", + "defaultButton":"true" + "text": "OK", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + +### Toolbar + +The Toolbar button style is primarily intended for integration in a toolbar. It includes the option to add a pop-up menu (indicated by an inverted triangle) which is generally used to display additional choices for the user to select. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted when it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_toolbar.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"toolbar", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel button style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive label) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_bevel.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"bevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Rounded Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + + ![](assets/en/FormObjects/button_roundedbevel.png) + + - *macOS* - the corners of the button are rounded. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"roundedBevel", + "text": "OK", + "popupPlacement":"none" / + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Gradient style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_osxgradient.png) + + - *macOS* - the button is displayed as a two-tone system button. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"gradientBevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### OS X Textured + +The OS X Textured button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light gray background with a label in the center. It has the special feature of being transparent in Vista. + + ![](assets/en/FormObjects/button_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"texturedBevel", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's transparency and pop-up menu property option. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + +![](assets/en/FormObjects/button_officexp.png) + + - *macOS* - its background is always displayed. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"office", + "text": "OK", + "popupPlacement":"none" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Help + + +The Help button style can be used to display a standard system help button. By default, the Help style is displayed as a question mark within a circle. + +![](assets/en/FormObjects/button_help.png) + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"help", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + +> The Help style does not support [Number of States](properties_TextAndPicture.md#number-of-states), [Picture pathname](properties_TextAndPicture.md#picture-pathname), and [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) basic properties. + + +### Circle + +The Circle button style appears as a round system button. This button style is designed for macOS. + +![](assets/en/FormObjects/button_circleM.png) + +On Windows, it is identical to the “None” style (the circle in the background is not taken into account). + + +#### JSON Example: + +``` + "myButton": { + "type": "button", + "style":"circular", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Custom + +The Custom button style accepts a personalized background picture and allows managing additional parameters such as icon and margin offset. + +![](assets/en/FormObjects/button_custom.png) + + +#### JSON Example: + +```code + "myButton": { + "type": "button", + "style":"custom", + "text": "", + "customBackgroundPicture": "/RESOURCES/bkgnd.png", + "icon": "/RESOURCES/custom.png", + "textPlacement": "center", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +## Supported Properties + +All buttons share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Not rendered](properties_Display.md#not-rendered) - [Number of States](properties_TextAndPicture.md#number-of-states)(1) - [Object Name](properties_Object.md#object-name) - [Picture pathname](properties_TextAndPicture.md#picture-pathname)(1) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position)(1) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +> (1) Not supported by the [Help](#help) style. + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Default Button](properties_Appearance.md#default-button) (Flat, Regular) +- [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) - [With pop-up menu](properties_TextAndPicture.md#with-popup-menu) (Toolbar, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Circle, Custom) + diff --git a/website/translated_docs/de/FormObjects/checkbox_overview.md b/website/translated_docs/de/FormObjects/checkbox_overview.md new file mode 100644 index 00000000000000..884bef346fc62c --- /dev/null +++ b/website/translated_docs/de/FormObjects/checkbox_overview.md @@ -0,0 +1,420 @@ +--- +id: checkboxOverview +title: Check Box +--- + +## Overview + +A check box is a type of button used to enter or display binary (true-false) data. Basically, it is either checked or unchecked, but a third state can be defined (see below). + +![](assets/en/FormObjects/checkbox.png) + +Check boxes are controlled by methods. Like all buttons, a check box variable is set to 0 when the form is first opened. The method associated with it executes when the check box is selected. + +A check box displays text next to a small square. This text is set in the [Title](properties_Object.md#title) property of the check box. You can enter a title in the form of an XLIFF reference in this area (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + + +## Using check boxes + +A check box can be associated to a [variable or expression](properties_Object.md#variable-or-expression) of type integer or boolean. + +- **integer:** if the box is checked, the variable has the value 1. When not checked, it has the value 0. If check box is in third state (see below), it has the value 2. +- **boolean:** if the box is checked, the variable has the value `True`. When not checked, it has the value `False`. + +Any or all check boxes in a form can be checked or unchecked. A group of check boxes allows the user to select multiple options. + + +### Three-States check box + +Check box objects with style [Regular](checkbox_overview.md#regular) and [Flat](checkbox_overview.md#flat) accept a third state. This third state is an intermediate status, which is generally used for display purposes. For example, it allows indicating that a property is present in a selection of objects, but not in each object of the selection. + +![](assets/en/FormObjects/checkbox_3states.png) + +To enable this third state, you must select the [Three-States](properties_Display.md#three-states) property. + +This property is only available for regular and flat check boxes associated with numeric [variables or expressions](properties_Object.md#variable-or-expression) — check boxes for Boolean expressions cannot use the [Three-States](properties_Display.md#three-states) property (a Boolean expression cannot be in an intermediary state). + +The variable associated with the check box returns the value 2 when the check box is in the third state. +> In entry mode, the Three-States check boxes display each state sequentially, in the following order: unchecked / checked / intermediary / unchecked, etc. The intermediary state is generally not very useful in entry mode; in the code, simply force the value of the variable to 0 when it takes the value of 2 in order to pass directly from the checked state to the unchecked state. + + +## Using a standard action + +You can assign a [standard action](properties_Action.md#standard-action) to a check box to handle attributes of text areas. For example, if you assign the `fontBold` standard action, at runtime the check box will manage the "bold" attribute of the selected text in the current area. + +Only actions that can represent a true/false status ("checkable" actions) are supported by this object: + +| Supported actions | Usage condition (if any) | +| ----------------------------------- | ------------------------ | +| avoidPageBreakInsideEnabled | 4D Write Pro areas only | +| fontItalic | | +| fontBold | | +| fontLinethrough | | +| fontSubscript | 4D Write Pro areas only | +| fontSuperscript | 4D Write Pro areas only | +| fontUnderline | | +| font/showDialog | Mac only | +| htmlWYSIWIGEnabled | 4D Write Pro areas only | +| section/differentFirstPage | 4D Write Pro areas only | +| section/differentLeftRightPages | 4D Write Pro areas only | +| spell/autoCorrectionEnabled | | +| spell/autoDashSubstitutionsEnabled | Mac only | +| spell/autoLanguageEnabled | Mac only | +| spell/autoQuoteSubstitutionsEnabled | Mac only | +| spell/autoSubstitutionsEnabled | | +| spell/enabled | | +| spell/grammarEnabled | Mac only | +| spell/showDialog | Mac only | +| spell/visibleSubstitutions | | +| visibleBackground | 4D Write Pro areas only | +| visibleFooters | 4D Write Pro areas only | +| visibleHeaders | 4D Write Pro areas only | +| visibleHiddenChars | 4D Write Pro areas only | +| visibleHorizontalRuler | 4D Write Pro areas only | +| visiblePageFrames | 4D Write Pro areas only | +| visibleReferences | | +| widowAndOrphanControlEnabled | 4D Write Pro areas only | + +For detailed information on these actions, please refer to the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section. + +## Check box button styles + +Check box styles control a check box's general appearance as well as its available properties. It is possible to apply different predefined styles to check boxes. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many check box objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides check boxes in the following predefined styles: + +### Regular + +The Regular check box style is a standard system check box (*i.e.*, a rectangle with a descriptive title): + +![](assets/en/FormObjects/checkbox_regular.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"regular", + "text": "Cancel", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + "dataSourceTypeHint":"boolean" + } +``` + + + +### Flat + +The Flat check box style is a minimalist appearance. The Flat style's graphic nature is particularly useful for forms that will be printed. + +![](assets/en/FormObjects/checkbox_flat.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"flat", + "text": "Cancel", + "action": "cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Toolbar button + +The Toolbar button check box style is primarily intended for integration in a toolbar. + +The Toolbar style has a transparent background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_toolbar.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"toolbar", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel check box style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive title) style with the [Toolbar](#toolbar) style's behavior. + +The Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_bevel.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"bevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The Rounded Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example on macOS: + + ![](assets/en/FormObjects/checkbox_roundedbevel_mac.png) + +> on Windows, the Rounded Bevel style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +```code4d + "myCheckBox": { + "type": "checkbox", + "style":"roundedBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The OS X Gradient style has a light gray background with a title and is displayed as a two-tone system button on macOS. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + + ![](assets/en/FormObjects/checkbox_osxgradient_mac.png) + +> On Windows, this style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"gradientBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### OS X Textured + +The OS X Textured checkbox style is similar to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light blue background with a title in the center. + + ![](assets/en/FormObjects/checkbox_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/checkbox_osxtextured_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"texturedBevel", + "text": "Checkbox", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### Office XP + +The Office XP check box style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. Example with states unchecked / checked / highlighted: + + ![](assets/en/FormObjects/checkbox_officexp.png) + + - *macOS* - its background is always displayed. Example with states unchecked / checked: + + ![](assets/en/FormObjects/checkbox_officexp_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"office", + "text": "Checkbox", + "action": "fontBold", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Collapse / Expand + +This check box style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. + + - *Windows* - the button looks like a [+] or a [-] + + ![](assets/en/FormObjects/checkbox_collapse.png) + + - *macOS* - it looks like a triangle pointing right or down. + + ![](assets/en/FormObjects/checkbox_collapse_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"disclosure", + "method": "m_collapse", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Disclosure Button + +In macOS and Windows, a check box with the "Disclosure" style appears as a standard disclosure button, usually used to show/hide additional information. When used as a radio button, the button symbol points downwards with value 0 and upwards with value 1. + + - *Windows* + + ![](assets/en/FormObjects/checkbox_disclosure.png) + + - *macOS* + + ![](assets/en/FormObjects/checkbox_disclosure_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"roundedDisclosure", + "method": "m_disclose", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### Custom + +The Custom check box style accepts a personalized background picture and allows managing specific properties: + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) +- [Icon Offset](properties_TextAndPicture.md#icon-offset) +- [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) and [Vertical Margin](properties_TextAndPicture.md#verticalMargin) + +It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states), that can be used in conjunction with a [4-state](properties_TextAndPicture.md#number-of-states) [background picture](properties_TextAndPicture.md#backgroundPathname). + +#### JSON Example: + +``` + "myCheckbox": { + "type": "checkbox", + "style":"custom", + "text": "OK", + "icon": "/RESOURCES/smiley.jpg", + "iconFrame": 4, + "customBackgroundPicture": "/RESOURCES/paper.jpg", + "iconOffset": 5, //custom icon offset when clicked + "left": 60, + "top": 160, + "width": 100, + "height": 20, + "customBorderX": 20, + "customBorderY": 5 + } +``` + + + + +## Supported Properties + +All check boxes share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Three-States](properties_Display.md#three-states) (Flat, Regular) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/input_overview.md b/website/translated_docs/de/FormObjects/input_overview.md new file mode 100644 index 00000000000000..8fdbe26769cda5 --- /dev/null +++ b/website/translated_docs/de/FormObjects/input_overview.md @@ -0,0 +1,44 @@ +--- +id: inputOverview +title: Input +--- + +## Overview + +Inputs allow you to add enterable or non-enterable expressions such as database [fields](Concepts/identifiers.md#fields) and [variables](Concepts/variables.md) to your forms. Inputs can handle character-based data (text, dates, numbers...) or pictures: + +![](assets/en/FormObjects/input.png) + +Inputs can contain [assignable or non-assignable expressions](Concepts/quick-tour.md#assignable-vs-non-assignable-expressions). + +In addition, inputs can be [enterable or non-enterable](properties_Entry.md#enterable). An enterable input accepts data. You can set data entry controls for the object. A non-enterable input can only display values but cannot be edited by the user. + +You can manage the data with object or form [methods](Concepts/methods.md). + + +### JSON Example: + +```code4d + "myText": { + "type": "input", //define the type of object + "spellcheck": true, //enable spelling verification + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20 //height of the object + } +``` + + +## Supported Properties +[Alpha Format](properties_Display.md#alpha-format) - [Auto Spellcheck](properties_Entry.md#auto-spellcheck) - [Border Line Style](properties_BackgroundAndBorder.md) - [Bold](properties_Text.md#bold) - [Boolean Format](properties_Display.md#boolean-format) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#class) - [Context Menu](properties_Entry.md#context-menu) - [Date Format](properties_Display.md#date-format) - [Default value](properties_RangeOfValues.md#default-value) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression type](properties_Object.md#expression-type) - [Fill Color](properties_BackgroundAndBorder.md#fill-color) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Multiline](properties_Entry.md#multiline) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Orientation](properties_Text.md#orientation) - [Picture Format](properties_Display.md#picture-format) - [Placeholder](properties_Entry.md#placeholder) - [Print Frame](properties_Print.md#print-frame) - [Required List](properties_RangeOfValues.md#required-list) - [Right](properties_CoordinatesAndSizing.md#right) - [Save as](properties_DataSource.md#save-as) - [Selection always visible](properties_Entry.md#selection-always-visible) - [Store with default style tags](properties_Text.md#store-with-default-style-tags) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - \[Vertical Sizing\](properties_ResizingOptions.md#vertical -sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +--- +## Input alternatives + +You can also represent field and variable expressions in your forms using alternative objects, more particularly: + +* You can display and enter data from database fields directly in columns of [selection type List boxes](listbox_overview.md). +* You can represent a list field or variable directly in a form using [Pop-up Menus/Drop-down Lists](popupMenuDropdownList_overview) and [Combo Boxes](comboBox_overview.md) objects. +* You can represent a boolean expression as a [check box](checkbox_overview.md) or as a [radio button](radio_overview.md) object. \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/listbox_overview.md b/website/translated_docs/de/FormObjects/listbox_overview.md new file mode 100644 index 00000000000000..b0b03aa4b57015 --- /dev/null +++ b/website/translated_docs/de/FormObjects/listbox_overview.md @@ -0,0 +1,1089 @@ +--- +id: listboxOverview +title: List Box +--- + +## Overview + +List boxes are complex active objects that allow displaying and entering data as synchronized columns. They can be bound to database contents such as entity selections and record sections, or to any language contents such as collections and arrays. They include advanced features regarding data entry, column sorting, event managemet, customized appearance, moving of columns, etc. + +![](assets/en/FormObjects/listbox.png) + +A list box contains one or more columns whose contents are automatically synchronized. The number of columns is, in theory, unlimited (it depends on the machine resources). + +### Basic user features + +During execution, list boxes allow displaying and entering data as lists. To make a cell editable ([if entry is allowed for the column](#managing-entry)), simply click twice on the value that it contains: + +![](assets/en/FormObjects/listbox_edit.png) + +Users can enter and display the text on several lines within a list box cell. To add a line break, press **Ctrl+Carriage return** on Windows or **Option+Carriage return** on macOS. + +Booleans and pictures can be displayed in cells, as well as dates, times, or numbers. It is possible to sort column values by clicking on a header ([standard sort](#managing-sorts)). All columns are automatically synchronized. + +It is also possible to resize each column, and the user can modify the order of [columns](properties_ListBox.md#locked-columns-and-static-columns) and [rows](properties_Action.md#movable-rows) by moving them using the mouse, if this action is authorized. Note that list boxes can be used in [hierarchical mode](#hierarchical-list-boxes). + +The user can select one or more rows using the standard shortcuts: **Shift+click** for an adjacent selection and **Ctrl+click** (Windows) or **Command+click** (macOS) for a non-adjacent selection. + + +### List box parts + +A list box is composed of four distinct parts: + +* the list box object in its entirety, +* columns, +* column headers, and +* column footers. + +![](assets/en/FormObjects/listbox_parts.png) + +Each part has its own name as well as specific properties. For example, the number of columns or the alternating color of each row is set in the list box object properties, the width of each column is set in the column properties, and the font of the header is set in the header properties. + +It is possible to add an object method to the list box object and/or to each column of the list box. Object methods are called in the following order: + +1. Object method of each column +2. Object method of the list box + +The column object method gets events that occur in its [header](#list-box-headers) and [footer](#list-box-footers). + + + +### List box types + +There are several types of list boxes, with their own specific behaviors and properties. The list box type depends on its [Data Source property](properties_Object.md#data-source): + +- **Arrays**: each column is bound to a 4D array. Array-based list boxes can be displayed as [hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes). +- **Selection** (**Current selection** or **Named selection**): each column is bound to an expression (e.g. a field) which is evaluated for every record of the selection. +- **Collection or Entity selection**: each column is bound to an expression which is evaluated for every element of the collection or every entity of the entity selection. +> It is not possible to combine different list box types in the same list box object. The data source is set when the list box is created. It is then no longer possible to modify it by programming. + + +### Managing list boxes + +You can completely configure a list box object through its properties, and you can also manage it dynamically through programming. + +The 4D Language includes a dedicated "List Box" theme for list box commands, but commands from various other themes, such as "Object properties" commands or `EDIT ITEM`, `Displayed line number` commands can also be used. Refer to the [List Box Commands Summary](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box-Commands-Summary.300-4311159.en.html) page of the *4D Language reference* for more information. + + + +## List box objects + +### Array list boxes + +In an array list box, each column must be associated with a one-dimensional 4D array; all array types can be used, with the exception of pointer arrays. The number of rows is based on the number of array elements. + +By default, 4D assigns the name “ColumnX” to each column variable, and thus to each associated array. You can change it, as well as other column properties, in the [column properties](listbox_overview.md#column-specific-properties). The display format for each column can also be defined using the `OBJECT SET FORMAT` command +> Array type list boxes can be displayed in [hierarchical mode](listbox_overview.md#hierarchical-list-boxes), with specific mechanisms. + +With array type list box, the values entered or displayed are managed using the 4D language. You can also associate a [choice list](properties_DataSource.md#choice-list) with a column in order to control data entry. The values of columns are managed using high-level List box commands (such as `LISTBOX INSERT ROWS` or `LISTBOX DELETE ROWS`) as well as array manipulation commands. For example, to initialize the contents of a column, you can use the following instruction: + +```code4d +ARRAY TEXT(ColumnName;size) +``` + +You can also use a list: + +```code4d +LIST TO ARRAY("ListName";ColumnName) +``` +> **Warning**: When a list box contains several columns of different sizes, only the number of items of the smallest array (column) will be displayed. You should make sure that each array has the same number of elements as the others. Also, if a list box column is empty (this occurs when the associated array was not correctly declared or sized using the language), the list box displays nothing. + + + + +### Selection list boxes + +In this type of list box, each column can be associated with a field (for example `[Employees]LastName)` or an expression. The expression can be based on one or more fields (for example, `[Employees]FirstName+" "[Employees]LastName`) or it may simply be a formula (for example `String(Milliseconds)`). The expression can also be a project method, a variable or an array item. You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +The contents of each row is then evaluated according to a selection of records: the **current selection** of a table or a **named selection**. + +In the case of a list box based on the current selection of a table, any modification done from the database side is automatically reflected in the list box, and vice versa. The current selection is therefore always the same in both places. + + +### Collection or Entity selection list boxes + +In this type of list box, each column must be associated to an expression. The contents of each row is then evaluated per collection element or per entity of the entity selection. + +Each element of the collection or each entity is available as an object that can be accessed through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. A column expression can be a project method, a variable, or any formula, accessing each entity or collection element object through `This`, for example `This.` (or `This.value` in case of a collection of scalar values). You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +When the data source is an entity selection, any modifications made on the list box side are automatically saved in the database. On the other hand, modifications made on the database side are visible in the list box after touched entities have been reloaded. + +When the data source is a collection, any modifications made in the list box values are reflected in the collection. On the other hand, if modifications are done on the collection using for example the various methods of the *Collections* theme, you will need to explicitely notify 4D by reassigning the collection variable to itself, so that the list box contents is refreshed. For example: + +```code4d +myCol:=myCol.push("new value") //display new value in list box +``` + + + +### Supported Properties + +Supported properties depend on the list box type. + + +| Property | Array list box | Selection list box | Collection or Entity Selection list box | +| -------------------------------------------------------------------------------------------- | -------------- | ------------------ | --------------------------------------- | +| [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) | X | X | X | +| [Background Color](properties_BackgroundAndBorder.md#background-color) | X | X | X | +| [Bold](properties_Text.md#bold) | X | X | X | +| [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) | | X | X | +| [Border Line Style](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) | X | X | X | +| [Bottom](properties_CoordinatesAndSizing.md#bottom) | X | X | X | +| [Class](properties_Object.md#class) | X | X | X | +| [Collection or entity selection](properties_Object.md#collection-or-entity-selection) | | X | X | +| [Column Auto-Resizing](properties_ResizingOptions.md#column-auto-resizing) | X | X | X | +| [Current item](properties_DataSource.md#current-item) | | | X | +| [Current item position](properties_DataSource.md#current-item-position) | | | X | +| [Data Source](properties_Object.md#data-source) | X | X | X | +| [Detail Form Name](properties_ListBox.md#detail-form-name) | | X | | +| [Display Headers](properties_Headers.md#display-headers) | X | X | X | +| [Display Footers](properties_Footers.md#display-footers) | X | X | X | +| [Double-click on row](properties_ListBox.md#double-click-on-row) | | X | | +| [Draggable](properties_Action.md#droppable) | X | X | X | +| [Droppable](properties_Action.md#droppable) | X | X | X | +| [Focusable](properties_Entry.md#focusable) | X | X | X | +| [Font](properties_Text.md#font) | X | X | X | +| [Font Color](properties_Text.md#font_color) | X | X | X | +| [Font Color Expression](properties_Text.md#font-color-expression) | | X | X | +| [Font Size](properties_Text.md#font-size) | X | X | X | +| [Height (list box)](properties_CoordinatesAndSizing.md#height) | X | X | X | +| [Height (headers)](properties_Headers.md#height) | X | X | X | +| [Height (footers)](properties_Footers.md#height) | X | X | X | +| [Hide extra blank rows](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | X | X | X | +| [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) | X | X | X | +| [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) | X | X | X | +| [Hierarchical List Box](properties_Object.md#hierarchical-list-box) | X | | | +| [Highlight Set](properties_ListBox.md#highlight-set) | | X | | +| [Horizontal Alignment](properties_Text.md#horizontal-alignment) | X | X | X | +| [Horizontal Line Color](properties_Gridlines.md#horizontal-line-color) | X | X | X | +| [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) | X | X | X | +| [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) | X | X | X | +| [Italic](properties_Text.md#italic) | X | X | X | +| [Left](properties_CoordinatesAndSizing.md#left) | X | X | X | +| [Master Table](properties_DataSource.md#table) | | X | | +| [Meta info expression](properties_Text.md#meta-info-expression) | | | X | +| [Method](properties_Action.md#method) | X | X | X | +| [Movable Rows](properties_Action.md#movable-rows) | X | | | +| [Named Selection](properties_DataSource.md#selectionName) | | X | | +| [Number of Columns](properties_ListBox.md#number-of-columns) | X | X | X | +| [Number of Locked Columns](properties_ListBox.md#number-of-locked-columns) | X | X | X | +| [Number of Static Columns](properties_ListBox.md#number-of-static-columns) | X | X | X | +| [Object Name](properties_Object.md#object-name) | X | X | X | +| [Right](properties_CoordinatesAndSizing.md#right) | X | X | X | +| [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) | X | | | +| [Row Control Array](properties_ListBox.md#row-control-array) | X | | | +| [Row Font Color Array](properties_Text.md#row-font-color-array) | X | | | +| [Row Height](properties_CoordinatesAndSizing.md#row-height) | X | | | +| [Row Height Array](properties_CoordinatesAndSizing.md#row-height-array) | X | | | +| [Row Style Array](properties_Text.md#row-style-array) | X | | | +| [Selected Items](properties_DataSource.md#selected-items) | | | X | +| [Selection Mode](properties_ListBox.md#selection-mode) | X | X | X | +| [Single-Click Edit](properties_Entry.md#single-click-edit) | X | X | X | +| [Sortable](properties_Action.md#sortable) | X | X | X | +| [Standard action](properties_Action.md#standard-action) | X | | | +| [Style Expression](properties_Text.md#style-expression) | | X | X | +| [Top](properties_CoordinatesAndSizing.md#top) | X | X | X | +| [Transparent](properties_BackgroundAndBorder.md#transparent) | X | X | X | +| [Type](properties_Object.md#type) | X | X | X | +| [Underline](properties_Text.md#underline) | X | X | X | +| [Variable or Expression](properties_Object.md#variable-or-expression) | X | X | | +| [Vertical Alignment](properties_Text.md#vertical-alignment) | X | X | X | +| [Vertical Line Color](properties_Gridlines.md#vertical-line-color) | X | X | X | +| [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) | X | X | X | +| [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) | X | X | X | +| [Visibility](properties_Display.md#visibility) | X | X | X | +| [Width](properties_CoordinatesAndSizing.md#width) | X | X | X | + + +> List box columns, headers and footers support specific properties. + + + + + +## List box columns + +A list box is made of one or more column object(s) which have specific properties. You can select a list box column in the Form editor by clicking on it when the list box object is selected: + +![](assets/en/FormObjects/listbox_column.png) + +You can set standard properties (text, background color, etc.) for each column of the list box; these properties take priority over those of the list box object properties. +> You can define the [Expression type](properties_Object.md#expression-type) for array list box columns (String, Text, Number, Date, Time, Picture, Boolean, or Object). The use of object arrays requires a 4D View Pro licence (see [Using object arrays in columns (4D View Pro)](#using-object-arrays-in-columns-4d-view-pro)). + + +### Column Specific Properties + +[Alpha Format](properties_Display.md#alpha-format) - [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) - [Automatic Row Height](properties_CoordinatesAndSizing.md#automatic-row-height) - [Background Color](properties_Text.md#background-color) - [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) - [Bold](properties_Text.md#bold) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#class) - [Data Type (selection and collection list box column)](properties_DataSource.md#data-type) - [Date Format](properties_Display.md#date-format) - [Default Values](properties_DataSource.md#default-values) - [Display Type](properties_Display.md#display-type) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression](properties_DataSource.md#expression) - [Expression Type (array list box column)](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Invisible](properties_Display.md#visibility) - [Maximum Width](properties_CoordinatesAndSizing.md#maximum-width) - [Method](properties_Action.md#method) - [Minimum Width](properties_CoordinatesAndSizing.md#minimum-width) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Resizable](properties_ResizingOptions.md#resizable) - [Required List](properties_RangeOfValues.md#required-list) - [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) - [Row Font Color Array](properties_Text.md#row-font-color-array) - [Row Style Array](properties_Text.md#row-style-array) - [Save as](properties_DataSource.md#save-as) - [Style Expression](properties_Text.md#style-expression) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## List box headers + +> To be able to access the header properties of a list box, you must enable the [Display Headers](properties_Headers.md#display-headers) option of the list box. + +When headers are displayed, you can select a header in the Form editor by clicking it when the list box object is selected: + +![](assets/en/FormObjects/listbox_header.png) + +You can set standard text properties for each column header of the list box; in this case, these properties have priority over those of the column or of the list box itself. + +In addition, you have access to the specific properties for headers. Specifically, an icon can be displayed in the header next to or in place of the column title, for example when performing [customized sorts](#managing-sorts). + +![](assets/en/FormObjects/lbHeaderIcon.png) + +At runtime, events that occur in a header are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a header, it is applied to all headers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"header3";False)` will hide all headers in the list box object to which *header3* belongs and not simply this header. + +### Header Specific Properties + +[Bold](properties_Text.md#bold) - [Class](properties_Object.md#class) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Icon Location](properties_TextAndPicture.md#icon-location) - [Italic](properties_Text.md#italic) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_TextAndPicture.md#picture-pathname) - [Title](properties_Object.md#title) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) + + + + + +## List box footers +> To be able to access footer properties for a list box, you must enable the [Display Footers](properties_Footers.md#display-footers) option. + +List boxes can contain non-enterable "footers" displaying additional information. For data shown in table form, footers are usually used to display calculations such as totals or averages. + +When footers are displayed, you can click to select one when the list box object is selected in the Form editor: + +![](assets/en/FormObjects/listbox_footers.png) + +For each List box column footer, you can set standard text properties: in this case, these properties take priority over those of the column or of the list box. You can also access specific properties for footers. In particular, you can insert a [custom or automatic calculation](properties_Object.md#variable-calculation). + +At runtime, events that occur in a footer are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a footer, it is applied to all footers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"footer3";False)` will hide all footers in the list box object to which *footer3* belongs and not simply this footer. + +### Footer Specific Properties + + +[Alpha Format](properties_Display.md#alpha-format) - [Background Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Bold](properties_Text.md#bold) - [Class](properties_Object.md#class) - [Date Format](properties_Display.md#date-format) - [Expression Type](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable Calculation](properties_Object.md#variable-calculation) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## Managing entry + +For a list box cell to be enterable, both of the following conditions must be met: + +- The cell’s column must have been set as [Enterable](properties_Entry.md#enterable) (otherwise, the cells of the column can never be enterable). +- In the `On Before Data Entry` event, $0 does not return -1. When the cursor arrives in the cell, the `On Before Data Entry` event is generated in the column method. If, in the context of this event, $0 is set to -1, the cell is considered as not enterable. If the event was generated after **Tab** or **Shift+Tab** was pressed, the focus goes to either the next cell or the previous one, respectively. If $0 is not -1 (by default $0 is 0), the cell is enterable and switches to editing mode. + +Let’s consider the example of a list box containing two arrays, one date and one text. The date array is not enterable but the text array is enterable if the date has not already past. + +![](assets/en/FormObjects/listbox_entry.png) + +Here is the method of the *arrText* column: + +```code4d + Case of + :(Form event=On Before Data Entry) // a cell gets the focus + LISTBOX GET CELL POSITION(*;"lb";$col;$row) + // identification of cell + If(arrDate{$row} Data entry in collection/entity selection type list boxes has a limitation when the expression evaluates to null. In this case, it is not possible to edit or remove the null value in the cell. + + + +## Managing selections + +Selections are managed differently depending on whether the list box is based on an array, on a selection of records, or on a collection/entity selection: + +- **Selection list box**: Selections are managed by a set, which you can modify if necessary, called `$ListboxSetX` by default (where X starts at 0 and is incremented based on the number of list boxes in the form). This set is [defined in the properties](properties_ListBox.md#highlight-set) of the list box. It is automatically maintained by 4D: If the user selects one or more rows in the list box, the set is immediately updated. On the other hand, it is also possible to use the commands of the "Sets" theme in order to modify the selection of the list box via programming. + +- **Collection/Entity selection list box**: Selections are managed through dedicated list box properties: + - [Current item](properties_DataSource.md#current-item) is an object that will receive the selected element/entity + - [Selected Items](properties_DataSource.md#selected-items) is a collection of selected items + - [Current item position](properties_DataSource.md#current-item-position) returns the position of the selected element or entity. + +- **Array list box**: The `LISTBOX SELECT ROW` command can be used to select one or more rows of the list box by programming. The [variable linked to the List box object](properties_Object.md#variable-or-expression) is used to get, set or store selections of object rows. This variable corresponds to a Boolean array that is automatically created and maintained by 4D. The size of this array is determined by the size of the list box: it contains the same number of elements as the smallest array linked to the columns. Each element of this array contains `True` if the corresponding line is selected and `False` otherwise. 4D updates the contents of this array depending on user actions. Inversely, you can change the value of array elements to change the selection in the list box. On the other hand, you can neither insert nor delete rows in this array; you cannot retype rows either. The `Count in array` command can be used to find out the number of selected lines. For example, this method allows inverting the selection of the first row of the (array type) list box: +```code4d + ARRAY BOOLEAN(tBListBox;10) + //tBListBox is the name of the list box variable in the form + If(tBListBox{1}=True) + tBListBox{1}:=False + Else + tBListBox{1}:=True + End if +``` + +> The `OBJECT SET SCROLL POSITION` command scrolls the list box rows so that the first selected row or a specified row is displayed. + + +### Customizing appearance of selected rows + +When the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is selected, you need to make list box selections visible using available interface options. Since selections are still fully managed by 4D, this means: + +- For array type list boxes, you must parse the Boolean array variable associated with the list box to determine which rows are selected or not. +- For selection type list boxes, you have to check whether the current record (row) belongs to the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. + +You can then define specific background colors, font colors and/or font styles by programming to customize the appearance of selected rows. This can be done using arrays or expressions, depending on the type of list box being displayed (see the following sections). + +> You can use the `lk inherited` constant to mimic the current appearance of the list box (e.g., font color, background color, font style, etc.). + +#### Selection list boxes + +To determine which rows are selected, you have to check whether they are included in the set indicated in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. You can then define the appearance of selected rows using one or more of the relevant [color or style expression property](#using-arrays-and-expressions). + +Keep in mind that expressions are automatically re-evaluated each time the: +- list box selection changes. +- list box gets or loses the focus. +- form window containing the list box becomes, or ceases to be, the frontmost window. + + +#### Array list boxes +You have to parse the Boolean array [Variable or Expression](properties_Object.md#variable-or-expression) associated with the list box to determine whether rows are selected or not selected. + +You can then define the appearance of selected rows using one or more of the relevant [color or style array property](#using-arrays-and-expressions). + +Note that list box arrays used for defining the appearance of selected rows must be recalculated during the `On Selection Change` form event; however, you can also modify these arrays based on the following additional form events: +- `On Getting Focus` (list box property) +- `On Losing Focus` (list box property) +- `On Activate` (form property) +- `On Deactivate` (form property) ...depending on whether and how you want to visually represent changes of focus in selections. + +##### Example + +You have chosen to hide the system highlight and want to display list box selections with a green background color, as shown here: + +![](assets/en/FormObjects/listbox_styles7.png) + +For an array type list box, you need to update the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) by programming. In the JSON form, you have defined the following Row Background Color Array for the list box: + +``` + "rowFillSource": "_ListboxBackground", +``` + +In the object method of the list box, you can write: + +```code4d + Case of + :(Form event=On Selection Change) + $n:=Size of array(LB_Arrays) + ARRAY LONGINT(_ListboxBackground;$n) // row background colors + For($i;1;$n) + If(LB_Arrays{$i}=True) // selected + _ListboxBackground{$i}:=0x0080C080 // green background + Else // not selected + _ListboxBackground{$i}:=lk inherited + End if + End for + End case +``` + +For a selection type list box, to produce the same effect you can use a method to update the [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) based on the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property. + +For example, in the JSON form, you have defined the following Highlight Set and Background Color Expression for the list box: + +``` + "highlightSet": "$SampleSet", + "rowFillSource": "UI_SetColor", +``` +You can write in the *UI_SetColor* method: + +```code4d + If(Is in set("$SampleSet")) + $color:=0x0080C080 // green background + Else + $color:=lk inherited + End if + + $0:=$color +``` + +> In hierarchical list boxes, break rows cannot be highlighted when the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is checked. Since it is not possible to have distinct colors for headers of the same level, there is no way to highlight a specific break row by programming. + + +## Managing sorts + +By default, a list box automatically handles standard column sorts when the header is clicked. A standard sort is an alphanumeric sort of column values, alternately ascending/descending with each successive click. All columns are always synchronized automatically. + +You can prevent standard user sorts by deselecting the [Sortable](properties_Action.md#sortable) property of the list box. + +The developer can set up custom sorts using the `LISTBOX SORT COLUMNS` command and/or combining the `On Header Click` and `On After Sort` form events (see the `FORM Event` command) and relevant 4D commands. + +> The [Sortable](properties_Action.md#sortable) property only affects the standard user sorts; the `LISTBOX SORT COLUMNS` command does not take this property into account. + +The value of the [column header variable](properties_Object.md#variable-or-expression) allows you to manage additional information: the current sort of the column (read) and the display of the sort arrow. + +- If the variable is set to 0, the column is not sorted and the sort arrow is not displayed; ![](assets/en/FormObjects/sorticon0.png) + +- If the variable is set to 1, the column is sorted in ascending order and the sort arrow is displayed; ![](assets/en/FormObjects/sorticon1.png) + +- If the variable is set to 2, the column is sorted in descending order and the sort arrow is displayed. ![](assets/en/FormObjects/sorticon2.png) + +You can set the value of the variable (for example, Header2:=2) in order to “force” the sort arrow display. The column sort itself is not modified in this case; it is up to the developer to handle it. + +> The `OBJECT SET FORMAT` command offers specific support for icons in list box headers, which can be useful when you want to work with a customized sort icon. + + +## Managing row colors, styles, and display + +There are several different ways to set background colors, font colors and font styles for list boxes: + +- at the level of the [list box object properties](#list-box-objects), +- at the level of the [column properties](#list-box-columns), +- using [arrays or expressions properties](#using-arrays-and-expressions) for the list box and/or for each column, +- at the level of the text of each cell (if [multi-style text](properties_Text.md#multi-style)). + + +### Priority & inheritance + +Priority and inheritance principles are observed when the same property is set at more than one level. + +| Priority level | Setting location | +| -------------- | -------------------------------------------------------------------- | +| high priority | Cell (if multi-style text) | +| | Column arrays/methods | +| | List box arrays/methods | +| | Column properties | +| | List box properties | +| low priority | Meta Info expression (for collection or entity selection list boxes) | + +For example, if you set a font style in the list box properties and another using a style array for the column, the latter one will be taken into account. + +For each attribute (style, color and background color), an **inheritance** is implemented when the default value is used: + +- for cell attributes: attribute values of rows +- for row attributes: attribute values of columns +- for column attributes: attribute values of the list box + +This way, if you want an object to inherit the attribute value from a higher level, you can use pass the `lk inherited` constant (default value) to the definition command or directly in the element of the corresponding style/color array. For example, given an array list box containing a standard font style with alternating colors: ![](assets/en/FormObjects/listbox_styles3.png) + +You perform the following modifications: + +- change the background of row 2 to red using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property of the list box object, +- change the style of row 4 to italics using the [Row Style Array](properties_Text.md#row-style-array) property of the list box object, +- two elements in column 5 are changed to bold using the [Row Style Array](properties_Text.md#row-style-array) property of the column 5 object, +- the 2 elements for column 1 and 2 are changed to dark blue using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property for the column 1 and 2 objects: + +![](assets/en/FormObjects/listbox_styles3.png) + +To restore the original appearance of the list box, you can: + +- pass the `lk inherited` constant in element 2 of the background color arrays for columns 1 and 2: then they inherit the red background color of the row. +- pass the `lk inherited` constant in elements 3 and 4 of the style array for column 5: then they inherit the standard style, except for element 4, which changes to italics as specified in the style array of the list box. +- pass the `lk inherited` constant in element 4 of the style array for the list box in order to remove the italics style. +- pass the `lk inherited` constant in element 2 of the background color array for the list box in order to restore the original alternating color of the list box. + + +### Using arrays and expressions + +Depending of the list box type, you can use different properties to customize row colors, styles and display: + +| Property | Array list box | Selection list box | Collection or Entity Selection list box | +| ---------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Background color | [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) | [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) | [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression) | +| Font color | [Row Font Color Array](properties_Text.md#row-font-color-array) | [Font Color Expression](properties_Text.md#font-color-expression) | [Font Color Expression](properties_Text.md#font-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression) | + Font style| + +[Row Style Array](properties_Text.md#row-style-array)|[Style Expression](properties_Text.md#style-expression)|[Style Expression](properties_Text.md#style-expression) or [Meta info expression](properties_Text.md#meta-info-expression)| Display|[Row Control Array](properties_ListBox.md#row-control-array)|-|-| + + + + +## Printing list boxes + +Two printing modes are available: **preview mode** - which can be used to print a list box like a form object, and **advanced mode** - which lets you control the printing of the list box object itself within the form. Note that the "Printing" appearance is available for list box objects in the Form editor. + +### Preview mode + +Printing a list box in preview mode consists of directly printing the list box and the form that contains it using the standard print commands or the **Print** menu command. The list box is printed as it is in the form. This mode does not allow precise control of the printing of the object; in particular, it does not allow you to print all the rows of a list box that contains more rows than it can display. + +### Erweiterter Modus + +In this mode, the printing of list boxes is carried out by programming, via the `Print object` command (project forms and table forms are supported). The `LISTBOX GET PRINT INFORMATION` command is used to control the printing of the object. + +In this mode: + +- The height of the list box object is automatically reduced when the number of rows to be printed is less than the original height of the object (there are no "blank" rows printed). On the other hand, the height does not automatically increase according to the contents of the object. The size of the object actually printed can be obtained via the `LISTBOX GET PRINT INFORMATION` command. +- The list box object is printed "as is", in other words, taking its current display parameters into account: visibility of headers and gridlines, hidden and displayed rows, etc. These parameters also include the first row to be printed: if you call the `OBJECT SET SCROLL POSITION` command before launching the printing, the first row printed in the list box will be the one designated by the command. +- An automatic mechanism facilitates the printing of list boxes that contain more rows than it is possible to display: successive calls to `Print object` can be used to print a new set of rows each time. The `LISTBOX GET PRINT INFORMATION` command can be used to check the status of the printing while it is underway. + + + + + +## Hierarchical list boxes + +A hierarchical list box is a list box in which the contents of the first column appears in hierarchical form. This type of representation is adapted to the presentation of information that includes repeated values and/or values that are hierarchically dependent (country/region/city and so on). + +> Only [array type list boxes](#array-list-boxes) can be hierarchical. + +Hierarchical list boxes are a particular way of representing data but they do not modify the data structure (arrays). Hierarchical list boxes are managed exactly the same way as regular list boxes. + + +### Defining the hierarchy + +To specify a hierarchical list box, there are several possibilities: + +* Manually configure hierarchical elements using the Property list of the form editor (or edit the JSON form). +* Visually generate the hierarchy using the list box management pop-up menu, in the form editor. +* Use the [LISTBOX SET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-SET-HIERARCHY.301-4127969.en.html) and [LISTBOX GET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-GET-HIERARCHY.301-4127970.en.html) commands, described in the *4D Language Reference* manual. + + +#### Hierarchical List Box property + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +The first variable always corresponds to the name of the variable for the first column of the list box (the two values are automatically bound). This first variable is always visible and enterable. For example: country. The second variable is also always visible and enterable; it specifies the second hierarchical level. For example: regions. Beginning with the third field, each variable depends on the one preceding it. For example: counties, cities, and so on. A maximum of ten hierarchical levels can be specified. If you remove a value, the whole hierarchy moves up a level. + +The last variable is never hierarchical even if several identical values exists at this level. For example, referring to the configuration illustrated above, imagine that arr1 contains the values A A A B B B, arr2 has the values 1 1 1 2 2 2 and arr3 the values X X Y Y Y Z. In this case, A, B, 1 and 2 could appear in collapsed form, but not X and Y: + +![](assets/en/FormObjects/property_hierarchicalListBox.png) + +This principle is not applied when only one variable is specified in the hierarchy: in this case, identical values may be grouped. +> If you specify a hierarchy based on the first columns of an existing list box, you must then remove or hide these columns (except for the first), otherwise they will appear in duplicate in the list box. If you specify the hierarchy via the pop-up menu of the editor (see below), the unnecessary columns are automatically removed from the list box. + + +#### Create hierarchy using the contextual menu + +When you select at least one column in addition to the first one in a list box object (of the array type) in the form editor, the **Create hierarchy** command is available in the context menu: + +![](assets/en/FormObjects/listbox_hierarchy1.png) + +This command is a shortcut to define a hierarchy. When it is selected, the following actions are carried out: + +* The **Hierarchical list box** option is checked for the object in the Property List. +* The variables of the columns are used to specify the hierarchy. They replace any variables already specified. +* The columns selected no longer appear in the list box (except for the title of the first one). + +Example: given a list box whose first columns contain Country, Region, City and Population. When Country, Region and City are selected, if you choose **Create hierarchy** in the context menu, a three-level hierarchy is created in the first column, columns 2 and 3 are removed and the Population column becomes the second: + +![](assets/en/FormObjects/listbox_hierarchy2.png) + +##### Cancel hierarchy +When the first column is selected and already specified as hierarchical, you can use the **Cancel hierarchy** command. When you choose this command, the following actions are carried out: + +* The **Hierarchical list box** option is deselected for the object, +* The hierarchical levels 2 to X are removed and transformed into columns added to the list box. + + +### How it works + +When a form containing a hierarchical list box is opened for the first time, by default all the rows are expanded. + +A break row and a hierarchical "node" are automatically added in the list box when values are repeated in the arrays. For example, imagine a list box containing four arrays specifying cities, each city being characterized by its country, its region, its name and its number of inhabitants: + +![](assets/en/FormObjects/hierarch1.png) + +If this list box is displayed in hierarchical form (the first three arrays being included in the hierarchy), you obtain: + +![](assets/en/FormObjects/hierarch2.png) + +The arrays are not sorted before the hierarchy is constructed. If, for example, an array contains the data AAABBAACC, the hierarchy obtained is: + + > A B A C + +To expand or collapse a hierarchical "node," you can just click on it. If you **Alt+click** (Windows) or **Option+click** (macOS) on the node, all its sub-elements will be expanded or collapsed as well. These operations can also be carried out by programming using the `LISTBOX EXPAND` and `LISTBOX COLLAPSE` commands. + +When values of the date or time type are included in a hierarchical list box, they are displayed in the short system format. + +#### Sorts in hierarchical list boxes + +In a list box in hierarchical mode, a standard sort (carried out by clicking on the header of a list box column) is always constructed as follows: + +- In the first place, all the levels of the hierarchical column (first column) are automatically sorted by ascending order. +- The sort is then carried out by ascending or descending order (according to the user action) on the values of the column that was clicked. +- All the columns are synchronized. +- During subsequent sorts carried out on non-hierarchical columns of the list box, only the last level of the first column is sorted. It is possible to modify the sorting of this column by clicking on its header. + +Given for example the following list box, in which no specific sort is specified: + +![](assets/en/FormObjects/hierarch3.png) + +If you click on the "Population" header to sort the populations by ascending (or alternately descending) order, the data appear as follows: + +![](assets/en/FormObjects/hierarch4.png) + +As for all list boxes, you can [disable the standard sort mechanism](properties_Action.md#sortable) and manage sorts using programming. + + +#### Selections and positions in hierarchical list boxes + +A hierarchical list box displays a variable number of rows on screen according to the expanded/collapsed state of the hierarchical nodes. This does not however mean that the number of rows of the arrays vary. Only the display is modified, not the data. It is important to understand this principle because programmed management of hierarchical list boxes is always based on the data of the arrays, not on the displayed data. In particular, the break rows added automatically are not taken into account in the display options arrays (see below). + +Let’s look at the following arrays for example: + +![](assets/en/FormObjects/hierarch5.png) + +If these arrays are represented hierarchically, the row "Quimper" will not be displayed on the second row, but on the fourth, because of the two break rows that are added: + +![](assets/en/FormObjects/hierarch6.png) + +Regardless of how the data are displayed in the list box (hierarchically or not), if you want to change the row containing "Quimper" to bold, you must use the statement Style{2} = bold. Only the position of the row in the arrays is taken into account. + +This principle is implemented for internal arrays that can be used to manage: + +- colors +- background colors +- styles +- hidden rows +- selections + +For example, if you want to select the row containing Rennes, you must pass: + +```code4d + ->MyListbox{3}:=True +``` + +Non-hierarchical representation: ![](assets/en/FormObjects/hierarch7.png) Hierarchical representation: ![](assets/en/FormObjects/hierarch8.png) + +> If one or more rows are hidden because their parents are collapsed, they are no longer selected. Only the rows that are visible (either directly or by scrolling) can be selected. In other words, rows cannot be both hidden and selected. + +As with selections, the `LISTBOX GET CELL POSITION` command will return the same values for a hierarchical list box and a non-hierarchical list box. This means that in both of the examples below, `LISTBOX GET CELL POSITION` will return the same position: (3;2). + +*Non-hierarchical representation:* ![](assets/en/FormObjects/hierarch9.png) + +*Hierarchical representation:* ![](assets/en/FormObjects/hierarch10.png) + +When all the rows of a sub-hierarchy are hidden, the break line is automatically hidden. In the above example, if rows 1 to 3 are hidden, the "Brittany" break row will not appear. + +#### Break rows + +If the user selects a break row, `LISTBOX GET CELL POSITION` returns the first occurrence of the row in the corresponding array. In the following case: + +![](assets/en/FormObjects/hierarch11.png) + + +... `LISTBOX GET CELL POSITION` returns (2;4). To select a break row by programming, you will need to use the `LISTBOX SELECT BREAK` command. + +Break rows are not taken into account in the internal arrays used to manage the graphic appearance of list boxes (styles and colors). It is however possible to modify these characteristics for break rows via the graphic management commands for objects. You simply need to execute the appropriate commands on the arrays that constitute the hierarchy. + +Given for example the following list box (the names of the associated arrays are specified in parentheses): + +*Non-hierarchical representation:* ![](assets/en/FormObjects/hierarch12.png) + +*Hierarchical representation:* ![](assets/en/FormObjects/hierarch13.png) + +In hierarchical mode, break levels are not taken into account by the style modification arrays named `tStyle` and `tColors`. To modify the color or style of break levels, you must execute the following statements: + +```code4d + OBJECT SET RGB COLORS(T1;0x0000FF;0xB0B0B0) + OBJECT SET FONT STYLE(T2;Bold) +``` +> In this context, only the syntax using the array variable can function with the object property commands because the arrays do not have any associated object. + +Result: + +![](assets/en/FormObjects/hierarch14.png) + + +#### Optimized management of expand/collapse + +You can optimize hierarchical list boxes display and management using the `On Expand` and `On Collapse` form events. + +A hierarchical list box is built from the contents of its arrays so it can only be displayed when all these arrays are loaded into memory. This makes it difficult to build large hierarchical list boxes based on arrays generated from data (through the `SELECTION TO ARRAY` command), not only because of the display speed but also the memory used. + +Using the `On Expand` and `On Collapse` form events can overcome these constraints: for example, you can display only part of the hierarchy and load/unload the arrays on the fly, based on user actions. In the context of these events, the `LISTBOX GET CELL POSITION` command returns the cell where the user clicked in order to expand or collapse a row. + +In this case, you must fill and empty arrays through the code. The principles to be implemented are: +- When the list box is displayed, only the first array must be filled. However, you must create a second array with empty values so that the list box displays the expand/collapse buttons: ![](assets/en/FormObjects/hierarch15.png) + +- When a user clicks on an expand button, you can process the `On Expand` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned and lets you build the appropriate hierarchy: you fill the first array with the repeated values and the second with the values sent from the `SELECTION TO ARRAY` command and you insert as many rows as needed in the list box using the `LISTBOX INSERT ROWS` command. ![](assets/en/FormObjects/hierarch16.png) + +- When a user clicks on a collapse button, you can process the `On Collapse` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned: you remove as many rows as needed from the list box using the `LISTBOX DELETE ROWS` command. + + + +## Object arrays in columns (4D View Pro) + +List box columns can handle object arrays. Since object arrays can contain different kinds of data, this powerful new feature allows you to mix different input types in the rows of a single column, and display various widgets as well. For example, you could insert a text input in the first row, a check box in the second, and a drop-down list in the third. Object arrays also provide access to new kinds of widgets, such as buttons or color pickers. + +The following list box was designed using an object array: + +![](assets/en/FormObjects/listbox_column_objectArray.png) +> **Note about Licensing**: The ability to use object arrays in list boxes is a first step to the upcoming "4D View Pro" tool that will progressively replace the 4D View plug-in. Using this feature requires you to have a valid 4D View license. For more information, please refer to the 4D Web site. + +### Configuring an object array column + +To assign an object array to a list box column, you just need to set the object array name in either the Property list ("Variable Name" field), or using the [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-INSERT-COLUMN.301-4311153.en.html) command, like with any array-based column. In the Property list, you can now select Object as a "Expression Type" for the column: + +![](assets/en/FormObjects/listbox_column_objectArray_config.png) + +Standard properties related to coordinates, size, and style are available for object columns. You can define them using the Property list, or by programming the style, font color, background color and visibility for each row of an object-type list box column. These types of columns can also be hidden. + +However, the Data Source theme is not available for object-type list box columns. In fact, the contents of each column cell are based on attributes found in the corresponding element of the object array. Each array element can define: + +the value type (mandatory): text, color, event, etc. the value itself (optional): used for input/output. the cell content display (optional): button, list, etc. additional settings (optional): depend on the value type To define these properties, you need to set the appropriate attributes in the object (available attributes are listed below). For example, you can write "Hello World!" in an object column using this simple code: + +```code4d +ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob) //first element + OB SET($ob;"valueType";"text") //defines the value type (mandatory) + OB SET($ob;"value";"Hello World!") //defines the value + APPEND TO ARRAY(obColumn;$ob) +``` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld.png) +> Display format and entry filters cannot be set for an object column. They automatically depend on the value type. + +#### valueType and data display + +When a list box column is associated with an object array, the way a cell is displayed, entered, or edited, is based on the valueType attribute of the array element. Supported valueType values are: + +* "text": for a text value +* "real": for a numeric value that can include separators like a \, <.>, or <,> +* "integer": for an integer value +* "boolean": for a True/False value +* "color": to define a background color +* "event": to display a button with a label. + +4D uses default widgets with regards to the "valueType" value (i.e., a "text" is displayed as a text input widget, a "boolean" as a check box), but alternate displays are also available through options (*e.g.*, a real can also be represented as a drop-down menu). The following table shows the default display as well as alternatives for each type of value: + +| valueType | Default widget | Alternative widget(s) | +| --------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| text | text input | drop-down menu (required list) or combo box (choice list) | +| real | controlled text input (numbers and separators) | drop-down menu (required list) or combo box (choice list) | +| integer | controlled text input (numbers only) | drop-down menu (required list) or combo box (choice list) or three-states check box | +| boolean | check box | drop-down menu (required list) | +| color | background color | text | +| event | button with label | | +| | | All widgets can have an additional unit toggle button or ellipsis button attached to the cell. | + +You set the cell display and options using specific attributes in each object (see below). + +#### Display formats and entry filters + +You cannot set display formats or entry filters for columns of object-type list boxes. They are automatically defined according to the value type. These are listed in the following table: + +| Value type | Default format | Entry control | +| ---------- | ---------------------------------------------------------- | ----------------------- | +| text | same as defined in object | any (no control) | +| real | same as defined in object (using system decimal separator) | "0-9" and "." and "-" | +| | | "0-9" and "." if min>=0 | +| integer | same as defined in object | "0-9" and "-" | +| | | "0-9" if min>=0 | +| Boolean | check box | N/A | +| color | N/A | N/A | +| event | N/A | N/A | + +### Attributes + +Each element of the object array is an object that can contain one or more attributes that will define the cell contents and data display (see example above). + +The only mandatory attribute is "valueType" and its supported values are "text", "real", "integer", "boolean", "color", and "event". The following table lists all the attributes supported in list box object arrays, depending on the "valueType" value (any other attributes are ignored). Display formats are detailed and examples are provided below. + +| | valueType | text | real | integer | boolean | color | event | +| --------------------- | --------------------------------------- | ---- | ---- | ------- | ------- | ----- | ----- | +| *Attributes* | *Description* | | | | | | | +| value | cell value (input or output) | x | x | x | | | | +| min | minimum value | | x | x | | | | +| max | maximum value | | x | x | | | | +| behavior | "threeStates" value | | | x | | | | +| requiredList | drop-down list defined in object | x | x | x | | | | +| choiceList | combo box defined in object | x | x | x | | | | +| requiredListReference | 4D list ref, depends on "saveAs" value | x | x | x | | | | +| requiredListName | 4D list name, depends on "saveAs" value | x | x | x | | | | +| saveAs | "reference" or "value" | x | x | x | | | | +| choiceListReference | 4D list ref, display combo box | x | x | x | | | | +| choiceListName | 4D list name, display combo box | x | x | x | | | | +| unitList | array of X elements | x | x | x | | | | +| unitReference | index of selected element | x | x | x | | | | +| unitsListReference | 4D list ref for units | x | x | x | | | | +| unitsListName | 4D list name for units | x | x | x | | | | +| alternateButton | add an alternate button | x | x | x | x | x | | + +#### value + +Cell values are stored in the "value" attribute. This attribute is used for input as well as output. It can also be used to define default values when using lists (see below). + +````code4d + ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob1) + $entry:="Hello world!" + OB SET($ob1;"valueType";"text") + OB SET($ob1;"value";$entry) // if the user enters a new value, $entry will contain the edited value + C_OBJECT($ob2) + OB SET($ob2;"valueType";"real") + OB SET($ob2;"value";2/3) + C_OBJECT($ob3) + OB SET($ob3;"valueType";"boolean") + OB SET($ob3;"value";True) + + APPEND TO ARRAY(obColumn;$ob1) + APPEND TO ARRAY(obColumn;$ob2) + APPEND TO ARRAY(obColumn;$ob3) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_value.png) +> Null values are supported and result in an empty cell. + +#### min and max + +When the "valueType" is "real" or "integer", the object also accepts min and max attributes with appropriate values (values must be of the same type as the valueType). + +These attributes can be used to control the range of input values. When a cell is validated (when it loses the focus), if the input value is lower than the min value or greater than the max value, then it is rejected. In this case, the previous value is maintained and a tip displays an explanation. + +````code4d + C_OBJECT($ob3) + $entry3:=2015 + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";$entry3) + OB SET($ob3;"min";2000) + OB SET($ob3;"max";3000) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_minMax.png) + +#### behavior + +The behavior attribute provides variations to the regular representation of values. In 4D v15, a single variation is proposed: + +| Attribute | Available value(s) | valueType(s) | Description | +| --------- | ------------------ | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| behavior | threeStates | integer | Represents a numeric value as a three-states check box.
    2=semi-checked, 1=checked, 0=unchecked, -1=invisible, -2=unchecked disabled, -3=checked disabled, -4=semi-checked disabled | + +````code4d + C_OBJECT($ob3) + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";-3) + C_OBJECT($ob4) + OB SET($ob4;"valueType";"integer") + OB SET($ob4;"value";-3) + OB SET($ob4;"behavior";"threeStates") +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_behavior.png) + +#### requiredList and choiceList + +When a "choiceList" or a "requiredList" attribute is present inside the object, the text input is replaced by a drop-down list or a combo box, depending of the attribute: + +* If the attribute is "choiceList", the cell is displayed as a combo box. This means that the user can select or type a value. +* If the attribute is "requiredList" then the cell is displayed as a drop-down list and the user can only select one of the values provided in the list. + +In both cases, a "value" attribute can be used to preselect a value in the widget. +> The widget values are defined through an array. If you want to assign an existing 4D list to the widget, you need to use the "requiredListReference", "requiredListName", "choiceListReference", or "choiceListName" attributes. + +Examples: + +* You want to display a drop-down list with only two options: "Open" or "Closed". "Closed" must be preselected: + + ````code4d + ARRAY TEXT($RequiredList;0) + APPEND TO ARRAY($RequiredList;"Open") + APPEND TO ARRAY($RequiredList;"Closed") + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"Closed") + OB SET ARRAY($ob;"requiredList";$RequiredList) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_openClosed.png) + +* You want to accept any integer value, but display a combo box to suggest the most common values: + + ````code4d + ARRAY LONGINT($ChoiceList;0) + APPEND TO ARRAY($ChoiceList;5) + APPEND TO ARRAY($ChoiceList;10) + APPEND TO ARRAY($ChoiceList;20) + APPEND TO ARRAY($ChoiceList;50) + APPEND TO ARRAY($ChoiceList;100) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"value";10) //10 as default value + OB SET ARRAY($ob;"choiceList";$ChoiceList) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_commonValues.png) + +#### requiredListName and requiredListReference + +The "requiredListName" and "requiredListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Lists editor of the Tool box) or by programming (using the New list command). The cell will then be displayed as a drop-down list. This means that the user can only select one of the values provided in the list. + +Use "requiredListName" or "requiredListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. +> * If you want to define these values through a simple array, you need to use the "requiredList" attribute. +> * If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Examples: + +* You want to display a drop-down list based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green"), save it as a value and display "blue" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + + ````code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"saveAs";"value") + OB SET($ob;"value";"blue") + OB SET($ob;"requiredListName";"colors") + ```` +![](assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + +* You want to display a drop-down list based on a list defined by programming and save it as a reference: + + ````code4d + <>List:=New list + APPEND TO LIST(<>List;"Paris";1) + APPEND TO LIST(<>List;"London";2) + APPEND TO LIST(<>List;"Berlin";3) + APPEND TO LIST(<>List;"Madrid";4) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"saveAs";"reference") + OB SET($ob;"value";2) //displays London by default + OB SET($ob;"requiredListReference";<>List) + ```` + ![](assets/en/FormObjects/listbox_column_objectArray_cities.png) + +#### choiceListName and choiceListReference + +The "choiceListName" and "choiceListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Tool box) or by programming (using the New list command). The cell is then displayed as a combo box, which means that the user can select or type a value. + +Use "choiceListName" or "choiceListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. +> * If you want to define these values through a simple array, you need to use the "choiceList" attribute. +> * If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Example: + +You want to display a combo box based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green") and display "green" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + +````code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"blue") + OB SET($ob;"choiceListName";"colors") +```` + +![](../assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + + +#### unitsList, unitsListName, unitsListReference and unitReference + +You can use specific attributes to add units associated with cell values (*e.g.*: "10 cm", "20 pixels", etc.). To define the unit list, you can use one of the following attributes: + +* "unitsList": an array containing the x elements used to define the available units (e.g.: "cm", "inches", "km", "miles", etc.). Use this attribute to define units within the object. +* "unitsListReference": a reference to a 4D list containing available units. Use this attribute to define units with a 4D list created with the [New list](https://doc.4d.com/4Dv15/4D/15.6/New-list.301-3818474.en.html) command. +* "unitsListName": a name of a design-based 4D list that contains available units. Use this attribute to define units with a 4D list created in the Tool box. + +Regardless of the way the unit list is defined, it can be associated with the following attribute: + +* "unitReference": a single value that contains the index (from 1 to x) of the selected item in the "unitList", "unitsListReference" or "unitsListName" values list. + +The current unit is displayed as a button that cycles through the "unitList", "unitsListReference" or "unitsListName" values each time it is clicked (e.g., "pixels" -> "rows" -> "cm" -> "pixels" -> etc.) + +Example: + +We want to set up a numeric input followed by two possible units: "rows" or "pixels". The current value is "2" + "lines". We use values defined directly in the object ("unitsList" attribute): + +````code4d +ARRAY TEXT($_units;0) +APPEND TO ARRAY($_units;"lines") +APPEND TO ARRAY($_units;"pixels") +C_OBJECT($ob) +OB SET($ob;"valueType";"integer") +OB SET($ob;"value";2) // 2 "units" +OB SET($ob;"unitReference";1) //"lines" +OB SET ARRAY($ob;"unitsList";$_units) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_unitList.png) + +#### alternateButton + +If you want to add an ellipsis button [...] to a cell, you just need to pass the "alternateButton" with the True value in the object. The button will be displayed in the cell automatically. + +When this button is clicked by a user, an `On Alternate Click` event will be generated, and you will be able to handle it however you want (see the "Event management" paragraph for more information). +> `On Alternate Click` is the new name of the `On Arrow Click` event, renamed in 4D v15 to highlight its extended scope. + +Example: + +````code4d +C_OBJECT($ob1) +$entry:="Hello world!" +OB SET($ob;"valueType";"text") +OB SET($ob;"alternateButton";True) +OB SET($ob;"value";$entry) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_alternateButton.png) + + +#### color valueType + +The "color" valueType allows you to display either a color or a text. + +* If the value is a number, a colored rectangle is drawn inside the cell. Example: + + ````code4d + C_OBJECT($ob4) + OB SET($ob4;"valueType";"color") + OB SET($ob4;"value";0x00FF0000) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_colorValue.png) + + +* If the value is a text, then the text is displayed (*e.g.*: "value";"Automatic"). + + +#### event valueType + +The "event" valueType displays a simple button that generates an `On Clicked` event when clicked. No data or value can be passed or returned. + +Optionally, you can pass a "label" attribute. + +Example: + +````code4d +C_OBJECT($ob) +OB SET($ob;"valueType";"event") +OB SET($ob;"label";"Edit...") +```` + +![](assets/en/FormObjects/listbox_column_objectArray_eventValueType.png) + + +### Event management +Several events can be handled while using an object list box array: + +* **On Data Change**: An `On Data Change` event is triggered when any value has been modified either: + * in a text input zone + * in a drop-down list + * in a combo box area + * in a unit button (switch from value x to value x+1) + * in a check box (switch between checked/unchecked) +* **On Clicked**: When the user clicks on a button installed using the "event" *valueType* attribute, an `On Clicked` event will be generated. This event is managed by the programmer. +* **On Alternative Click**: When the user clicks on an ellipsis button ("alternateButton" attribute), an `On Alternative Click` event will be generated. This event is managed by the programmer. +> `On Alternative Click` is the new name of the `On Arrow Click` event that was available in previous versions of 4D. This event has been renamed in 4D v15 since its scope has been extended. + + + diff --git a/website/translated_docs/de/FormObjects/pictureButton_overview.md b/website/translated_docs/de/FormObjects/pictureButton_overview.md new file mode 100644 index 00000000000000..97aa9cc8d078cd --- /dev/null +++ b/website/translated_docs/de/FormObjects/pictureButton_overview.md @@ -0,0 +1,63 @@ +--- +id: pictureButtonOverview +title: Picture Button +--- + +## Overview + +A picture button is similar to a [standard button](button_overview.md). However unlike a standard button (which accepts three states: enabled, disabled and clicked), a picture button has a different image to represent each state. + +Picture buttons can be used in two ways: + +* As command buttons in a form. In this case, the picture button generally includes four different states: enabled, disabled, clicked and rolled over. For example, a table of thumbnails that has one row of four columns, each thumbnail corresponds to the Default, Clicked, Roll over, and Disabled states. + + | Property | JSON name | Value | + | -------------------------- | ---------------------- | ----- | + | Rows | rowCount | 1 | + | Columns | columnCount | 4 | + | Switch back when Released | switchBackWhenReleased | true | + | Switch when Roll Over | switchWhenRollover | true | + | Use Last Frame as Disabled | useLastFrameAsDisabled | true | + +* As a picture button letting the user choose among several choices. In this case, a picture button can be used in place of a pop-up picture menu. With [Picture Pop-up Menus](picturePopupMenu_overview.md), all choices are displayed simultaneously (as the items in the pop-up menu), while the picture button displays the choices consecutively (as the user clicks the button). Here is an example of a picture button. Suppose you want to give the users of a custom application the opportunity to choose the interface language for the application. You implement the option as a picture button in a custom properties dialog box: + +![](assets/en/FormObjects/button_pictureButton.png) + +Clicking the object changes the picture. + + +## Using picture buttons + +You can implement a picture button in the following manner: + +1. First, prepare a single graphic in which the series of images are arranged in a row, a column, or a row-by-column grid. + + ![](assets/en/FormObjects/pictureButton_grid.png) + +You can organize pictures as columns, rows, or a row-by-column grid (as shown above). When organizing pictures as a grid, they are numbered from left to right, row by row, beginning with 0. For example, the second picture of the second row of a grid that consists of two rows and three columns, is numbered 4 (The UK flag in the example above). + +2. Next, make sure the image is in your project's Resources and enter the path in the [Pathname](properties_TextAndPicture.md#picture-pathname) property. + +3. Define the graphic's [Rows and Columns](properties_Crop.md) properties. + +4. Specify when the images change by selecting appropriate [animation](properties_Animation.md) properties. + + +## Animation + +In addition to the standard positioning and appearance settings, you can set some specific properties for picture buttons, especially concerning how and when the pictures are displayed. These property options can be combined to enhance your picture buttons. + +- By default (when no [animation option](properties_Animation.md) is selected), a picture button displays the next picture in the series when the user clicks; it displays the previous picture in the series when the user holds down the **Shift** key and clicks. When the user reaches the last picture in the series, the picture does not change when the user clicks again. In other words, it does not cycle back to the first picture in the series. + +The following other modes are available: +- [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) +- [Switch back when Released](properties_Animation.md#switch-back-when-released) +- [Switch when Roll Over](properties_Animation.md#switch-when-roll-over) +- [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) +- [Use Last Frame as Disabled](properties_Animation.md#use-last-frame-as-disabled) +- [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) +> The [associated variable](properties_Object.md#variable-or-expression) of the picture button returns the index number, in the thumbnail table, of the current picture displayed. The numbering of pictures in the table begins with 0. + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md) - [Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switchBackWhenReleased) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switchWhenRollOver) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/website/translated_docs/de/FormObjects/properties_Action.md b/website/translated_docs/de/FormObjects/properties_Action.md new file mode 100644 index 00000000000000..452714477f7a67 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Action.md @@ -0,0 +1,189 @@ +--- +id: propertiesAction +0: title:Action +--- + + +--- +## Draggable + +Control whether and how the user can drag the object. By default, no drag operation is allowed. + +Two drag modes are available: + +- **Custom**: In this mode, any drag operation performed on the object triggers the `On Begin Drag` form event in the context of the object. You then manage the drag action using a method. In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D **copies** text or pictures directly from the form object. It can then be used in the same 4D area, between two 4D areas, or between 4D and another application. For example, automatic drag (and drop) lets you copy a value between two fields without using programming: ![](assets/en/FormObjects/property_automaticDragDrop.png) ![](assets/en/FormObjects/property_automaticDragDrop2.png) In this mode, the `On Begin Drag` form event is NOT generated. If you want to "force" the use of the custom drag while automatic drag is enabled, hold down the **Alt** (Windows) or **Option** (macOS) key during the action. This option is not available for pictures. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------------------------------ | +| dragging | text | "none" (default), "custom", "automatic" (excluding list box) | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + + + +#### See also +[Droppable](#droppable) + + +--- +## Droppable + +Control whether and how the object can be the destination of a drag and drop operation. + +Two drop modes are available: + +- **Custom**: In this mode, any drop operation performed on the object triggers the `On Drag Over` and `On Drop` form events in the context of the object. You then manage the drop action using a method. In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D automatically manages — if possible — the insertion of dragged data of the text or picture type that is dropped onto the object (the data are pasted into the object). The `On Drag Over` and `On Drop` form events are NOT generated. On the other hand, the `On After Edit` (during the drop) and `On Data Change` (when the object loses the focus) events are generated. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------------------------------ | +| dropping | text | "none" (default), "custom", "automatic" (excluding list box) | + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + +#### See also +[Draggable](#draggable) + + +--- +## Execute object method +When this option is enabled, the object method is executed with the `On Data Change` event *at the same moment* the user changes the value of the indicator. When the option is disabled, the method is executed *after* the modification. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------- | +| continuousExecution | boolean | true, false | + +#### Objects Supported + +[Progress bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + + + + + +--- +## Method + +Reference of a method attached to the object. Object methods generally "manage" the object while the form is displayed or printed. You do not call an object method—4D calls it automatically when an event involves the object to which the object method is attached. + +Several types of method references are supported: + +- a standard object method file path, i.e. that uses the following pattern: `ObjectMethods/objectName.4dm` ... where `objectName` is the actual [object name](properties_Object.md#object-name). This type of reference indicates that the method file is located at the default location ("sources/forms/*formName*/ObjectMethods/"). In this case, 4D automatically handles the object method when operations are executed on the form object (renaming, duplication, copy/paste...) + +- a project method name: name of an existing project method without file extension, i.e.: `myMethod` In this case, 4D does not provide automatic support for object operations. + +- a custom method file path including the .4dm extension, e.g.: `ObjectMethods/objectName.4dm` You can also use a filesystem: `/RESOURCES/Buttons/bOK.4dm` In this case, 4D does not provide automatic support for object operations. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ------------------------------------------------------------------ | +| method | text | Object method standard or custom file path, or project method name | + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Movable Rows +`Array type list boxes` + +Authorizes the movement of rows during execution. This option is selected by default. It is not available for [selection type list boxes](listbox_overview.md#selection-list-boxes) nor for [list boxes in hierarchical mode](properties_Hierarchy.md#hierarchical-list-box). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| movableRows | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + + +--- +## Multi-selectable + +Allows the selection of multiple records/options in a [hierarchical list](list_overview.md). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | text | "multiple", "single", "none" | + +#### Objects Supported + +[Hierarchical List](list_overview.md) + + + + +--- +## Sortable + +Allows sorting column data by clicking a [listbox](listbox_overview.md) header. This option is selected by default. Picture type arrays (columns) cannot be sorted using this feature. + +In list boxes based on a selection of records, the standard sort function is available only: +* When the data source is *Current Selection*, +* With columns associated with fields (of the Alpha, Number, Date, Time or Boolean type). + +In other cases (list boxes based on named selections, columns associated with expressions), the standard sort function is not available. A standard list box sort changes the order of the current selection in the database. However, the highlighted records and the current record are not changed. A standard sort synchronizes all the columns of the list box, including calculated columns. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| sortable | boolean | true, false | + +#### Objects Supported +[List Box](listbox_overview.md) + + + + + + +--- +## Standard action +Typical activities to be performed by active objects (*e.g.*, letting the user accept, cancel, or delete records, move between records or from page to page in a multi-page form, etc.) have been predefined by 4D as standard actions. They are described in detail in the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section of the *Design Reference*. + +You can assign both a standard action and a project method to an object. In this case, the standard action is usually executed after the method and 4D uses this action to enable/disable the object according to the current context. When an object is deactivated, the associated project method cannot be executed. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ---------------------------------------------------------------------------------------------------------------- | +| action | string | The name of a [valid standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html). | + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [List Box](listbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Tab control](tabControl.md) diff --git a/website/translated_docs/de/FormObjects/properties_Animation.md b/website/translated_docs/de/FormObjects/properties_Animation.md new file mode 100644 index 00000000000000..70ced18edd36f0 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Animation.md @@ -0,0 +1,122 @@ +--- +id: propertiesAnimation +0: title:Animation +--- + +--- +## Loop back to first frame + +Pictures are displayed in a continuous loop. When the user reaches the last picture and clicks again, the first picture appears, and so forth. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | --------------- | +| loopBackToFirstFrame | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + +--- +## Switch back when released + +Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released. This mode allows you to create an action button with a different picture for each state (idle and clicked). You can use this mode to create a 3D effect or display any picture that depicts the action of the button. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | --------------- | +| switchBackWhenReleased | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch continuously on clicks + +Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation). When the user reaches the last picture, the object does not cycle back to the first picture. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| switchContinuously | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + +--- +## Switch every x ticks + +Enables cycling through the contents of the picture button at the specified speed (in ticks). In this mode, all other options are ignored. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| frameDelay | integer | minimum: 0 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch when roll over + +Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| switchWhenRollover | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + +--- +## Use Last frame as disabled + +Enables setting the last thumbnail as the one to display when the button is disabled. The thumbnail used when the button is disabled is processed separately by 4D: when you combine this option with "Switch Continuously" and "Loop Back to First Frame", the last picture is excluded from the sequence associated with the button and only appears when it is disabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------------- | --------- | --------------- | +| useLastFrameAsDisabled | boolean | true, false | + + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + diff --git a/website/translated_docs/de/FormObjects/properties_Appearance.md b/website/translated_docs/de/FormObjects/properties_Appearance.md new file mode 100644 index 00000000000000..305832551d998f --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Appearance.md @@ -0,0 +1,427 @@ +--- +id: propertiesAppearance +0: title:Appearance +--- + +## Default Button + +The default button property modifies a button's appearance in order to indicate the recommended choice to the user. The difference in appearance depends on the OS. + +| Windows | macOS | +|:--------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------:| +| The default button has a blue outline.

    ![](assets/en/FormObjects/property_defaultButtonWindows.en.png) | The default buttons are blue.

    ![](assets/en/FormObjects/property_defaultButtonmacOS.en.png) | +> There can only be one default button per form page. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + defaultButton|boolean|true, false | + +#### Objects Supported + +[Regular Button](button_overview.md#regular) - [Flat Button](button_overview.md#regular) + + + + + + +## Hide focus rectangle + +During execution, a field or any enterable area is outlined by a selection rectangle when it has the focus (via the Tab key or a single click). You can hide this rectangle by enabling this property. Hiding the focus rectangle may be useful in the case of specific interfaces. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| hideFocusRing | boolean | true, false | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Subform](subform_overview.md) + + + + +## Hide selection highlight +`Selection type list boxes` + +This property is used to disable the selection highlight in list boxes. + +When this option is enabled, the selection highlight is no longer visible for selections made in list boxes. Selections themselves are still valid and work in exactly the same way as previously; however, they are no longer represented graphically onscreen, and you will need to [define their appearance programmatically](listbox_overview.md#customizing-appearance-of-selected-rows). + +By default, this option is not enabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------- | +| hideSystemHighlight | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + +## Horizontal Scroll Bar + +An interface tool allowing the user to move the viewing area to the left or right. + +Available values: + +| Property List | JSON value | Description | +| ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Yes | "visible" | The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame). | +| No | "hidden" | The scrollbar is never visible | +| Automatic | "automatic" | The scrollbar appears automatically whenever necessary and the user can enter text larger than the object width | + + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | -------------------------------- | +| scrollbarHorizontal | text | "visible", "hidden", "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also +[Vertical scroll bar](#vertical-scroll-bar) + + +## Resolution + +Sets the screen resolution for the 4D Write Pro area contents. By default, it is set to 72 dpi (macOS), which is the standard resolution for 4D forms on all platforms. Setting this property to 96 dpi will set a windows/web rendering on both macOS and Windows platforms. Setting this property to **automatic** means that document rendering will differ between macOS and Windows platforms. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + dpi|number|0=automatic, 72, 96 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show background + +Displays/hides both background images and background color. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showBackground|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show footers + +Displays/hides the footers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showFooters|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Show Formula Bar + +When enabled, the formula bar is visible below the Toolbar interface in the 4D View Pro area. If not selected, the formula bar is hidden. + +> This property is available only for the [Toolbar](#user-interface) interface. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + withFormulaBar|boolean|true (default), false| + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + + +## Show headers + +Displays/hides the headers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHeaders|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show hidden characters + +Displays/hides invisible characters + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHiddenChars|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Show horizontal ruler + +Displays/hides the horizontal ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHorizontalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + + + +## Show HTML WYSYWIG + +Enables/disables the HTML WYSIWYG view, in which any 4D Write Pro advanced attributes which are not compliant with all browsers are removed. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHTMLWysiwyg|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show page frame + +Displays/hides the page frame when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showPageFrames|boolean|true, false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show references + +Displays all 4D expressions inserted in the 4D Write Pro document as *references*. When this option is disabled, 4D expressions are displayed as *values*. By default when you insert a 4D field or expression, 4D Write Pro computes and displays its current value. Select this property if you wish to know which field or expression is displayed. The field or expression references then appear in your document, with a gray background. + +For example, you have inserted the current date along with a format, the date is displayed: + +![](assets/en/FormObjects/writePro1.png) + +With the Show references property on, the reference is displayed: + +![](assets/en/FormObjects/writeProExpr.png) + +> 4D expressions can be inserted using the `ST INSERT EXPRESSION` command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showReferences|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show vertical ruler + +Displays/hides the vertical ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showVerticalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Tab Control Direction + +You can set the direction of tab controls in your forms. This property is available on all the platforms but can only be displayed in macOS. You can choose to place the tab controls on top (standard) or on the bottom. + +When tab controls with a custom direction are displayed under Windows, they automatically return to the standard direction (top). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + labelsPlacement|boolean|"top", "bottom" | + +#### Objects Supported + +[Tab Control](tabControl.md) + + + +## User Interface + +You can add an interface to 4D View Pro areas to allow end users to perform basic modifications and data manipulations. 4D View Pro offers two optional interfaces to choose from, **Ribbon** and **Toolbar**. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + userInterface|text|"none" (default), "ribbon", "toolbar" | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + + +#### See also + +[4D View Pro reference guide](https://doc.4d.com/4Dv18/4D/18/4D-View-Pro-Reference.100-4522233.en.html) + + +## Vertical Scroll Bar + +An interface tool allowing the user to move the viewing area up and down. + +Available values: + +| Property List | JSON value | Description | +| ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Yes | "visible" | The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame). | +| No | "hidden" | The scrollbar is never visible | +| Automatic | "automatic" | The scrollbar appears automatically whenever necessary (in other words, when the size of the object contents is greater than that of the frame) | + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +> If a text input object does not have a scroll bar, the user can scroll the information using the arrow keys. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | -------------------------------- | +| scrollbarVertical | text | "visible", "hidden", "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also + +[Horizontal scroll bar](#horizontal-scroll-bar) + + +## View mode + +Sets the mode for displaying the 4D Write Pro document in the form area. Three values are available: + +- **Page**: the most complete view mode, which includes page outlines, orientation, margins, page breaks, headers and footers, etc. +- **Draft**: draft mode with basic document properties +- **Embedded**: view mode suitable for embedded areas; it does not display margins, footers, headers, page frames, etc. This mode can also be used to produce a web-like view output (if you also select the [96 dpi resolution](#resolution) and the [Show HTML WYSIWYG](#show-html-wysiwyg) properties). + +> The View mode property is only used for onscreen rendering. Regarding printing settings, specific rendering rules are automatically used. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + layoutMode|text|"page", "draft", "embedded"| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Zoom + +Sets the zoom percentage for displaying 4D Write Pro area contents. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + zoom|number|minimum = 0 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + diff --git a/website/translated_docs/de/FormObjects/properties_BackgroundAndBorder.md b/website/translated_docs/de/FormObjects/properties_BackgroundAndBorder.md new file mode 100644 index 00000000000000..b5b3866cdd11a6 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_BackgroundAndBorder.md @@ -0,0 +1,225 @@ +--- +id: propertiesBackgroundAndBorder +title: Background and Border +--- + +--- +## Alternate Background Color + +Allows setting a different background color for odd-numbered rows/columns in a list box. By default, *Automatic* is selected: the column uses the alternate background color set at the list box level. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------- | +| alternateFill | string | any css value; "transparent"; "automatic" | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + + + +--- +## Background Color / Fill Color + +Defines the background color of an object. + +In the case of a list box, by default *Automatic* is selected: the column uses the background color set at the list box level. + +#### JSON Grammar + + +| Name | Data Type | Possible Values | +| ---- | --------- | ----------------------------------------- | +| fill | string | any css value; "transparent"; "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-footers) - [Oval](shapes_overview.md#oval) - [Rectangle](shapes_overview.md#rectangle) + +#### See also +[Transparent](#transparent) + + +--- +## Background Color Expression + +`Selection and collection type list boxes` + +An expression or a variable (array variables cannot be used) to apply a custom background color to each row of the list box. The expression or variable will be evaluated for each row displayed and must return a RGB color value. For more information, refer to the description of the `OBJECT SET RGB COLORS` command in the *4D Language Reference manual*. +> With collection or entity selection type list boxes, this property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------- | +| rowFillSource | string | An expression returning a RGB color value | + +#### Objects Supported +[List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Border Line Style / Dotted Line Type + +Allows setting a standard style for the object border. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------------- | +| borderStyle | text | "system", "none", "solid", "dotted", "raised", "sunken", "double" | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Rectangle](shapes_overview.md#rectangle) - [Plug-in Area](pluginArea_overview.md#overview) - [Subform](subform_overview.md#overview) - [Web Area](webArea_overview.md#overview) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [4D Write Pro areas](writeProArea_overview.md) + + + + +--- +## Dotted Line Type + +Describes dotted line type as a sequence of black and white points. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | ---------------------- | ------------------------------------------------------------------------ | +| strokeDashArray | number array or string | Ex. "6 1" or \[6,1\] for a sequence of 6 black point and 1 white point | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + + +--- +## Hide extra blank rows + +Controls the display of extra blank rows added at the bottom of a list box object. By default, 4D adds such extra rows to fill the empty area: + +![](assets/en/FormObjects/property_hideExtraBlankRows1.png) + +You can remove these empty rows by selecting this option. The bottom of the list box object is then left blank: + +![](assets/en/FormObjects/property_hideExtraBlankRows2.png) + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| hideExtraBlankRows | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + +--- +## Font Color / Line Color + +For objects containing text (text, input, group box, list box header or footer), designates the font color. + +For shape objects (rectangle, line, oval), designates the color of the object's lines. + +#### JSON Grammar + + +| Name | Data Type | Possible Values | +| ------ | --------- | ----------------------------------------- | +| stroke | string | any css value, "transparent", "automatic" | + +#### Objects Supported + +[Group box](groupBox.md) - [Text](text.md) - [Input](input_overview.md) - [List box header](listbox_overview.md#header) - [List box footer](listbox_overview.md#footer) - [Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + +--- +## Line Width + +Designates the thickness of a line. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------------- | +| strokeWidth | number | 0 for smallest width on a printed form, or any integer value < 20 | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + + + + + +--- +## Row Background Color Array + +`Array type list boxes` + +The name of an array to apply a custom background color to each row of the list box or column. + +The name of a Longint array must be entered. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. + +For example, given a list box where the rows have an alternating gray/light gray color, defined in the properties of the list box. A background color array has also been set for the list box in order to switch the color of rows where at least one value is negative to light orange: + +```code4d + <>_BgndColors{$i}:=0x00FFD0B0 // orange + <>_BgndColors{$i}:=-255 // default value +``` +![](assets/en/FormObjects/listbox_styles1.png) + +Next you want to color the cells with negative values in dark orange. To do this, you set a background color array for each column, for example <>_BgndColor_1, <>_BgndColor_2 and <>_BgndColor_3. The values of these arrays have priority over the ones set in the list box properties as well as those of the general background color array: + +```code4d + <>_BgndColorsCol_3{2}:=0x00FF8000 // dark orange + <>_BgndColorsCol_2{5}:=0x00FF8000 + <>_BgndColorsCol_1{9}:=0x00FF8000 + <>_BgndColorsCol_1{16}:=0x00FF8000 +``` +![](assets/en/FormObjects/listbox_styles2.png) + +You can get the same result using the `LISTBOX SET ROW FONT STYLE` and `LISTBOX SET ROW COLOR` commands. They have the advantage of letting you skip having to predefine style/color arrays for the columns: instead they are created dynamically by the commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| rowFillSource | string | The name of a longint array. | + +#### Objects Supported +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Transparent + +Sets the list box background to "Transparent". When set, any [alternate background color](#alternate-background-color) or [background color](#background-color-fill-color) defined for the column is ignored. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| fill | text | "transparent" | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + +#### See also +[Background Color / Fill Color](#background-color-fill-color) \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/properties_CoordinatesAndSizing.md b/website/translated_docs/de/FormObjects/properties_CoordinatesAndSizing.md new file mode 100644 index 00000000000000..4d3736e6e658e4 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_CoordinatesAndSizing.md @@ -0,0 +1,284 @@ +--- +id: propertiesCoordinatesAndSizing +0: title:Coordinates & Sizing +--- + +--- +## Automatic Row Height +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is only available for array-based, non-hierarchical list boxes. The property is not selected by default. + +When used, the height of every row in the column will automatically be calculated by 4D, and the column contents will be taken into account. Note that only columns with the option selected will be taken into account to calculate the row height. +> When resizing the form, if the "Grow" [horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + +When this property is enabled, the height of every row is automatically calculated in order to make the cell contents entirely fit without being truncated (unless the [Wordwrap](properties_Display.md#wordwrap) option is disabled. + +* The row height calculation takes into account: + * any content types (text, numerics, dates, times, pictures (calculation depends on the picture format), objects), + * any control types (inputs, check boxes, lists, dropdowns), + * fonts, fonts styles and font sizes, + * the [Wordwrap](properties_Display.md#wordwrap) option: if disabled, the height is based on the number of paragraphs (lines are truncated); if enabled, the height is based on number of lines (not truncated). + +* The row height calculation ignores: + * hidden column contents + * [Row Height](#row-height) and [Row Height Array](#row-height-array) properties (if any) set either in the Property list or by programming. +> Since it requires additional calculations at runtime, the automatic row height option could affect the scrolling fluidity of your list box, in particular when it contains a large number of rows. + + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| rowHeightAuto | boolean | true, false | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Bottom + +Bottom coordinate of the object in the form. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | --------------- | +| bottom | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Left + +Left coordinate of the object on the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| left | number | minimum: 0 | + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Right + +Right coordinate of the object in the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| right | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Top + +Top coordinate of the object in the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| top | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Corner Radius + +Defines the corner roundness (in pixels) of objects of the [rectangle](shapes_overview.md#rectangle) type. By default, the radius value for rectangles is 0 pixels. You can change this property to draw rounded rectangles with custom shapes: + +![](assets/en/FormObjects/shape_rectangle.png) + +Minimum value is 0, in this case a standard non-rounded rectangle is drawn. Maximum value depends on the rectangle size (it cannot exceed half the size of the shortest rectangle side) and is calculated dynamically. + +You can also set this property using the [OBJECT Get corner radius](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-Get-corner-radius.301-4311357.en.html) and [OBJECT SET CORNER RADIUS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-CORNER-RADIUS.301-4311356.en.html) commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| borderRadius | integer | minimum: 0 | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) + + + + +--- +## Height + +This property designates an object's vertical size. +> Some objects may have a predefined height that cannot be altered. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | --------------- | +| height | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Width + +This property designates an object's horizontal size. +> * Some objects may have a predefined height that cannot be altered. +> * If the [Resizable](properties_ResizingOptions.md#resizable) property is used for a [list box column](listbox_overview.md#list-box-columns), the user can also manually resize the column. +> * When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| width | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + + + + + + +--- +## Maximum Width + +The maximum width of the column (in pixels). The width of the column cannot be increased beyond this value when resizing the column or form. +> When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| maxWidth | number | minimum: 0 | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + +--- +## Minimum Width + +The minimum width of the column (in pixels). The width of the column cannot be reduced below this value when resizing the column or form. +> When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| minWidth | number | minimum: 0 | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + + + +--- +## Row Height + + +Sets the height of list box rows (excluding headers and footers). By default, the row height is set according to the platform and the font size. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ---------------------------------------- | +| rowHeight | string | css value in unit "em" or "px" (default) | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height Array](#row-height-array) + + + +--- +## Row Height Array +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is used to specify the name of a row height array that you want to associate with the list box. A row height array must be of the numeric type (longint by default). + +When a row height array is defined, each of its elements whose value is different from 0 (zero) is taken into account to determine the height of the corresponding row in the list box, based on the current Row Height unit. + +For example, you can write: + +```code4d +ARRAY LONGINT(RowHeights;20) +RowHeights{5}:=3 +``` + +Assuming that the unit of the rows is "lines," then the fifth row of the list box will have a height of three lines, while every other row will keep its default height. +> * The Row Height Array property is not taken into account for hierarchical list boxes. +> * For array-based list boxes, this property is available only if the [Automatic Row Height](#automatic-row-height) option is not selected. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | ---------------------------- | +| rowHeightSource | string | Name of a 4D array variable. | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height](#row-height) + + + + diff --git a/website/translated_docs/de/FormObjects/properties_Crop.md b/website/translated_docs/de/FormObjects/properties_Crop.md new file mode 100644 index 00000000000000..5a08cf891a9c09 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Crop.md @@ -0,0 +1,47 @@ +--- +id: propertiesCrop +0: title:Crop +--- + +--- +## Columns + +Sets the number of columns in a thumbnail table. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----------- |:---------:| --------------- | +| columnCount | integer | minimum: 1 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + +--- +## Rows + +Sets the number of rows in a thumbnail table. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------- |:---------:| --------------- | +| rowCount | integer | minimum: 1 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + + + + + + + diff --git a/website/translated_docs/de/FormObjects/properties_DataSource.md b/website/translated_docs/de/FormObjects/properties_DataSource.md new file mode 100644 index 00000000000000..33f64f77686a73 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_DataSource.md @@ -0,0 +1,290 @@ +--- +id: propertiesDataSource +title: Data Source +--- + +--- +## Automatic Insertion + +When this option is selected, if a user enters a value that is not found in the choice list associated with the object, this value is automatically added to the list stored in memory. You can associate choice lists to objects using: +- the [Choice List](properties_DataSource.md#choice-list) JSON property +- the [OBJECT SET LIST BY NAME](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-NAME.301-4128227.en.html) or [OBJECT SET LIST BY REFERENCE](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-REFERENCE.301-4128237.en.html) commands. +- the form editor's Property List. + +For example, given a choice list containing "France, Germany, Italy" that is associated with a "Countries" combo box: if the **automatic insertion** property is set and a user enters "Spain", then the value "Spain" is automatically added to the list in memory: + +![](assets/en/FormObjects/comboBox_AutomaticInsertion_example.png) + +Naturally, the value entered must not belong to the list of [excluded values](properties_RangeOfValues.md#excluded-list) associated with the object, if one has been set. +> If the list was created from a list defined in Design mode, the original list is not modified. + +When the **automatic insertion** option is not selected (default), the value entered is stored in the object but not in the list in memory. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| automaticInsertion | boolean | true, false | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Choice List + +Associates a choice list with an object. It can be a choice list name (a list reference) or a collection of default values. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ---------------- | --------------------------------------------------- | +| choiceList | list, collection | A list of possible values | +| list | list, collection | A list of possible values (hierarchical lists only) | + + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Choice List (static list) + +List of static values to use as labels for the tab control object. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | ---------------- | ---------------------------------------- | +| labels | list, collection | A list of values to fill the tab control | + +#### Objects Supported + +[Tab Control](tabControl.md) + + +--- +## Current item +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the collection element/entity selected by the user. You must use an object variable or an assignable expression that accepts objects. If the user does not select anything or if you used a collection of scalar values, the Null value is assigned. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | ----------------- | +| currentItemSource | string | Object expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + + + +--- + +## Current item position +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned a longint indicating the position of the collection element/entity selected by the user. + +* if no element/entity is selected, the variable or expression receives zero, +* if a single element/entity is selected, the variable or expression receives its location, +* if multiple elements/entities are selected, the variable or expression receives the position of element/entity that was last selected. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------------- | --------- | ----------------- | +| currentItemPositionSource | string | Number expression | + +#### Objects Supported +[List Box ](listbox_overview.md) + + + + + +--- +## Data Type + +Please refer to [Expression Type](properties_Object.md#expression-type) section. + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- + +## Default (list of) values + +List of values that will be used as default values for the list box column (array type only). These values are automatically available in the [array variable](properties_Object.md#variable-or-expression) associated with this column when the form is executed. Using the language, you can manage the object by referring to this array. + +> Do not make confusion between this property and the "[default value](properties_RangeOfValues.md#default-list-of-values)" property that allows to define a field value in new records. + +You must enter a list of values. In the Form editor, a specific dialog box allows you to enter values separated by carriage returns: + +![](assets/en/FormObjects/defaultValues.png) + +> You can also define a [choice list](properties_DataSource.md#choice-list) with the list box column. However, a choice list will be used as list of selectable values for each column row, whereas the default list fill all column rows. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | ---------- | ---------------------------------------------------------------- | +| values | collection | A collection of default values (strings), ex: "a", "b", "c", "d" | + +#### Objects Supported + +[List Box Column (array type only)](listbox_overview.md#list-box-columns) + + + + +--- +## Expression + +This description is specific to [selection](listbox_overview.md#selection-list-boxes) and [collection](listbox_overview.md#collection-or-entity-selection-list-boxes) type list box columns. See also **[Variable or Expression](properties_Object.md#variable-or-expression)** section. + +A 4D expression to be associated with a column. You can enter: + +- A **simple variable** (in this case, it must be explicitly declared for compilation). You can use any type of variable except BLOBs and arrays. The value of the variable will be generally calculated in the `On Display Detail` event. + +- A **field** using the standard [Table]Field syntax ([selection type list box](listbox_overview.md#selection-list-boxes) only), for example: `[Employees]LastName`. The following types of fields can be used: + * String + * Numeric + * Date + * Time + * Picture + * Boolean You can use fields from the Master Table or from other tables. + +- A **4D expression** (simple expression, formula or 4D method). The expression must return a value. The value will be evaluated in the `On Display Detail` and `On Data Change` events. The result of the expression will be automatically displayed when you switch to Application mode. The expression will be evaluated for each record of the selection (current or named) of the Master Table (for selection type list boxes), each element of the collection (for collection type list boxes) or each entity of the selection (for entity selection list boxes). If it is empty, the column will not display any results. The following expression types are supported: + * String + * Numeric + * Date + * Picture + * Boolean + + For collection/entity selection list boxes, Null or unsupported types are displayed as empty strings. When using collections or entity selections, you will usually declare the element property or entity attribute associated to a column within an expression containing [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html). `This` is a dedicated 4D command that returns a reference to the currently processed element. For example, you can use **This.\** where **\** is the path of a property in the collection or an entity attribute path to access the current value of each element/entity. If you use a collection of scalar values, 4D will create an object for each collection element with a single property (named "value"), filled with the element value. In this case, you will use **This.value** as expression. + + If a [non-assignable expression](Concepts/quick-tour.md#expressions) is used (e.g. `[Person]FirstName+" "+[Person]LastName`), the column is never enterable even if the [Enterable](properties_Entry.md#enterable) property is enabled. + +If a field, a variable, or an assignable expression (*e.g. Person.lastName*) is used, the column can be enterable or not depending on the [Enterable](properties_Entry.md#enterable) property. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------- | +| dataSource | string | A 4D variable, field name, or an arbitrary complex language expression. | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Master Table +`Current selection list boxes` + +Specifies the table whose current selection will be used. This table and its current selection will form the reference for the fields associated with the columns of the list box (field references or expressions containing fields). Even if some columns contain fields from other tables, the number of rows displayed will be defined by the master table. + +All database tables can be used, regardless of whether the form is related to a table (table form) or not (project form). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| table | number | Table number | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + + + +--- + +## Save as + + +This property is available in the following conditions: + +- a [choice list](#choice-list) is associated with the object +- for [inputs](input_overview.md) and [list box columns](listbox_overview.md#list-box-columns), a [required list](properties_RangeOfValues.md#required-list) is also defined for the object (both options should use usually the same list), so that only values from the list can be entered by the user. + +This property specifies, in the context of a field or variable associated with a list of values, the type of contents to save: + +- **Save as Value** (default option): the value of the item chosen in the list by the user is saved directly. For example, if the user chooses the value "Blue", then this value is saved in the field. +- **Save as Reference**: the reference of the choice list item is saved in the object. This reference is the numeric value associated with each item either through the *itemRef* parameter of the `APPEND TO LIST` or `SET LIST ITEM` commands, or in the lists editor. + +This option lets you optimize memory usage: storing numeric values in fields uses less space than storing strings. It also makes it easier to translate applications: you just create multiple lists in different languages but with the same item references, then load the list based on the language of the application. + +Using this property requires compliance with the following principles: + +- To be able to store the reference, the field or variable data source must be of the Number type (regardless of the type of value displayed in the list). +- Valid and unique references must be associated with list items. +- If you use this property for a [drop-down list](dropdownList_Overview.md), it must be associated with a field. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | -------------------- | +| saveAs | string | "value", "reference" | + +#### Objects Supported +[Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Selected Items +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the elements or entities selected by the user. + +* for a collection list box, you must use a collection variable or an assignable expression that accepts collections, +* for an entity selection list box, an entity selection object is built. You must use an object variable or an assignable expression that accepts objects. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------------- | +| selectedItemsSource | string | Collection expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + +--- +## Selection Name +`Named selection list boxes` + +Specifies the named selection to be used. You must enter the name of a valid named selection. It can be a process or interprocess named selection. The contents of the list box will be based on this selection. The named selection chosen must exist and be valid at the time the list box is displayed, otherwise the list box will be displayed blank. + +> Named selections are ordered lists of records. They are used to keep the order and current record of a selection in memory. For more information, refer to **Named Selections** section in the *4D Language Reference manual*. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | -------------------- | +| namedSelection | string | Named selection name | + +#### Objects Supported +[List Box](listbox_overview.md#overview) diff --git a/website/translated_docs/de/FormObjects/properties_Display.md b/website/translated_docs/de/FormObjects/properties_Display.md new file mode 100644 index 00000000000000..f816af4527a9d8 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Display.md @@ -0,0 +1,611 @@ +--- +id: propertiesDisplay +0: title:Display +--- + +--- +## Alpha Format + +Alpha formats control the way the alphanumeric fields and variables appear when displayed or printed. Here is a list of formats provided for alphanumeric fields: + +![](assets/en/FormObjects/property_alphaFormat.png) + +You can choose a format from this list or use any custom format. The default list contains formats for some of the most common alpha fields that require formats: US telephone numbers (local and long distance), Social Security numbers, and zip codes. You can also enter a custom format name set in the Filters and formats editor of the tool box. In this case, the format cannot be modified in the object properties. Any custom formats or filters that you have created are automatically available, preceded by a vertical bar (|). + +The number sign (#) is the placeholder for an alphanumeric display format. You can include the appropriate dashes, hyphens, spaces, and any other punctuation marks that you want to display. You use the actual punctuation marks you want and the number sign for each character you want to display. + +For example, consider a part number with a format such as "RB-1762-1". + +The alpha format would be: + + ##-####-# + +When the user enters "RB17621," the field displays: + + RB-1762-1 + +The field actually contains "RB17621". + +If the user enters more characters than the format allows, 4D displays the last characters. For example, if the format is: + + (#######) + +and the user enters "proportion", the field displays: + + (portion) + +The field actually contains "proportion". 4D accepts and stores the entire entry no matter what the display format. No information is lost. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------------------------------------------ | +| textFormat | string | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats | + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + + + +--- + +## Date Format + +Date formats control the way dates appear when displayed or printed. For data entry, you enter dates in the MM/DD/YYYY format, regardless of the display format you have chosen. +> Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for dates must only be selected among the 4D built-in formats. + +The table below shows choices available: + +| Format name | JSON String | Example (US system) | +| ------------------------------- | ------------ | ----------------------------- | +| System date short | - (default) | 03/25/20 | +| System date abbreviated *(1)* | systemMedium | Wed, Mar 25, 2020 | +| System date long | systemLong | Wednesday, March 25, 2020 | +| RFC 822 | rfc822 | Tue, 25 Mar 2020 22:00:00 GMT | +| Short Century | shortCentury | 03/25/20 but 04/25/2032 *(2)* | +| Internal date long | long | March 25, 2020 | +| Internal date abbreviated *(1)* | abbreviated | Mar 25, 2020 | +| Internal date short | short | 03/25/2020 | +| ISO Date Time *(3)* | iso8601 | 2020-03-25T00:00:00 | + +*(1)* To avoid ambiguity and in accordance with current practice, the abbreviated date formats display "jun" for June and "jul" for July. This particularity only applies to French versions of 4D. + +*(2)* The year is displayed using two digits when it belongs to the interval (1930;2029) otherwise it will be displayed using four digits. This is by default but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + +*(3)* The `ISO Date Time` format corresponds to the XML date and time representation standard (ISO8601). It is mainly intended to be used when importing/exporting data in XML format and in Web Services. +> Regardless of the display format, if the year is entered with two digits then 4D assumes the century to be the 21st if the year belongs to the interval (00;29) and the 20th if it belongs to the interval (30;99). This is the default setting but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dateFormat | string | "systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + +--- +## Number Format +> Number fields include the Integer, Long integer, Integer 64 bits, Real and Float types. + +Number formats control the way numbers appear when displayed or printed. For data entry, you enter only the numbers (including a decimal point or minus sign if necessary), regardless of the display format you have chosen. + +4D provides various default number formats. + +### Placeholders + +In each of the number display formats, the number sign (#), zero (0), caret (^), and asterisk (*) are used as placeholders. You create your own number formats by using one placeholder for each digit you expect to display. + +| Placeholder | Effect for leading or trailing zero | +| ----------- | ----------------------------------- | +| # | Displays nothing | +| 0 | Displays 0 | +| ^ | Displays a space (1) | +| * | Displays an asterisk | + +(1) The caret (^) generates a space character that occupies the same width as a digit in most fonts. + + +For example, if you want to display three-digit numbers, you could use the format ###. If the user enters more digits than the format allows, 4D displays <<< in the field to indicate that more digits were entered than the number of digits specified in the display format. + + +If the user enters a negative number, the leftmost character is displayed as a minus sign (unless a negative display format has been specified). If ##0 is the format, minus 26 is displayed as –26 and minus 260 is displayed as <<< because the minus sign occupies a placeholder and there are only three placeholders. +> No matter what the display format, 4D accepts and stores the number entered in the field. No information is lost. + +Each placeholder character has a different effect on the display of leading or trailing zeros. A leading zero is a zero that starts a number before the decimal point; a trailing zero is a zero that ends a number after the decimal point. + +Suppose you use the format ##0 to display three digits. If the user enters nothing in the field, the field displays 0. If the user enters 26, the field displays 26. + + +### Separator characters + +The numeric display formats (except for scientific notations) are automatically based on regional system parameters. 4D replaces the “.” and “,” characters by, respectively, the decimal separator and the thousand separator defined in the operating system. The period and comma are thus considered as placeholder characters, following the example of 0 or #. +> On Windows, when using the decimal separator key of the numeric keypad, 4D makes a distinction depending on the type of field where the cursor is located: * in a Real type field, using this key will insert the decimal separator defined in the system, * in any other type of field, this key inserts the character associated with the key, usually a period (.) or comma (,). + + +### Decimal points and other display characters + +You can use a decimal point in a number display format. If you want the decimal to display regardless of whether the user types it in, it must be placed between zeros. + +You can use any other characters in the format. When used alone, or placed before or after placeholders, the characters always appear. For example, if you use the following format: + + $##0 + +a dollar sign always appears because it is placed before the placeholders. + +If characters are placed between placeholders, they appear only if digits are displayed on both sides. For example, if you define the format: + + ###.##0 + +the point appears only if the user enters at least four digits. + +Spaces are treated as characters in number display formats. + +### Formats for positive, negative, and zero + +A number display format can have up to three parts allowing you to specify display formats for positive, negative, and zero values. You specify the three parts by separating them with semicolons as shown below: + + Positive;Negative;Zero + +You do not have to specify all three parts of the format. If you use just one part, 4D uses it for all numbers, placing a minus sign in front of negative numbers. + +If you use two parts, 4D uses the first part for positive numbers and zero and the second part for negative numbers. If you use three parts, the first is for positive numbers, the second for negative numbers, and the third for zero. +> The third part (zero) is not interpreted and does not accept replacement characters. If you enter `###;###;#`, the zero value will be displayed “#”. In other words, what you actually enter is what will be displayed for the zero value. + +Here is an example of a number display format that shows dollar signs and commas, places negative values in parentheses, and does not display zeros: + + $###,##0.00;($###,##0.00); + +Notice that the presence of the second semicolon instructs 4D to use nothing to display zero. The following format is similar except that the absence of the second semicolon instructs 4D to use the positive number format for zero: + + $###,##0.00;($###,##0.00) + +In this case, the display for zero would be $0.00. + +### Scientific notation + +If you want to display numbers in scientific notation, use the **ampersand** (&) followed by a number to specify the number of digits you want to display. For example, the format: + + &3 + +would display 759.62 as: + + 7.60e+2 + + +The scientific notation format is the only format that will automatically round the displayed number. Note in the example above that the number is rounded up to 7.60e+2 instead of truncating to 7.59e+2. + +### Hexadecimal formats + +You can display a number in hexadecimal using the following display formats: + +* `&x`: This format displays hexadecimal numbers using the “0xFFFF” format. +* `&$`: This format displays hexadecimal numbers using the “$FFFF” format. + +### XML notation + +The `&xml` format will make a number compliant with XML standard rules. In particular, the decimal separator character will be a period "." in all cases, regardless of the system settings. + +### Displaying a number as a time + +You can display a number as a time (with a time format) by using `&/` followed by a digit. Time is determined by calculating the number of seconds since midnight that the value represents. The digit in the format corresponds to the order in which the time format appears in the Format drop-down menu. + +For example, the format: + + &/5 + +corresponds to the 5th time format in the pop-up menu, specifically the AM/PM time. A number field with this format would display 25000 as: + + 6:56 AM + +### Examples + +The following table shows how different formats affect the display of numbers. The three columns — Positive, Negative, and Zero — each show how 1,234.50, –1,234.50, and 0 would be displayed. + +| Format Entered | Positive | Negative | Zero | +| -------------------------------------- | ---------------- | ------------- | ---------------------------- | +| ### | <<< | <<< | | +| #### | 1234 | <<<< | | +| ####### | 1234 | -1234 | | +| #####.## | 1234.5 | -1234.5 | | +| ####0.00 | 1234.50 | -1234.50 | 0.00 | +| #####0 | 1234 | -1234 | 0 | +| +#####0;–#####0;0 | +1234 | -1234 | 0 | +| #####0DB;#####0CR;0 | 1234DB | 1234CR | 0 | +| #####0;(#####0) | 1234 | (1234) | 0 | +| ###,##0 | 1,234 | -1,234 | 0 | +| ##,##0.00 | 1,234.50 | -1,234.50 | 0.00 | +| \^\^\^\^\^\^\^ | 1234 | -1234 | | +| \^\^\^\^\^\^0 | 1234 | -1234 | 0 | +| \^\^\^,\^\^0 | 1,234 | -1,234 | 0 | +| \^\^,\^\^0.00 | 1,234.50 | -1,234.50 | 0.00 | +| \*\*\*\*\*\*\* | \*\*\*1234 | \*\*-1234 | \*\*\*\*\*\*\* | +| \*\*\**\*\*0 | \*\*\*1234 | \*\*-1234 | \*\*\*\*\*\*0 | +| \*\*\*,*\*0 | \*\*1,234 | \*-1,234 | \*\*\*\*\*\*0 | +| \*\*,\*\*0.00 | \*1,234.50 | -1,234.50 | \*\*\*\*\*0.00 | +| $\*,\*\*0.00;–$\*,\*\*0.00 | $1,234.50 | -$1,234.50 | $\*\*\*\*0.00 | +| $\^\^\^\^0 | $ 1234 | $–1234 | $ 0 | +| $\^\^\^0;–$\^\^\^0 | $1234 | –$1234 | $ 0 | +| $\^\^\^0 ;($\^\^\^0) | $1234 | ($1234) | $ 0 | +| $\^,\^\^0.00 ;($\^,\^\^0.00) | $1,234.50 | ($1,234.50) | $ 0.00 | +| &2 | 1.2e+3 | -1.2e+3 | 0.0e+0 | +| &5 | 1.23450e+3 | -1.23450e+3 | 0.00000 | +| &xml | 1234.5 | -1234.5 | 0 | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | -------------------------------------------------------------- | +| numberFormat | string | Numbers (including a decimal point or minus sign if necessary) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Progress Indicators](progressIndicator.md) + + + + + + +--- +## Picture Format + +Picture formats control how pictures appear when displayed or printed. For data entry, the user always enters pictures by pasting them from the Clipboard or by drag and drop, regardless of the display format. + +The truncation and scaling options do not affect the picture itself. The contents of a Picture field are always saved. Only the display on the particular form is affected by the picture display format. + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Truncated (centered and non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Truncated (centered)** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. +> When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + +### Scaled to fit (proportional) and Scaled to fit centered (proportional) + +`JSON grammar: "proportionalTopLeft" / "proportionalCenter"` + +When you use **Scaled to fit (proportional)**, the picture is reduced proportionally on all sides to fit the area created for the picture. The **Scaled to fit centered (proportional)** option does the same, but centers the picture in the picture area. + +If the picture is smaller than the area set in the form, it will not be modified. If the picture is bigger than the area set in the form, it is proportionally reduced. Since it is proportionally reduced, the picture will not appear distorted. + +If you have applied the **Scaled to fit centered (proportional)** format, the picture is also centered in the area: + +![](assets/en/FormObjects/property_pictureFormat_ScaledProportional.png) + + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------------------------------------------------------------------- | +| pictureFormat | string | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft", "proportionalCenter" | + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + +--- +## Time Format + +Time formats control the way times appear when displayed or printed. For data entry, you enter times in the 24-hour HH:MM:SS format or the 12-hour HH:MM:SS AM/PM format, regardless of the display format you have chosen. +> Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for times must only be selected among the 4D built-in formats. + +The table below shows the Time field display formats and gives examples: + +| Format name | JSON string | Comments | Example for 04:30:25 | +| ---------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------- | +| HH:MM:SS | hh_mm_ss | | 04:30:25 | +| HH:MM | hh_mm | | 04:30 | +| Hour Min Sec | HH_MM_SS | | 4 hours 30 minutes 25 seconds | +| Hour Min | HH_MM | | 4 hours 30 minutes | +| HH:MM AM/PM | hh_mm_am | | 4:30 a.m. | +| MM SS | mm_ss | Time expressed as a duration from 00:00:00 | 270:25 | +| Min Sec | MM_SS | Time expressed as a duration from 00:00:00 | 270 Minutes 25 Seconds | +| ISO Date Time | iso8601 | Corresponds to the XML standard for representing time-related data. It is mainly intended to be used when importing/exporting data in XML format | 0000-00-00T04:30:25 | +| System time short | - (default) | Standard time format defined in the system | 04:30:25 | +| System time long abbreviated | systemMedium | macOS only: Abbreviated time format defined in the system.
    Windows: this format is the same as the System time short format | 4•30•25 AM | +| System time long | systemLong | macOS only: Long time format defined in the system.
    Windows: this format is the same as the System time short format | 4:30:25 AM HNEC | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timeFormat | string | "systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + +--- +## Text when False/Text when True + +When a [boolean expression](properties_Object.md#expression-type) is displayed as: +- a text in an [input object](input_overview.md) +- a ["popup"](properties_Display.md#display-type) in a [list box column](listbox_overview.md#list-box-columns), + +... you can select the text to display for each value: +- **Text when True** - the text to be displayed when the value is "true" +- **Text when False** - the text to be displayed when the value is "false" + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ------------------------------------------------------------------------ | +| booleanFormat | string | "\<*textWhenTrue*\>;\<*textWhenFalse*\>", e.g. "Assigned;Unassigned" | + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + +--- +## Display Type + +Used to associate a display format with the column data. The formats provided depends on the variable type (array type list box) or the data/field type (selection and collection type list boxes). + +Boolean and number (numeric or integer) columns can be displayed as check boxes. In this case, the [Title](#title) property can be defined. + +Boolean columns can also be displayed as pop-up menus. In this case, the [Text when False and Text when True](#text-when-false-text-when-true) properties must be defined. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| controlType | string |

  • **number columns**: "automatic" (default) or "checkbox"
  • **boolean columns**: "checkbox" (default) or "popup" | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Not rendered + +When this property is enabled, the object is not drawn on the form, however it can still be activated. + +In particular, this property allows implementing "invisible" buttons. Non-rendered buttons can be placed on top of graphic objects. They remain invisible and do not highlight when clicked, however their action is triggered when they are clicked. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | --------------- | +| display | boolean | true, false | + +#### Objects Supported + +[Button](button_overview.md) - [Drop-down List](dropdownList_Overview.md) + + + + + + + +--- +## Three-States + +Allows a check box object to accept a third state. The variable associated with the check box returns the value 2 when the check box is in the third state. + + +#### Three-states check boxes in list box columns + +List box columns with a numeric [data type](properties_Object.md#expression-type) can be displayed as three-states check boxes. If chosen, the following values are displayed: +* 0 = unchecked box, +* 1 = checked box, +* 2 (or any value >0) = semi-checked box (third state). For data entry, this state returns the value 2. +* -1 = invisible check box, +* -2 = unchecked box, not enterable, +* -3 = checked box, not enterable, +* -4 = semi-checked box, not enterable + +In this case as well, the [Title](#title) property is also available so that the title of the check box can be entered. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| threeState | boolean | true, false | + +#### Objects Supported + +[Check box](checkbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Title + +This property is available for a list box column if: +- the [column type](properties_Object.md#expression-type) is **boolean** and its [display type](properties_Display.md#display-type) is "Check Box" +- the [column type](properties_Object.md#expression-type) is **number** (numeric or integer) and its [display type](properties_Display.md#display-type) is "Three-states Checkbox". + +In that cases, the title of the check box can be entered using this property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ---------------------------------- | +| controlTitle | string | Any custom label for the check box | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Truncate with ellipsis + +Controls the display of values when list box columns are too narrow to show their full contents. + +This option is available for columns with any type of contents, except pictures and objects. + +* When the property is enabled (default), if the contents of a list box cell exceed the width of the column, they are truncated and an ellipsis is displayed: + + ![](assets/en/FormObjects/property_truncate1.png) +> The position of the ellipsis depends on the OS. In the above example (Windows), it is added on the right side of the text. On macOS, the ellipsis is added in the middle of the text. + +* When the property is disabled, if the contents of a cell exceed the width of the column, they are simply clipped with no ellipsis added: + + ![](assets/en/FormObjects/property_truncate2.png) + +The Truncate with ellipsis option is enabled by default and can be specified with list boxes of the Array, Selection, or Collection type. + + +> When applied to Text type columns, the Truncate with ellipsis option is available only if the [Wordwrap](#wordwrap) option is not selected. When the Wordwrap property is selected, extra contents in cells are handled through the word-wrapping features so the Truncate with ellipsis property is not available. + +The Truncate with ellipsis property can be applied to Boolean type columns; however, the result differs depending on the [cell format](#display-type): +- For Pop-up type Boolean formats, labels are truncated with an ellipsis, +- For Check box type Boolean formats, labels are always clipped. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ---------------------- | +| truncateMode | string | "withEllipsis", "none" | + + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-footers) + + + + + +--- +## Visibility + +This property allows hiding by default the object in the Application environment. + +You can handle the Visible property for most form objects. This property simplifies dynamic interface development. In this context, it is often necessary to hide objects programatically during the `On load` event of the form then to display certain objects afterwards. The Visible property allows inverting this logic by making certain objects invisible by default. The developer can then program their display using the `OBJECT SET VISIBLE` command depending on the context. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------- | +| visibility | string | "visible", "hidden" | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + + + + + +--- +## Wordwrap + +> For [input](input_overview.md) objects, available when the [Multiline](properties_Entry.md#multiline) property is set to "yes" . + +Manages the display of contents when it exceeds the width of the object. + +#### Checked for list box/Yes for input +`JSON grammar: "normal"` + +When this option is selected, text automatically wraps to the next line whenever its width exceeds that of the column/area, if the column/area height permits it. + +- In single-line columns/areas, only the last word that can be displayed entirely is displayed. 4D inserts line returns; it is possible to scroll the contents of the area by pressing the down arrow key. + +- In multiline columns/areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap2.png) + + +#### Unchecked for list box/No for input +`JSON grammar: "none"` + +When this option is selected, 4D does not do any automatic line returns and the last word that can be displayed may be truncated. In text type areas, carriage returns are supported: + +![](assets/en/FormObjects/wordwrap3.png) + +In list boxes, any text that is too long is truncated and displayed with an ellipse (...). In the following example, the Wordwrap option is **checked for the left column** and **unchecked for the right column**: + +![](assets/en/FormObjects/property_wordwrap1.png) + +Note that regardless of the Wordwrap option’s value, the row height is not changed. If the text with line breaks cannot be entirely displayed in the column, it is truncated (without an ellipse). In the case of list boxes displaying just a single row, only the first line of text is displayed: + +![](assets/en/FormObjects/property_wordwrap2.png) + + +#### Automatic for input (default option) +`JSON grammar: "automatic"` + +- In single-line areas, words located at the end of lines are truncated and there are no line returns. +- In multiline areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap1.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | -------------------------------------------------- | +| wordwrap | string | "automatic" (excluding list box), "normal", "none" | + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + diff --git a/website/translated_docs/de/FormObjects/properties_Entry.md b/website/translated_docs/de/FormObjects/properties_Entry.md new file mode 100644 index 00000000000000..786e2a8dd6cfd8 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Entry.md @@ -0,0 +1,339 @@ +--- +id: propertiesEntry +0: title:Entry +--- + +--- +## Auto Spellcheck + +4D includes an integrated and customizable spell-check utility. Text type [inputs](input_overview.md) can be checked, as well as [4D Write Pro](writeProArea_overview.md) documents. + +The Auto Spellcheck property activates the spell-check for each object. When used, a spell-check is automatically performed during data entry. You can also execute the `SPELL CHECKING` 4D language command for each object to be checked. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| spellcheck | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Input](input_overview.md) + + +--- +## Context Menu + +Allows the user access to a standard context menu in the object when the form is executed. + +For a picture type [input](input_overview.md), in addition to standard editing commands (Cut, Copy, Paste and Clear), the menu contains the **Import...** command, which can be used to import a picture stored in a file, as well as the **Save as...** command, which can be used to save the picture to disk. The menu can also be used to modify the display format of the picture: the **Truncated non-centered**, **Scaled to fit** and **Scaled to fit centered prop.** options are provided. The modification of the [display format](properties_Display#picture-format) using this menu is temporary; it is not saved with the record. + +For a [multi-style](properties_Text.md#multi-style) text type [input](input_overview.md), in addition to standard editing commands, the context menu provides the following commands: +- **Fonts...**: displays the font system dialog box +- **Recent fonts**: displays the names of recent fonts selected during the session. The list can store up to 10 fonts (beyond that, the last font used replaces the oldest). By default, this list is empty and the option is not displayed. You can manage this list using the `SET RECENT FONTS` and `FONT LIST` commands. +- commands for supported style modifications: font, size, style, color and background color. When the user modifies a style attribute via this pop-up menu, 4D generates the `On After Edit` form event. + +For a [Web Area](webArea_overview.md), the contents of the menu depend of the rendering engine of the platform. It is possible to control access to the context menu via the [`WA SET PREFERENCE`](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ------------------------------------- | +| contextMenu | string | "automatic" (used if missing), "none" | + +#### Objects Supported + +[Input](input_overview.md) - [Web Area](webArea_overview.md) - [4D Write Pro areas](writeProArea_overview.md) + + + + + + +--- +## Enterable + +The Enterable attribute indicates whether users can enter values into the object. + +Objects are enterable by default. If you want to make a field or an object non-enterable for that form, you can disable the Enterable property for the object. A non-enterable object only displays data. You control the data by methods that use the field or variable name. You can still use the `On Clicked`, `On Double Clicked`, `On Drag Over`, `On Drop`, `On Getting Focus` and `On Losing Focus` form events with non-enterable objects. This makes it easier to manage custom context menus and lets you design interfaces where you can drag-and-drop and select non-enterable variables. + +When this property is disabled, any pop-up menus associated with a list box column via a list are disabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| enterable | boolean | true, false | + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Progress Bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + +--- +## Entry Filter + +An entry filter controls exactly what the user can type during data entry. Unlike [required lists](properties_RangeOfValues.md#required-list) for example, entry filters operate on a character-by-character basis. For example, if a part number always consists of two letters followed by three digits, you can use an entry filter to restrict the user to that pattern. You can even control the particular letters and numbers. + +An entry filter operates only during data entry. It has no effect on data display after the user deselects the object. In general, you use entry filters and [display formats](properties_Display.md) together. The filter constrains data entry and the format ensures proper display of the value after data entry. + +During data entry, an entry filter evaluates each character as it is typed. If the user attempts to type an invalid character (a number instead of a letter, for example), 4D simply does not accept it. The null character remains unchanged until the user types a valid character. + +Entry filters can also be used to display required formatting characters so that the user need not enter them. For example, an American telephone number consists of a three-digit area code, followed by a seven-digit number that is broken up into two groups of three and four digits, respectively. A display format can be used to enclose the area code in parentheses and display a dash after the third digit of the telephone number. When such a format is used, the user does not need to enter the parentheses or the dashes. + +### Defining an entry filter + +Most of the time, you can use one of the [built-in filters](#default-entry-filters) of 4D for what you need; however, you can also create and use custom filters: + +- you can directly enter a filter definition string +- or you can enter the name of an entry filter created in the Filters editor in the Toolbox. The names of custom filters you create begin with a vertical bar (|). + +For information about creating entry filters, see [Filter and format codes](https://doc.4d.com/4Dv18/4D/18/Filter-and-format-codes.300-4575706.en.html). + + +### Default entry filters + +Here is a table that explains each of the entry filter choices in the Entry Filter drop-down list: + +| Entry Filter | Description | +| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| ~A | Allow any letters, but convert to uppercase. | +| &9 | Allow only numbers. | +| &A | Allow only capital letters. | +| &a | Allow only letters (uppercase and lowercase). | +| &@ | Allow only alphanumeric characters. No special characters. | +| ~a## | State name abbreviation (e.g., CA). Allow any two letters, but convert to uppercase. | +| !0&9##/##/## | Standard date entry format. Display zeros in entry spaces. Allow any numbers. | +| !0&9 Day: ## Month: ## Year: ## | Custom date entry format. Display zeros in entry spaces. Allow any numbers. Two entries after each word. | +| !0&9##:## | Time entry format. Limited to hours and minutes. Display zeros in entry spaces. Allow any four numbers, separated by a colon. | +| !0&9## Hrs ## Mins ## Secs | Time entry format. Display zeros in entry spaces. Allow any two numbers before each word. | +| !0&9Hrs: ## Mins: ## Secs: ## | Time entry format. Display zeros in entry spaces. Allow any two numbers after each word. | +| !0&9##-##-##-## | Local telephone number format. Display zeros in entry spaces. Allow any number. Three entries, hyphen, four entries. | +| !_&9(###)!0###-#### | Long distance telephone number. Display underscores in first three entry spaces, zeros in remainder. | +| !0&9###-###-### | Long distance telephone number. Display zeros in entry spaces. Allow any number. Three entries, hyphen, three entries, hyphen, four entries. | +| !0&9###-##-### | Social Security number. Display zeros in entry spaces. Allow any numbers. | +| ~"A-Z;0-9; ;,;.;-" | Uppercase letters and punctuation. Allow only capital letters, numbers, spaces, commas, periods, and hyphens. | +| &"a-z;0-9; ;,;.;-" | Upper and lowercase letters and punctuation. Allow lowercase letters, numbers, spaces, commas, periods, and hyphens. | +| &"0-9;.;-" | Numbers. Allow only numbers, decimal points, and hyphens (minus sign). | + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ---------------------------------------------------------------------------------------------------------------------------- | +| entryFilter | string |
  • Entry filter code or
  • Entry filter name (filter names start with | ) | + + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + + +--- +## Focusable + +When the **Focusable** property is enabled for an object, the object can have the focus (and can thus be activated by the keyboard for instance). It is outlined by a gray dotted line when it is selected — except when the [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) option has also been selected. + +> An [input object](input_overview.md) is always focusable if it has the [Enterable](#enterable) property. + +* ![](assets/en/FormObjects/property_focusable1.png)
    Check box shows focus when selected

    + +* ![](assets/en/FormObjects/property_focusable2.png)
    Check box is selected but cannot show focus| + + +When the **Focusable** property is selected for a non-enterable object, the user can select, copy or even drag-and-drop the contents of the area. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| focusable | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) + + + + +--- +## Keyboard Layout + +This property associates a specific keyboard layout to an [input object](input_overview.md). For example, in an international application, if a form contains a field whose contents must be entered in Greek characters, you can associate the "Greek" keyboard layout with this field. This way, during data entry, the keyboard configuration is automatically changed when this field has the focus. + +By default, the object uses the current keyboard layout. + +> You can also set and get the keyboard dynamically using the `OBJECT SET KEYBOARD LAYOUT` and `OBJECT Get keyboard layout` commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------------------------------------------------------------- | +| keyboardDialect | text | Language code, for example "ar-ma" or "cs". See RFC3066, ISO639 and ISO3166 | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Multiline + +This property is available for [inputs objects](input_overview.md) containing expressions of the Text type and fields of the Alpha and Text type. It can have three different values: Yes, No, Automatic (default). + +#### Automatic +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- In multiline inputs, 4D carries out automatic line returns: ![](assets/en/FormObjects/multilineAuto.png) + +#### No +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- There are never line returns: the text is always displayed on a single row. If the Alpha or Text field or variable contains carriage returns, the text located after the first carriage return is removed as soon as the area is modified: ![](assets/en/FormObjects/multilineNo.png) + +#### Yes +When this value is selected, the property is managed by the [Wordwrap](properties_Display.md#wordwrap) option. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------------------------- | +| multiline | text | "yes", "no", "automatic" (default if not defined) | + + +#### Objects Supported + +[Input](input_overview.md) + + + +--- +## Placeholder + +4D can display placeholder text in the fields of your forms. + +Placeholder text appears as watermark text in a field, supplying a help tip, indication or example for the data to be entered. This text disappears as soon as the user enters a character in the area: + +![](assets/en/FormObjects/property_placeholder.png) + +The placeholder text is displayed again if the contents of the field is erased. + +A placeholder can be displayed for the following types of data: + +- string (text or alpha) +- date and time when the **Blank if null** property is enabled. + +You can use an XLIFF reference in the ":xliff:resname" form as a placeholder, for example: + + :xliff:PH_Lastname + +You only pass the reference in the "Placeholder" field; it is not possible to combine a reference with static text. +> You can also set and get the placeholder text by programming using the [OBJECT SET PLACEHOLDER](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-PLACEHOLDER.301-4128243.en.html) and [OBJECT Get placeholder](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-Get-placeholder.301-4128249.en.html) commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ---------------------------------------------------------------------------- | +| placeholder | string | Text to be displayed (grayed out) when the object does not contain any value | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Input](input_overview.md) + + +#### See also + +[Help tip](properties_Help.md) + + + +--- +## Selection always visible + +This property keeps the selection visible within the object after it has lost the focus. This makes it easier to implement interfaces that allow the text style to be modified (see [Multi-style](properties_Text.md#multi-style)). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| showSelection | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Shortcut + +This property allows setting special meaning keys (keyboard shortcuts) for [buttons](button_overview.md), [radio buttons](radio_overview.md), and [checkboxes](checkbox_overview.md). They allow the user to use the control using the keyboard instead of having to use the mouse. + +You can configure this option by clicking the [...] button in the Shortcuts property in the Property List. + + +![](assets/en/FormObjects/property_shortcut.png) +> You can also assign a shortcut to a custom menu command. If there is a conflict between two shortcuts, the active object has priority. For more information about associating shortcuts with menus, refer to [Setting menu properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Setting-menu-properties.300-4163525.en.html). + +To view a list of all the shortcuts used in the 4D Design environment, see the [Shortcuts Page](https://doc.4d.com/4Dv17R5/4D/17-R5/Shortcuts-Page.300-4163701.en.html) in the Preferences dialog box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| shortcutAccel | boolean | true, false (Ctrl Windows/Command macOS) | +| shortcutAlt | boolean | true, false | +| shortcutCommand | boolean | true, false | +| shortcutControl | boolean | true, false (macOS Control) | +| shortcutShift | boolean | true, false | +| | | | +| shortcutKey | string |

  • any character key: "a", "b"...
  • [F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Radio Button](radio_overview.md) + + + + + +--- +## Single-Click Edit + +Enables direct passage to edit mode in list boxes. + +When this option is enabled, list box cells switch to edit mode after a single user click, regardless of whether or not this area of the list box was selected beforehand. Note that this option allows cells to be edited even when the list box [selection mode](properties_ListBox.md#selection-mode) is set to "None". + +When this option is not enabled, users must first select the cell row and then click on a cell in order to edit its contents. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------- | +| singleClickEdit | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + diff --git a/website/translated_docs/de/FormObjects/properties_Footers.md b/website/translated_docs/de/FormObjects/properties_Footers.md new file mode 100644 index 00000000000000..b9de67269ca9b2 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Footers.md @@ -0,0 +1,70 @@ +--- +id: propertiesFooters +title: Footers +--- + +--- +## Display Footers + +This property is used to display or hide [list box column footers](listbox_overview.md#list-box-footers). There is one footer per column; each footer is configured separately. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| showFooters | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box footer in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. +> This property can also be set dynamically using the [LISTBOX SET FOOTERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/List-box-footer-specific-properties.300-4354808.en.html) command. + + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels *(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showFooters": true, + "footerHeight": "44px", + ... + } +``` + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ----------------------------- | +| footerHeight | string | positive decimal+px | em | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Headers](properties_Headers.md) - [List box footers](listbox_overview.md#list-box-footers) \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/properties_Gridlines.md b/website/translated_docs/de/FormObjects/properties_Gridlines.md new file mode 100644 index 00000000000000..ffbcdaa2a01f39 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Gridlines.md @@ -0,0 +1,37 @@ +--- +id: propertiesGridlines +title: Gridlines +--- + +--- +## Horizontal Line Color + +Defines the color of the horizontal lines in a list box (gray by default). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | ------------------------------------------ | +| horizontalLineStroke | color | any css value, "'transparent", "automatic" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Vertical Line Color + +Defines the color of the vertical lines in a list box (gray by default). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | ------------------------------------------ | +| verticalLineStroke | color | any css value, "'transparent", "automatic" | + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/properties_Headers.md b/website/translated_docs/de/FormObjects/properties_Headers.md new file mode 100644 index 00000000000000..8949ac077f9a09 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Headers.md @@ -0,0 +1,69 @@ +--- +id: propertiesHeaders +title: Headers +--- + +--- +## Display Headers + +This property is used to display or hide [list box column headers](listbox_overview.md#list-box-headers). There is one header per column; each header is configured separately. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| showHeaders | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box header in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. +> This property can also be set dynamically using the [LISTBOX SET HEADERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-SET-HEADERS-HEIGHT.301-4311129.en.html) command. + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels *(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showHeaders": true, + "headerHeight": "22px", + ... + } +``` + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ------------------------------- | +| headerHeight | string | positive decimal+px | em ) | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Footers](properties_Footers.md) - [List box headers](listbox_overview.md#list-box-headers) \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/properties_Help.md b/website/translated_docs/de/FormObjects/properties_Help.md new file mode 100644 index 00000000000000..d573c0bd16093f --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Help.md @@ -0,0 +1,53 @@ +--- +id: propertiesHelp +0: title:Help +--- + +--- +## Help Tip + +This property allows associating help messages with active objects in your forms. They can be displayed at runtime: + +![](assets/en/FormObjects/property_helpTip.png) + +> - The display delay and maximum duration of help tips can be controlled using the `Tips delay` and `Tips duration` selectors of the **[SET DATABASE PARAMETER](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html)** command. +> - Help tips can be globally disabled or enabled for the application using the Tips enabled selector of the [**SET DATABASE PARAMETER**](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html) command. + +You can either: + +- designate an existing help tip, previously specified in the [Help tips](https://doc.4d.com/4Dv17R5/4D/17-R5/Help-tips.200-4163423.en.html) editor of 4D. +- or enter the help message directly as a string. This allows you to take advantage of XLIFF architecture. You can enter an XLIFF reference here in order to display a message in the application language (for more information about XLIFF, refer to [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html). You can also use 4D references ([see Using references in static text](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-references-in-static-text.300-4163725.en.html)). +> In macOS, displaying help tips is not supported in pop-up type windows. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------:|:---------:| ------------------------------------- | +| tooltip | text | additional information to help a user | + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md#overview) - [Hierarchical List](list_overview.md#overview) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up menu](picturePopupMenu_overview.md) - [Radio Button](radio_overview.md) + + +#### Other help features + +You can also associate help messages with form objects in two other ways: + +- at the level of the database structure (fields only). In this case, the help tip of the field is displayed in every form where it appears. For more information, refer to “Help Tips” in [Field properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Field-properties.300-4163580.en.html). +- using the **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command, for the current process. + +When different tips are associated with the same object in several locations, the following priority order is applied: + +1. structure level (lowest priority) +2. form editor level +3. **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command (highest priority) + + +#### See also + +[Placeholder](properties_Entry.md#placeholder) + + + diff --git a/website/translated_docs/de/FormObjects/properties_Hierarchy.md b/website/translated_docs/de/FormObjects/properties_Hierarchy.md new file mode 100644 index 00000000000000..a87c6c4f1ffffd --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Hierarchy.md @@ -0,0 +1,26 @@ +--- +id: propertiesHierarchy +title: Hierarchy +--- + +--- +## Hierarchical List Box +`Array type list boxes` + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +See [Hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes) + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ------------ | ------------------------------------------------ | +| datasource | string array | Collection of array names defining the hierarchy | + +#### Objects Supported + +[List Box](listbox_overview.md) diff --git a/website/translated_docs/de/FormObjects/properties_ListBox.md b/website/translated_docs/de/FormObjects/properties_ListBox.md new file mode 100644 index 00000000000000..4b6f62a59e161b --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_ListBox.md @@ -0,0 +1,248 @@ +--- +id: propertiesListBox +title: List Box +--- + +--- +## Columns + +Collection of columns of the list box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | ---------------------------- | ------------------------------------------------ | +| columns | collection of column objects | Contains the properties for the list box columns | + +For a list of properties supported by column objects, please refer to the [Column Specific Properties](listbox_overview#column-specific-properties) section. + +#### Objects Supported + +[List Box](listbox_overview.md) + +--- +## Detail Form Name +`Selection type list box` + +Specifies the form to use for modifying or displaying individual records of the list box. + +The specified form is displayed: + +* when using `Add Subrecord` and `Edit Subrecord` standard actions applied to the list box (see [Using standard actions](https://doc.4d.com/4Dv17R6/4D/17-R6/Using-standard-actions.300-4354811.en.html)), +* when a row is double-clicked and the [Double-click on Row](#double-click-on-row) property is set to "Edit Record" or "Display Record". + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| detailForm | string |
  • Name (string) of table or project form
  • POSIX path (string) to a .json file describing the form
  • Object describing the form | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Double-click on row +`Selection type list box` + +Sets the action to be performed when a user double-clicks on a row in the list box. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the detail form defined [for the list box](#detail-form-name). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. +> Double-clicking an empty row is ignored in list boxes. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | ----------------------------------- | +| doubleClickInRowAction | string | "editSubrecord", "displaySubrecord" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Highlight Set + +`Selection type list box` + +This property is used to specify the set to be used to manage highlighted records in the list box (when the **Arrays** data source is selected, a Boolean array with the same name as the list box is used). + +4D creates a default set named *ListBoxSetN* where *N* starts at 0 and is incremented according to the number of list boxes in the form. If necessary, you can modify the default set. It can be a local, process or interprocess set (we recommend using a local set, for example *$LBSet*, in order to limit network traffic). It is then maintained automatically by 4D. If the user selects one or more rows in the list box, the set is updated immediately. If you want to select one or more rows by programming, you can apply the commands of the “Sets” theme to this set. +> * The highlighted status of the list box rows and the highlighted status of the table records are completely independent. +> * If the “Highlight Set” property does not contain a name, it will not be possible to make selections in the list box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| highlightSet | string | Name of the set | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Locked columns and static columns + +Locked columns and static columns are two separate and independent functionalities in list boxes: + +* Locked columns always stay displayed to the left of the list box; they do not scroll horizontally. +* Static columns cannot be moved by drag and drop within the list box. +> You can set static and locked columns by programming, refer to [List Box](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box.201-4310263.en.html) in the [4D Language Reference](https://doc.4d.com/4Dv17R6/4D/17-R6/4D-Language-Reference.100-4310216.en.html) manual. + +These properties interact as follows: + +* If you set columns that are only static, they cannot be moved. + +* If you set columns that are locked but not static, you can still change their position freely within the locked area. However, a locked column cannot be moved outside of this locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns1.png) + +* If you set all of the columns in the locked area as static, you cannot move these columns within the locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns2.png) + +* You can set a combination of locked and static columns according to your needs. For example, if you set three locked columns and one static column, the user can swap the two right-most columns within the locked area (since only the first column is static). + +### Number of Locked Columns + +Number of columns that must stay permanently displayed in the left part of the list box, even when the user scrolls through the columns horizontally. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | --------------- | +| lockedColumnCount | integer | minimum: 0 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +### Number of Static Columns + +Number of columns that cannot be moved during execution. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | --------------- | +| staticColumnCount | integer | minimum: 0 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Number of Columns + +Sets the number of columns of the list box. +> You can add or remove columns dynamically by programming, using commands such as [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-INSERT-COLUMN.301-4505224.en.html) or [LISTBOX DELETE COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-DELETE-COLUMN.301-4505185.en.html). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| columnCount | integer | minimum: 1 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Row Control Array + +`Array type list box` + +A 4D array controlling the display of list box rows. + +You can set the "hidden", "disabled" and "selectable" interface properties for each row in an array-based list box using this array. It can also be designated using the `LISTBOX SET ARRAY` command. + +The row control array must be of the Longint type and include the same number of rows as the list box. Each element of the *Row Control Array* defines the interface status of its corresponding row in the list box. Three interface properties are available using constants in the "List Box" constant theme: + +| Constant | Value | Comment | +| ------------------------ | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| lk row is disabled | 2 | The corresponding row is disabled. The text and controls such as check boxes are dimmed or grayed out. Enterable text input areas are no longer enterable. Default value: Enabled | +| lk row is hidden | 1 | The corresponding row is hidden. Hiding rows only affects the display of the list box. The hidden rows are still present in the arrays and can be managed by programming. The language commands, more particularly `LISTBOX Get number of rows` or `LISTBOX GET CELL POSITION`, do not take the displayed/hidden status of rows into account. For example, in a list box with 10 rows where the first 9 rows are hidden, `LISTBOX Get number of rows` returns 10. From the user’s point of view, the presence of hidden rows in a list box is not visibly discernible. Only visible rows can be selected (for example using the Select All command). Default value: Visible | +| lk row is not selectable | 4 | The corresponding row is not selectable (highlighting is not possible). Enterable text input areas are no longer enterable unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. Controls such as check boxes and lists are still functional however. This setting is ignored if the list box selection mode is "None". Default value: Selectable | + +To change the status for a row, you just need to set the appropriate constant(s) to the corresponding array element. For example, if you do not want row #10 to be selectable, you can write: + +```code4d + aLControlArr{10}:=lk row is not selectable +``` + +![](assets/en/FormObjects/listbox_styles5.png) + +You can define several interface properties at once: + +```code4d + aLControlArr{8}:=lk row is not selectable + lk row is disabled +``` + +![](assets/en/FormObjects/listbox_styles6.png) + +Note that setting properties for an element overrides any other values for this element (if not reset). For example: + +```code4d + aLControlArr{6}:=lk row is disabled + lk row is not selectable + //sets row 6 as disabled AND not selectable + aLControlArr{6}:=lk row is disabled + //sets row 6 as disabled but selectable again +``` + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------- | --------- | ---------------------- | +| rowControlSource | string | Row control array name | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | string | "multiple", "single", "none" | + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/properties_Object.md b/website/translated_docs/de/FormObjects/properties_Object.md new file mode 100644 index 00000000000000..d9e1e20c75b1ae --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Object.md @@ -0,0 +1,334 @@ +--- +id: propertiesObject +0: title:Objects +--- + +--- +## Type + + `MANDATORY SETTING` + +This property designates the type of the [active or inactive form object](formObjects_overview.md). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| type | string | "button", "buttonGrid", "checkbox", "combo", "dropdown", "groupBox", "input", "line", "list", "listbox", "oval", "picture", "pictureButton", "picturePopup", "plugin", "progress", "radio", "rectangle", "ruler", "spinner", "splitter", "stepper", "subform", "tab", "text", "view", "webArea", "write" | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) -[Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + +--- +## Object Name + +Each active form object is associated with an object name. Each object name must be unique. +> Object names are limited to a size of 255 bytes. + +When using 4D’s language, you can refer to an active form object by its object name (for more information about this, refer to [Object Properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Object-Properties.300-4128195.en.html) in the 4D Language Reference manual). + +For more information about naming rules for form objects, refer to [Identifiers](Concepts/identifiers.md) section. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------------------------------- | +| name | string | Any allowed name which does not belong to an already existing object | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + + +--- +## Variable or Expression + +> See also **[Expression](properties_DataSource#expression)** for Selection and collection type list box columns. + + +This property specifies the source of the data. Each active form object is associated with an object name and a variable name. The variable name can be different from the object’s name. In the same form, you can use the same variable several times while each [object name](#object-name) must be unique. +> Variable name size is limited to 31 bytes. See [Identifiers](Concepts/identifiers.md) section for more information about naming rules. + +The form object variables allow you to control and monitor the objects. For example, when a button is clicked, its variable is set to 1; at all other times, it is 0. The expression associated with a progress indicator lets you read and change the current setting. + +Variables or expressions can be enterable or non-enterable and can receive data of the Text, Integer, Numeric, Date, Time, Picture, Boolean, or Object type. + +### Expressions + +You can use an expression as data source for an object. Any valid 4D expression is allowed: simple expression, formula, 4D function, project method name or field using the standard `[Table]Field` syntax. The expression is evaluated when the form is executed and reevaluated for each form event. Note that expressions can be [assignable or non-assignable](Concepts/quick-tour.md#expressions). +> If the value entered corresponds to both a variable name and a method name, 4D considers that you are indicating the method. + + + +### Dynamic variables + +You can leave it up to 4D to create variables associated with your form objects (buttons, enterable variables, check boxes, etc.) dynamically and according to your needs. To do this, simply leave the "Variable or Expression" property (or `dataSource` JSON field) blank. + +When a variable is not named, when the form is loaded, 4D creates a new variable for the object, with a calculated name that is unique in the space of the process variables of the interpreter (which means that this mechanism can be used even in compiled mode). This temporary variable will be destroyed when the form is closed. In order for this principle to work in compiled mode, it is imperative that dynamic variables are explicitly typed. There are two ways to do this: + +- You can set the type using the [Expression type](#expression-type) property. +- You can use a specific initialization code when the form is loaded that uses, for example, the `VARIABLE TO VARIABLE` command: + +```code4d + If(Form event=On Load) + C_TEXT($init) + $Ptr_object:=OBJECT Get pointer(Object named;"comments") + $init:="" + VARIABLE TO VARIABLE(Current process;$Ptr_object->;$init) + End if +``` + +In the 4D code, dynamic variables can be accessed using a pointer obtained with the `OBJECT Get pointer` command. For example: + +```code4d + // assign the time 12:00:00 to the variable for the "tstart" object + $p :=OBJECT Get pointer(Object named;"tstart") + $p->:=?12:00:00? +``` + +There are two advantages with this mechanism: + +- On the one hand, it allows the development of "subform" type components that can be used several times in the same host form. Let us take as an example the case of a datepicker subform that is inserted twice in a host form to set a start date and an end date. This subform will use objects for choosing the date of the month and the year. It will be necessary for these objects to work with different variables for the start date and the end date. Letting 4D create their variable with a unique name is a way of resolving this difficulty. +- On the other hand, it can be used to limit memory usage. In fact, form objects only work with process or inter-process variables. However, in compiled mode, an instance of each process variable is created in all the processes, including the server processes. This instance takes up memory, even when the form is not used during the session. Therefore, letting 4D create variables dynamically when loading the forms can save memory. + + +### Hierarchical List Box + +Using a string array (collection of arrays names) as *dataSource* value for a list box column defines a [hierarchical list box](listbox_overview.md#hierarchical-list-boxes). + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dataSource | string, or string array |
  • 4D variable, field name, or arbitrary complex language expression.
  • Empty string for [dynamic variables](#dynamic-variables).
  • String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column] | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Tab control](tabControl.md) - [Subform](subform_overview.md#overview) - [Radio Button](radio_overview.md) + + + + + +--- +## Expression Type + +> This property is called **Data Type** in the Property List for Selection and collection type list box columns. + + +Specify the data type for the expression or variable associated to the object. Note that main purpose of this setting is to configure options (such as display formats) available for the data type. It does not actually type the variable itself. In view of database compilation, you must use the 4D language commands of the `Compiler` theme. + +However, this property has a typing function in the following specific cases: + +- **[Dynamic variables](#dynamic-variables)**: you can use this property to declare the type of dynamic variables. +- **[List Box Columns](listbox_overview.md#list-box-columns)**: this property is used to associate a display format with the column data. The formats provided will depend on the variable type (array type list box) or the data/field type (selection and collection type list boxes). The standard 4D formats that can be used are: Alpha, Numeric, Date, Time, Picture and Boolean. The Text type does not have specific display formats. Any existing custom formats are also available. +- **[Picture variables](input_overview.md)**: you can use this menu to declare the variables before loading the form in interpreted mode. Specific native mechanisms govern the display of picture variables in forms. These mechanisms require greater precision when configuring variables: from now on, they must have already been declared before loading the form — i.e., even before the `On Load` form event — unlike other types of variables. To do this, you need either for the statement `C_PICTURE(varName)` to have been executed before loading the form (typically, in the method calling the `DIALOG` command), or for the variable to have been typed at the form level using the expression type property. Otherwise, the picture variable will not be displayed correctly (only in interpreted mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dataSourceTypeHint | string |
  • **standard objects:** "integer", "boolean", "number", "picture", "text", date", "time", "arrayText", "arrayDate", "arrayTime", "arrayNumber", "collection", "object", "undefined"
  • **list box columns:** "boolean", "number", "picture", "text", date" (*array/selection list box only*) "integer", "time", "object" | + +#### Objects Supported + +[Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab Control](tabControl.md) + + +--- +## CSS Class + +A list of space-separated words used as class selectors in css files. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------------------------------------------------- | +| class | string | One string with CSS name(s) separated by space characters | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Radio Button](radio_overview.md) - [Static Picture](staticPicture.md) - [Subform](subform_overview.md#overview) - [Web Area](webArea_overview.md#overview) + + + +--- +## Collection or entity selection + +To use collection elements or entities to define the row contents of the list box. + +Enter an expression that returns either a collection or an entity selection. Usually, you will enter the name of a variable, a collection element or a property that contain a collection or an entity selection. + +The collection or the entity selection must be available to the form when it is loaded. Each element of the collection or each entity of the entity selection will be associated to a list box row and will be available as an object through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command: + +* if you used a collection of objects, you can call **This** in the datasource expression to access each property value, for example **This.\**. +* if you used an entity selection, you can call **This** in the datasource expression to access each attribute value, for example **This.\**. +> If you used a collection of scalar values (and not objects), 4D allows you to display each value by calling **This.value** in the datasource expression. However in this case you will not be able to modify values or to access the current ite object (see below) Note: For information about entity selections, please refer to the [ORDA](https://doc.4d.com/4Dv17R6/4D/17-R6/ORDA.200-4354624.en.html) chapter. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------------------ | +| dataSource | string | Expression that returns a collection or an entity selection. | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Data Source + +Specify the type of list box. + +![](assets/en/FormObjects/listbox_dataSource.png) + +- **Arrays**(default): use array elements as the rows of the list box. +- **Current Selection**: use expressions, fields or methods whose values will be evaluated for each record of the current selection of a table. +- **Named Selection**: use expressions, fields or methods whose values will be evaluated for each record of a named selection. +- **Collection or Entity Selection**: use collection elements or entities to define the row contents of the list box. Note that with this list box type, you need to define the [Collection or Entity Selection](properties_Object.md#collection-or-entity-selection) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------- | +| listboxType | string | "array", "currentSelection", "namedSelection", "collection" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Plug-in Kind + +Name of the [plug-in external area](pluginArea_overview.md) associated to the object. Plug-in external area names are published in the manifest.json file of the plug-in. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | ------------------------------------------------------------- | +| pluginAreaKind | string | Name of the plug-in external area (starts with a % character) | + + +#### Objects Supported +[Plug-in Area](pluginArea_overview.md) + + + +--- + +## Radio Group + +Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ---------------- | +| radioGroup | string | Radio group name | + + +#### Objects Supported + +[Radio Button](radio_overview.md) + + + +--- + +## Title + +Allows inserting a label on an object. The font and the style of this label can be specified. + +You can force a carriage return in the label by using the \ character (backslash). + +![](assets/en/FormObjects/property_title.png) + +To insert a \ in the label, enter "\\". + +By default, the label is placed in the center of the object. When the object also contains an icon, you can modify the relative location of these two elements using the [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) property. + +For database translation purposes, you can enter an XLIFF reference in the title area of a button (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| text | string | any text | + +#### Objects Supported + +[Button](button_overview.md) (*Regular, Flat, Toolbar, Bevel, Rounded Bevel, OS X Gradient Button, OS X Textured Button, Office XP, Circle, Custom*) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) + + + + + + + +--- +## Variable Calculation + +This property sets the type of calculation to be done in a [column footer](listbox_overview.md#list-box-footers) area. +> The calculation for footers can also be set using the `LISTBOX SET FOOTER CALCULATION` 4D command. + +There are several types of calculations available. The following table shows which calculations can be used according to the type of data found in each column and indicates the type automatically affected by 4D to the footer variable (if it is not typed by the code): + +| Calculation | Num | Text | Date | Time | Bool | Pict | footer var type | +| --------------------- | --- | ---- | ---- | ---- | ---- | ---- | ------------------- | +| Minimum | X | | X | X | X | | Same as column type | +| Maximum | X | | X | X | X | | Same as column type | +| Sum | X | | X | | X | | Same as column type | +| Count | X | X | X | X | X | X | Longint | +| Average | X | | | X | | | Real | +| Standard deviation(*) | X | | | X | | | Real | +| Variance(*) | X | | | X | | | Real | +| Sum squares(*) | X | | | X | | | Real | +| Custom ("none") | X | X | X | X | X | X | Any | + +(*) Only for array type list boxes. + +When an automatic calculation is set, it is applied to all the values found in the list box column. Note that the calculation does not take the shown/hidden state of list box rows into account. If you want to restrict a calculation to only visible rows, you must use a custom calculation. + +When **Custom** ("none" in JSON) is set, no automatic calculations are performed by 4D and you must assign the value of the variable in this area by programming. +> Automatic calculations are not supported with: * footers of columns based on formulas, * footers of [Collection and Entity selection](listbox_overview.md#collection-or-entity-selection-list-boxes) list boxes. You need to use custom calculations. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | ----------------------------------------------------------------------------------------------------- | +| variableCalculation | string | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" | + +#### Objects Supported + +[List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + diff --git a/website/translated_docs/de/FormObjects/properties_Picture.md b/website/translated_docs/de/FormObjects/properties_Picture.md new file mode 100644 index 00000000000000..d99fd0373cd3dd --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Picture.md @@ -0,0 +1,73 @@ +--- +id: propertiesPicture +0: title:Picture +--- + +--- +## Pathname + +Pathname of a static source picture for a [picture button](pictureButton_overview.md), [picture pop-up Menu](picturePopupMenu_overview.md), or [static picture](staticPicture.md). You must use the POSIX syntax. + +Two main locations can be used for static picture path: + +- in the **Resources** folder of the project database. Appropriate when you want to share static pictures between several forms in the database. In this case, the Pathname is "/RESOURCES/\". +- in an image folder (e.g. named **Images**) within the form folder. Appropriate when the static pictures are used only in the form and/or you want to be able to move or duplicate the whole form within the project or different projects. In this case, the Pathname is "\" and is resolved from the root of the form folder. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------:|:---------:| ------------------------------------------- | +| picture | text | Relative or filesystem path in POSIX syntax | + + +#### Objects Supported + +[Picture button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Static Picture](staticPicture.md) + + +--- +## Display + + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + + + +### Center / Truncated (non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Center** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. +> When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | -------------------------------------------------------- | +| pictureFormat | string | "scaled", "tiled", "truncatedCenter", "truncatedTopLeft" | + +#### Objects Supported + +[Static Picture](staticPicture.md) \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/properties_Plugins.md b/website/translated_docs/de/FormObjects/properties_Plugins.md new file mode 100644 index 00000000000000..ecea54bba79b4f --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Plugins.md @@ -0,0 +1,25 @@ +--- +id: propertiesPlugIns +0: title:Plug-ins +--- + +--- +## Advanced Properties + +If advanced options are provided by the author of the plug-in, an **Advanced Properties** button may be enabled in the Property list. In this case, you can click this button to set these options, usually through a custom dialog box. + +Because the Advanced properties feature is under the control of the author of the plug-in, information about these Advanced options is the responsibility of the distributor of the plug-in. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------- | +| customProperties | text | object | Plugin specific properties, passed to plugin as a JSON string if an object, or as a binary buffer if a base64 encoded string | + + +#### Objects Supported + +[Plug-in Area](pluginArea_overview.md) + diff --git a/website/translated_docs/de/FormObjects/properties_Print.md b/website/translated_docs/de/FormObjects/properties_Print.md new file mode 100644 index 00000000000000..32114b2665dab2 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Print.md @@ -0,0 +1,36 @@ +--- +id: propertiesPrint +0: title:Print +--- + +--- +## Print frame + +This property handles the print mode for objects whose size can vary from one record to another depending on their contents. These objects can be set to print with either a fixed or variable frame. Fixed frame objects print within the confines of the object as it was created on the form. Variable frame objects expand during printing to include the entire contents of the object. Note that the width of objects printed as a variable size is not affected by this property; only the height varies automatically based on the contents of the object. + +You cannot place more than one variable frame object side-by-side on a form. You can place non-variable frame objects on either side of an object that will be printed with a variable size provided that the variable frame object is at least one line longer than the object beside it and that all objects are aligned on the top. If this condition is not respected, the contents of the other fields will be repeated for every horizontal slice of the variable frame object. + +> The `Print object` and `Print form` commands do not support this property. + + +The print options are: + +- **Variable** option / **Print Variable Frame** checked: 4D enlarges or reduces the form object area in order to print all the subrecords. + +- **Fixed (Truncation)** option / **Print Variable Frame** unchecked: 4D only prints the contents that appear in the object area. The form is only printed once and the contents not printed are ignored. + +- **Fixed (Multiple Records)** (subforms only): the initial size of the subform area is kept but 4D prints the form several times in order to print all the records. + +> This property can be set by programming using the `OBJECT SET PRINT VARIABLE FRAME` command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----------:|:---------:| --------------------------------------------------- | +| printFrame | string | "fixed", "variable", (subform only) "fixedMultiple" | + + +#### Objects Supported + +[Input](input_overview.md) - [Subforms](subform_overview.md) (list subforms only) - [4D Write Pro areas](writeProArea_overview.md) diff --git a/website/translated_docs/de/FormObjects/properties_RangeOfValues.md b/website/translated_docs/de/FormObjects/properties_RangeOfValues.md new file mode 100644 index 00000000000000..41f6be2cb6d239 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_RangeOfValues.md @@ -0,0 +1,83 @@ +--- +id: propertiesRangeOfValues +title: Range of Values +--- + +--- +## Default value + +You can assign a default value to be entered in an input object. This property is useful for example when the input [data source](properties_Object.md#variable-or-expression) is a field: the default value is entered when a new record is first displayed. You can change the value unless the input area has been defined as [non-enterable](properties_Entry.md#enterable). + +The default value can only be used if the [data source type](properties_Object.md#expression-type) is: +- text/string +- number/integer +- date +- time +- boolean + +4D provides stamps for generating default values for the date, time, and sequence number. The date and time are taken from the system date and time. 4D automatically generates any sequence numbers needed. The table below shows the stamp to use to generate default values automatically: + +| Stamp | Meaning | +| ----- | --------------- | +| #D | Current date | +| #H | Current time | +| #N | Sequence number | + +You can use a sequence number to create a unique number for each record in the table for the current data file. A sequence number is a longint that is generated for each new record. The numbers start at one (1) and increase incrementally by one (1). A sequence number is never repeated even if the record it is assigned to is deleted from the table. Each table has its own internal counter of sequence numbers. For more information, refer to the [Autoincrement](https://doc.4d.com/4Dv17R6/4D/17-R6/Field-properties.300-4354738.en.html#976029) paragraph. + +> Do not make confusion between this property and the "[default values](properties_DataSource.md#default-list-of-values)" property that allows to fill a list box column with static values. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | ----------------------------------- | ------------------------------------------ | +| defaultValue | string, number, date, time, boolean | Any value and/or a stamp: "#D", "#H", "#N" | + +#### Objects Supported + +[Input](input_overview.md) + + + +--- + +## Excluded List + +Allows setting a list whose values cannot be entered in the object. If an excluded value is entered, it is not accepted and an error message is displayed. +> If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | -------------------------------- | +| excludedList | list | A list of values to be excluded. | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + +--- + +## Required List + +Restricts the valid entries to the items on the list. For example, you may want to use a required list for job titles so that valid entries are limited to titles that have been approved by management. + +Making a list required does not automatically display the list when the field is selected. If you want to display the required list, assign the same list to the [Choice List](properties_DataSource.md#choice-list) property. However, unlike the [Choice List](properties_DataSource.md#choice-list) property, when a required list is defined, keyboard entry is no longer possible, only the selection of a list value using the pop-up menu is allowed. If different lists are defined using the [Choice List](properties_DataSource.md#choice-list) and Required List properties, the Required List property has priority. +> If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------------------- | +| requiredList | list | A list of mandatory values. | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + + diff --git a/website/translated_docs/de/FormObjects/properties_Reference.md b/website/translated_docs/de/FormObjects/properties_Reference.md new file mode 100644 index 00000000000000..79153ed8effc4f --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Reference.md @@ -0,0 +1,280 @@ +--- +id: propertiesReference +title: JSON property list +--- + +## A + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | +| [action](properties_Action.md#standard-action) | Typical activity to be performed. | The name of a valid standard action. | +| [allowFontColorPicker](properties_Text.md#allow-font-color-picker) | Allows displaying system font picker or color picker to edit object attributes | true, false (default) | +| [alternateFill](properties_BackgroundAndBorder.md#alternate-background-color) | Allows setting a different background color for odd-numbered rows/columns in a list box. | Any CSS value; "transparent"; "automatic" | +| [automaticInsertion](properties_DataSource.md#automatic-insertion) | Enables automatically adding a value to a list when a user enters a value that is not in the object's associated choice list. | true, false | + +## B + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------- | +| [booleanFormat](properties_Display.md#boolean-format) | Specifies only two possible values. | true, false | +| [borderRadius](properties_CoordinatesAndSizing.md#corner-radius) | The radius value for round rectangles. | minimum: 0 | +| [borderStyle](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) | Allows setting a standard style for the object border. | "system", "none", "solid", "dotted", "raised", "sunken", "double" | +| [bottom](properties_CoordinatesAndSizing.md#bottom) | Positions an object at the bottom (centered). | minimum: 0 | + +## C + +| Property | Description | Possible Values | +| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| [choiceList](properties_DataSource.md#choice-list) | A list of choices associated with an object | A list of choices | +| [class](properties_Object.md#class) | A list of space-separated words used as class selectors in css files. | A list of class names | +| [columnCount](properties_Crop.md#columns) | Number of columns. | minimum: 1 | +| [columns](properties_ListBox.md#columns) | A collection of list box columns | Collection of column objects with defined column properties | +| [contextMenu](properties_Entry.md#context-menu) | Provides the user access to a standard context menu in the selected area. | "automatic", "none" | +| [continuousExecution](properties_Action.md#execute-object-method) | Designates whether or not to run the method of an object while the user is tracking the control. | true, false | +| [controlType](properties_Display.md#display-type) | Specifies how the value should be rendered in a list box cell. | "input", "checkbox" (for boolean / numeric columns), "automatic", "popup" (only for boolean columns) | +| [currentItemSource](properties_DataSource.md#current-item) | The last selected item in a list box. | Object expression | +| [currentItemPositionSource](properties_DataSource.md#current-item-position) | The position of the last selected item in a list box. | Number expression | +| [customBackgroundPicture](properties_TextAndPicture.md#background-pathname) | Sets the picture that will be drawn in the background of a button. | Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option. | +| [customBorderX](properties_TextAndPicture.md#horizontal-margin) | Sets the size (in pixels) of the internal horizontal margins of an object. Must be used with the style property with the "custom" option. | minimum: 0 | +| [customBorderY](properties_TextAndPicture.md#vertical-margin) | Sets the size (in pixels) of the internal vertical margins of an object. Must be used with the style property with the "custom" option. | minimum: 0 | +| [customOffset](properties_TextAndPicture.md#icon-offset) | Sets a custom offset value in pixels. Must be used with the style property with the "custom" option. | minimum: 0 | + +## D + +| Property | Description | Possible Values | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [dataSource](properties_Object.md#variable-or-expression) (objects)
    [dataSource](properties_Subform.md#source) (subforms)
    [dataSource](properties_Object.md#data-source) (array list box)
    [dataSource](properties_Object.md#collection-or-entity-selection) (Collection or entity selection list box)
    [dataSource](properties_DataSource.md#expression) (list box column)
    [dataSource](properties_Hierarchy.md#hierarchical-list-box) (hierarchical list box) | Specifies the source of the data. | A 4D variable, field name, or an arbitrary complex language expression. | +| [dataSourceTypeHint](properties_Object.md#expression-type) (objects)
    [dataSourceTypeHint](properties_DataSource.md#data-type) (list box column) | Indicates the variable type. | "integer", "number", "boolean", "picture", "text", date", "time", "arrayText", "collection", "object", "undefined" | +| [dateFormat](properties_Display.md#date-format) | Controls the way dates appear when displayed or printed. Must only be selected among the 4D built-in formats. | "systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values) | +| [defaultButton](properties_Appearance.md#default-button) | Modifies a button's appearance in order to indicate the recommended choice to the user. | true, false | +| [defaultValue](properties_RangeOfValues.md#default-value) | Defines a value or a stamp to be entered by default in an input object | String or "#D", "#H", "#N" | +| [deletableInList](properties_Subform.md#allow-deletion) | Specifies if the user can delete subrecords in a list subform | true, false | +| [detailForm](properties_ListBox.md#detail-form-name) (list box)
    [detailForm](properties_Subform.md#detail-form) (subform) | Associates a detail form with a list subform. | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | +| [display](properties_Display.md#not-rendered) | The object is drawn or not on the form. | true, false | +| [doubleClickInEmptyAreaAction](properties_Subform.md#double-click-on-empty-row) | Action to perform in case of a double-click on an empty line of a list subform. | "addSubrecord" or "" to do nothing | +| [doubleClickInRowAction](properties_ListBox.md#double-click-on-row) (list box)
    [doubleClickInRowAction](properties_Subform.md#double-click-on-row) (subform) | Action to perform in case of a double-click on a record. | "editSubrecord", "displaySubrecord" | +| [dpi](properties_Appearance.md#resolution) | Screen resolution for the 4D Write Pro area contents. | 0=automatic, 72, 96 | +| [dragging](properties_Action.md#draggable) | Enables dragging function. | "none", "custom", "automatic" (excluding list, list box) | +| [dropping](properties_Action.md#droppable) | Enables dropping function. | "none", "custom", "automatic" (excluding list, list box) | + +## E + +| Property | Description | Possible Values | +| ---------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------- | +| [enterable](properties_Entry.md#enterable) | Indicates whether users can enter values into the object. | true, false | +| [enterableInList](properties_Subform.md#enterable-in-list) | Indicates whether users can modify record data directly in the list subform. | true, false | + + +[entryFiler](properties_Entry.md#entry-filter)|Associates an entry filter with the object or column cells. This property is not accessible if the Enterable property is not enabled.|Text to narrow entries | |[excludedList](properties_RangeOfValues.md#excluded-list)|Allows setting a list whose values cannot be entered in the column.|A list of values to be excluded.| |[events](XXX)|List of all events selected for the object or form|Collection of event names, e.g. ["onClick","onDataChange"...].| + + +## F + +| Property | Description | Possible Values | +| --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | +| [fill](properties_BackgroundAndBorder.md#background-color-fill-color) | Defines the background color of an object. | Any CSS value, "transparent", "automatic" | +| [focusable](properties_Entry.md#focusable) | Indicates whether the object can have the focus (and can thus be activated by the keyboard for instance) | true, false | +| [fontFamily](properties_Text.md#font) | Specifies the name of font family used in the object. | CSS font family name | +| [fontSize](properties_Text.md#font-size) | Sets the font size in points when no font theme is selected | minimum: 0 | +| [fontStyle](properties_Text.md#italic) | Sets the selected text to slant slightly to the right. | "normal", "italic" | +| [fontTheme](properties_Text.md#font-theme) | Sets the automatic style | "normal", "main", "additional" | +| [fontWeight](properties_Text.md#bold) | Sets the selected text to appear darker and heavier. | "normal", "bold" | +| [footerHeight](properties_Footers.md#height) | Used to set the row height | pattern (\\d+)(p|em)?$ (positive decimal + px/em ) | +| [frameDelay](properties_Animation.md#switch-every-x-ticks) | Enables cycling through the contents of the picture button at the specified speed (in ticks). | minimum: 0 | + +## G + +| Property | Description | Possible Values | +| ----------------------------------------------------- | -------------------------- | --------------- | +| [graduationStep](properties_Scale.md#graduation-step) | Scale display measurement. | minimum: 0 | + +## H + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| [header](properties_Headers.md#header) | Defines the header of a list box column | Object with properties "text", "name", "icon", "dataSource", "fontWeight", "fontStyle", "tooltip" | +| [headerHeight](properties_Headers.md#height) | Used to set the row height | pattern ^(\\d+)(px|em)?$ (positive decimal + px/em ) | +| [height](properties_CoordinatesAndSizing.md#height) | Designates an object's vertical size | minimum: 0 | +| [hideExtraBlankRows](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | Deactivates the visibility of extra, empty rows. | true, false | +| [hideFocusRing](properties_Appearance.md#hide-focus-rectangle) | Hides the selection rectangle when the object has the focus. | true, false | +| [hideSystemHighlight](properties_Appearance.md#hide-selection-highlight) | Used to specify hiding highlighted records in the list box. | true, false | +| [highlightSet](properties_ListBox.md#highlight-set) | string | Name of the set. | +| [horizontalLineStroke](properties_Gridlines.md#horizontal-line-color) | Defines the color of the horizontal lines in a list box (gray by default). | Any CSS value, "'transparent", "automatic" | + +## I + +| Property | Description | Possible Values | +| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------- | +| [icon](properties_TextAndPicture.md#picture-pathname) | The pathname of the picture used for buttons, check boxes, radio buttons, list box headers. | Relative or filesystem path in POSIX syntax. | +| [iconFrames](properties_TextAndPicture.md#number-of-states) | Sets the exact number of states present in the picture. | minimum: 1 | +| [iconPlacement](properties_TextAndPicture.md#icon-location) | Designates the placement of an icon in relation to the form object. | "none", "left", "right" | + +## K + +| Property | Description | Possible Values | +| ------------------------------------------------------ | ---------------------------------------------------- | ------------------------------------ | +| [keyboardDialect](properties_Entry.md#keyboardDialect) | To associate a specific keyboard layout to an input. | A keyboard code string, e.g. "ar-ma" | + + +## L + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| [labels](properties_DataSource.md#choice-list-static-list) | A list of values to be used as tab control labels | ex: "a", "b, "c", ... | +| [labelsPlacement](properties_Scale.md#label-location) (objects)
    [labelsPlacement](properties_Appearance.md#tab-control-direction) (splitter / tab control) | Specifies the location of an object's displayed text. | "none", "top", "bottom", "left", "right" | +| [layoutMode](properties_Appearance.md#view-mode) | Mode for displaying the 4D Write Pro document in the form area. | "page", "draft", "embedded" | +| [left](properties_CoordinatesAndSizing.md#left) | Positions an object on the left. | minimum: 0 | +| list, see [choiceList](properties_DataSource.md#choice-list) | A list of choices associated with a hierarchical list | A list of choices | +| [listboxType](properties_Object.md#data-source) | The list box data source. | "array", "currentSelection", "namedSelection", "collection" | +| [listForm](properties_Subform.md#list-form) | List form to use in the subform. | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | +| [lockedColumnCount](properties_ListBox.md#number-of-locked-columns) | Number of columns that must stay permanently displayed in the left part of a list box. | minimum: 0 | +| [loopBackToFirstFrame](properties_Animation.md#loop-back-to-first-frame) | Pictures are displayed in a continuous loop. | true, false | + +## M + +| Property | Description | Possible Values | +| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- | +| [max](properties_Scale.md#maximum) | The maximum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. | minimum: 0 (for numeric data types) | +| [maxWidth](properties_CoordinatesAndSizing.md#maximum-width) | Designates the largest size allowed for list box columns. | minimum: 0 | +| [metaSource](properties_Text.md#meta-info-expression) | A meta object containing style and selection settings. | An object expression | +| [method](properties_Action.md#method) | A project method name. | The name of an existing project method | +| [methodsAccessibility](properties_WebArea.md#access-4d-methods) | Which 4D methods can be called from a Web area | "none" (default), "all" | +| [min](properties_Scale.md#minimum) | The minimum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. | minimum: 0 (for numeric data types) | +| [minWidth](properties_CoordinatesAndSizing.md#minimum-width) | Designates the smallest size allowed for list box columns. | minimum: 0 | +| [movableRows](properties_Action.md#movable-rows) | Authorizes the movement of rows during execution. | true, false | +| [multiline](properties_Entry.md#multiline) | Handles multiline contents. | "yes", "no", "automatic" | + +## N + +| Property | Description | Possible Values | +| --------------------------------------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------- | +| [name](properties_Object.md#object-name) | The name of the form object. (Optional for the form) | Any name which does not belong to an already existing object | +| [numberFormat](properties_Display.md#number-format) | Controls the way the alphanumeric fields and variables appear when displayed or printed. | Numbers (including a decimal point or minus sign if necessary) | + +## P + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [picture](properties_Picture.md#pathname) | The pathname of the picture for picture buttons, picture pop-up menus, or static pictures | Relative or filesystem path in POSIX syntax. | +| [pictureFormat](properties_Display.md#picture-format) (input, list box column or footer)
    [pictureFormat](properties_Picture.md#display) (static picture) | Controls how pictures appear when displayed or printed. | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft" (excluding static pictures), "proportionalCenter"(excluding static pictures) | +| [placeholder](properties_Entry.md#placeholder) | Grays out text when the data source value is empty. | Text to be grayed out. | +| [pluginAreaKind](properties_Object.md#plug-in-kind) | Describes the type of plug-in. | The type of plug-in. | +| [popupPlacement](properties_TextAndPicture.md#with-pop-up-menu) | Allows displaying a symbol that appears as a triangle in the button, which indicates that there is a pop-up menu attached. | "None", Linked", "Separated" | +| [printFrame](properties_Print.md#print-frame) | Print mode for objects whose size can vary from one record to another depending on their contents | "fixed", "variable", (subform only) "fixedMultiple" | +| [progressSource](properties_WebArea.md#progression) | A value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually. | minimum: 0 | + +## R + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | +| [radioGroup](properties_Object.md#radio-group) | Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set. | Radio group name | +| [requiredList](properties_RangeOfValues.md#required-list) | Allows setting a list where only certain values can be inserted. | A list of mandatory values. | +| [resizable](properties_ResizingOptions.md#resizable) | Designates if the size of an object can be modified by the user. | "true", "false" | +| [resizingMode](properties_ResizingOptions.md#column-auto-resizing) | Specifies if a list box column should be automatically resized | "rightToLeft", "legacy" | +| [right](properties_CoordinatesAndSizing.md#right) | Positions an object on the right. | minimum: 0 | +| [rowControlSource](properties_ListBox.md#row-control-array) | A 4D array defining the list box rows. | Array | +| [rowCount](properties_Crop.md#rows) | Sets the number of rows. | minimum: 1 | +| [rowFillSource](properties_BackgroundAndBorder.md#row-background-color-array) (array list box)
    [rowFillSource](properties_BackgroundAndBorder.md#background-color-expression) (selection or collection list box) | The name of an array or expression to apply a custom background color to each row of a list box. | The name of an array or expression. | +| [rowHeight](properties_CoordinatesAndSizing.md#row-height) | Sets the height of list box rows. | CSS value unit "em" or "px" (default) | +| [rowHeightAuto](properties_CoordinatesAndSizing.md#automatic-row-height) | boolean | "true", "false" | +| [rowHeightAutoMax](properties_CoordinatesAndSizing.md#maximum-width) | Designates the largest height allowed for list box rows. | CSS value unit "em" or "px" (default). minimum: 0 | +| [rowHeightAutoMin](properties_CoordinatesAndSizing.md#minimum-width) | Designates the smallest height allowed for list box rows. | CSS value unit "em" or "px" (default). minimum: 0 | +| [rowHeightSource](properties_CoordinatesAndSizing.md#row-height-array) | An array defining different heights for the rows in a list box. | Name of a 4D array variable. | +| [rowStrokeSource](properties_Text.md#row-font-color-array) (array list box)
    [rowStrokeSource](properties_Text.md#font-color-expression) (selection or collection/entity selection list box) | An array or expression for managing row colors. | Name of array or expression. | +| [rowStyleSource](properties_Text.md#row-style-array) (array list box)
    [rowStyleSource](properties_Text.md#style-expression) (selection or collection/entity selection list box) | An array or expression for managing row styles. | Name of array or expression. | + +## S + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [scrollbarHorizontal](properties_Appearance.md#horizontal-scroll-bar) | A tool allowing the user to move the viewing area to the left or right. | "visible", "hidden", "automatic" | +| [scrollbarVertical](properties_Appearance.md#vertical-scroll-bar) | A tool allowing the user to move the viewing area up or down. | "visible", "hidden", "automatic" | +| [selectedItemsSource](properties_DataSource.md#selected-items) | Collection of the selected items in a list box. | Collection expression | +| [selectionMode](properties_Action.md#multi-selectable) (hierarchical list)
    [selectionMode](properties_ListBox.md#selection-mode) (list box)
    [selectionMode](properties_Subform.md#selection-mode) (subform) | Allows the selection of multiple records/rows. | "multiple", "single", "none" | +| [shortcutAccel](properties_Entry.md#shortcut) | Specifies the system to use, Windows or Mac. | true, false | +| [shortcutAlt](properties_Entry.md#shortcut) | Designates the Alt key | true, false | +| [shortcutCommand](properties_Entry.md#shortcut) | Designates the Command key (macOS) | true, false | +| [shortcutControl](properties_Entry.md#shortcut) | Designates the Control key (Windows) | true, false | +| [shortcutKey](properties_Entry.md#shortcut) | The letter or name of a special meaning key. | "[F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | +| [shortcutShift](properties_Entry.md#shortcut) | Designates the Shift key | true, false | +| [showFooters](properties_Footers.md#display-headers) | Displays or hides column footers. | true, false | +| [showGraduations](properties_Scale.md#display-graduation) | Displays/Hides the graduations next to the labels. | true, false | +| [showHeaders](properties_Headers.md#display-headers) | Displays or hides column headers. | true, false | +| [showHiddenChars](properties_Appearance.md#show-hidden-characters) | Displays/hides invisible characters. | true, false | +| [showHorizontalRuler](properties_Appearance.md#show-horizontal-ruler) | Displays/hides the horizontal ruler when the document view is in Page view mode | true, false | +| [showHTMLWysiwyg](properties_Appearance.md#show-html-wysiwyg) | Enables/disables the HTML WYSIWYG view | true, false | +| [showPageFrames](properties_Appearance.md#show-page-frame) | Displays/hides the page frame when the document view is in Page view mode | true, false | +| [showReferences](properties_Appearance.md#show-references) | Displays all 4D expressions inserted in the 4D Write Pro document as *references* | true, false | +| [showSelection](properties_Entry.md#selection-always-visible) | Keeps the selection visible within the object after it has lost the focus | true, false | +| [showVerticalRuler](properties_Appearance.md#show-vertical-ruler) | Displays/hides the vertical ruler when the document view is in Page view mode | true, false | +| [singleClickEdit](properties_Entry.md#single-click-edit) | Enables direct passage to edit mode. | true, false | +| [sizingX](properties_ResizingOptions.md#horizontal-sizing) | Specifies if the horizontal size of an object should be moved or resized when a user resizes the form. | "grow", "move", "fixed" | +| [sizingY](properties_ResizingOptions.md#horizontal-sizing) | Specifies if the vertical size of an object should be moved or resized when a user resizes the form. | "grow", "move", "fixed" | +| [sortable](properties_Action.md#sortable) | Allows sorting column data by clicking the header. | true, false | +| [spellcheck](properties_Entry.md#auto-spellcheck) | Activates the spell-check for the object | true, false | +| [splitterMode](properties_ResizingOptions.md#pusher) | When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop. | "grow", "move", "fixed" | +| [startPoint](shapes_overview.md#startpoint-property) | Starting point for drawing a line object (only available in JSON Grammar). | "bottomLeft", topLeft" | +| [staticColumnCount](properties_ListBox.md#number-of-static-columns) | Number of columns that cannot be moved during execution. | minimum: 0 | +| [step](properties_Scale.md#step) | Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value. | minimum: 1 | +| [storeDefaultStyle](properties_Text.md#store-with-default-style-tags) | Store the style tags with the text, even if no modification has been made | true, false | +| [stroke](properties_Text.md#font-color) (text)
    [stroke](properties_BackgroundAndBorder.md#line-color) (lines)
    [stroke](properties_BackgroundAndBorder.md#transparent) (list box) | Specifies the color of the font or line used in the object. | Any CSS value, "transparent", "automatic" | +| [strokeDashArray](properties_BackgroundAndBorder.md#dotted-line-type) | Describes dotted line type as a sequence of black and white points | Number array or string | +| [strokeWidth](properties_BackgroundAndBorder.md#line-width) | Designates the thickness of a line. | An integer or 0 for smallest width on a printed form | +| [style](properties_TextAndPicture.md#multi-style) | Enables the possibility of using specific styles in the selected area. | true, false | +| [styledText](properties_Text.md#style) | Allows setting the general appearance of the button. See Button Style for more information. | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" | +| [switchBackWhenReleased](properties_Animation.md#switch-back-when-released) | Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released. | true, false | +| [switchContinuously](properties_Animation.md#switch-continuously-on-clicks) | Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation). | true, false | +| [switchWhenRollover](properties_Animation.md#switch-when-roll-over) | Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area. | true, false | + + +## T + +| Property | Description | Possible Values | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [table](properties_Subform.md#source) | Table that the list subform belongs to (if any). | 4D table name, or "" | +| [text](properties_Object.md#title) | The title of the form object | Any text | +| [textAlign](properties_Text.md#horizontal-alignment) | Horizontal location of text within the area that contains it. | "automatic", "right", "center", "justify", "left" | +| [textAngle](properties_Text.md#orientation) | Modifies the orientation (rotation) of the text area. | 0, 90, 180, 270 | +| [textDecoration](properties_Text.md#underline) | Sets the selected text to have a line running beneath it. | "normal", "underline" | +| [textFormat](properties_Display.md#alpha-format) | Controls the way the alphanumeric fields and variables appear when displayed or printed. | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats | +| [textPlacement](properties_TextAndPicture.md#title-picture-position) | Relative location of the button title in relation to the associated icon. | "left", "top", "right", "bottom", "center" | +| [threeState](properties_Display.md#three-states) | Allows a check box object to accept a third state. | true, false | +| [timeFormat](properties_Display.md#time-format) | Controls the way times appear when displayed or printed. Must only be selected among the 4D built-in formats. | "systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values) | +| [truncateMode](properties_Display.md#trucate-with-ellipsis) | Controls the display of values when list box columns are too narrow to show their full contents. | "withEllipsis", "none" | +| [type](properties_Object.md#type) | Mandatory. Designates the data type of the form object. | "text", "rectangle", "groupBox", "tab", "line", "button", "checkbox", "radio", "dropdown", "combo", "webArea", "write", "subform", "plugin", "splitter", "buttonGrid", "progress", "ruler", "spinner", "stepper", "list", "pictureButton", "picturePopup", "listbox", "input", "view" | +| [tooltip](properties_Help.md) | Provide users with additional information about a field. | Additional information to help a user | +| [top](properties_CoordinatesAndSizing.md#top) | Positions an object at the top (centered). | minimum: 0 | + +## U + +| Property | Description | Possible Values | +| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------- | +| [urlSource](properties_WebArea.md#url) | Designates the the URL loaded or being loading by the associated Web area. | A URL. | +| [useLastFrameAsDisabled](properties_Animation.md#use-last-frame-as-disabled) | Enables setting the last thumbnail as the one to display when the button is disabled. | true, false | +| [userInterface](properties_Appearance.md#user-interface) | 4D View Pro area interface. | "none" (default), "ribbon", "toolbar" | + +## V + +| Property | Description | Possible Values | +| ----------------------------------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | +| [values](properties_DataSource.md#default-list-values) | List of default values for an array listbox column | ex: "A","B","42"... | +| [variableCalculation](properties_Object.md#variable-calculation) | Allows mathematical calculations to be performed. | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" | +| [verticalAlign](properties_Text.md#vertical-alignment) | Vertical location of text within the area that contains it. | "automatic", "top", "middle", "bottom" | +| [verticalLineStroke](properties_Gridlines.md#vertical-line-color) | Defines the color of the vertical lines in a list box (gray by default). | Any CSS value, "'transparent", "automatic" | +| [visibility](properties_Display.md#visibility) | Allows hiding the object in the Application environment. | "visible", "hidden", "selectedRows", "unselectedRows" | + +## W + +| Property | Description | Possible Values | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | +| [webEngine](properties_WebArea.md#use-embedded-web-rendering-engine) | Used to choose between two rendering engines for the Web area, depending on the specifics of the application. | "embedded", "system" | +| [width](properties_CoordinatesAndSizing.md#width) | Designates an object's horizontal size | minimum: 0 | +| [withFormulaBar](properties_Appearance.md#show-formula-bar) | Manages the display of a formula bar with the Toolbar interface in the 4D View Pro area. | true, false | +| [wordwrap](properties_Display.md#wordwrap) | Manages the display of contents when it exceeds the width of the object. | "automatic" (excluding list box), "normal", "none" | + + +## Z + +| Property | Description | Possible Values | +| ------------------------------------- | ------------------------------------------------ | ------------------ | +| [zoom](properties_Appearance.md#zoom) | Zoom percentage for displaying 4D Write Pro area | number (minimum=0) | diff --git a/website/translated_docs/de/FormObjects/properties_ResizingOptions.md b/website/translated_docs/de/FormObjects/properties_ResizingOptions.md new file mode 100644 index 00000000000000..cd7774f0466a8b --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_ResizingOptions.md @@ -0,0 +1,144 @@ +--- +id: propertiesResizingOptions +0: title:Resizing Options +--- + +--- +## Column Auto-Resizing + +When this property is enabled (`rightToLeft` value in JSON), list box columns are automatically resized along with the list box, within the limits of the [minimum](properties_CoordinatesAndSizing.md#minimum-width) and [maximum](properties_CoordinatesAndSizing.md#maximum-width) widths defined. + +When this property is disabled (`legacy` value in JSON), only the rightmost column of the list box is resized, even if its width exceeds the maximum value defined. + +### How column auto-resizing works + +* As the list box width increases, its columns are enlarged, one by one, starting from right to left, until each reaches its [maximum width](properties_CoordinatesAndSizing.md#maximum-width). Only columns with the [Resizable](#resizable) property selected are resized. + +* The same procedure applies when the list box width decreases, but in reverse order (*i.e.*, columns are resized starting from left to right). When each column has reached its [minimum width](properties_CoordinatesAndSizing.md#minimum-width), the horizontal scroll bar becomes active again. + +* Columns are resized only when the horizontal scroll bar is not "active"; *i.e.*, all columns are fully visible in the list box at its current size. **Note**: If the horizontal scroll bar is hidden, this does not alter its state: a scroll bar may still be active, even though it is not visible. + +* After all columns reach their maximum size, they are no longer enlarged and instead a blank (fake) column is added on the right to fill the extra space. If a fake (blank) column is present, when the list box width decreases, this is the first area to be reduced. + +![](assets/en/FormObjects/property_columnAutoResizing.png) + +#### About the fake (blank) column + +The appearance of the fake column matches that of the existing columns; it will have a fake header and/or footer if these elements are present in the existing list box columns and it will have the same background color(s) applied. + +The fake header and/or footer can be clicked but this does not have any effect on the other columns (e.g.: no sort is performed); nevertheless, the `On Clicked`, `On Header Click` and `On Footer Click` events are generated accordingly. + +If a cell in the fake column is clicked, the [LISTBOX GET CELL POSITION](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-GET-CELL-POSITION.301-4311145.en.html) command returns "X+1" for its column number (where X is the number of existing columns). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ----------------------- | +| resizingMode | string | "rightToLeft", "legacy" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Horizontal Sizing + +This property specifies if the horizontal size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +| Option | JSON value | Result | +| ------ | ---------- | ---------------------------------------------------------------------------------------------------------------------- | +| Grow | "grow" | The same percentage is applied to the object’s width when the user resizes the width of the window, | +| Move | "move" | The object is moved the same amount left or right as the width increase when the user resizes the width of the window, | +| None | "fixed" | The object remains stationary when the form is resized | +> This property works in conjunction with the [Vertical Sizing](#vertical-sizing) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | ----------------------- | +| sizingX | string | "grow", "move", "fixed" | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Vertical Sizing + +This property specifies if the vertical size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +| Option | JSON value | Result | +| ------ | ---------- | -------------------------------------------------------------------------------------------------------------------- | +| Grow | "grow" | The same percentage is applied to the object's height when the user resizes the width of the window, | +| Move | "move" | The object is moved the same amount up or down as the height increase when the user resizes the width of the window, | +| None | "fixed" | The object remains stationary when the form is resized | +> This property works in conjunction with the [Horizontal Sizing](#horizontal-sizing) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | ----------------------- | +| sizingY | string | "grow", "move", "fixed" | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Pusher + +When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop. + +Here is the result of a “pusher” splitter being moved: ![](assets/en/FormObjects/splitter_pusher1.png) + +![](assets/en/FormObjects/splitter_pusher3.png) + +When this property is not applied to the splitter, the result is as follows: + +![](assets/en/FormObjects/splitter_pusher2.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:------------ |:---------:|:------------------------------------:| +| splitterMode | string | "move" (pusher), "resize" (standard) | + +#### Objects Supported + +[Splitter](splitterTabControlOverview#splitters) + + + + +--- +## Resizable + +Designates if the size of the column can be modified by the user. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:--------- |:---------:|:---------------:| +| resizable | boolean | "true", "false" | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + diff --git a/website/translated_docs/de/FormObjects/properties_Scale.md b/website/translated_docs/de/FormObjects/properties_Scale.md new file mode 100644 index 00000000000000..c5fec5f7494574 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Scale.md @@ -0,0 +1,137 @@ +--- +id: propertiesScale +title: Scale +--- + +--- +## Barber shop + +Enables the "barber shop" variant for the thermometer. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| ----------------------------------------------------------- | +| [max](#maximum) | number | NOT passed = enabled; passed = disabled (basic thermometer) | + +#### Objects Supported + +[Barber shop](progressIndicator.md#barber-shop) + + + +--- +## Display graduation + +Displays/Hides the graduations next to the labels. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| --------------- | +| showGraduations | boolean | "true", "false" | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Graduation step + +Scale display measurement. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:--------------:|:---------:| --------------- | +| graduationStep | integer | minimum: 0 | + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Label Location + +Specifies the location of an object's displayed text. + +* None - no label is displayed +* Top - Displays labels to the left of or above an indicator +* Bottom - Displays labels to the right of or below an indicator + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| ---------------------------------------- | +| labelsPlacement | string | "none", "top", "bottom", "left", "right" | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Maximum + +Maximum value of an indicator. + +- For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. +- To enable [Barber shop thermometers](progressIndicator.md#barber-shop), this property must be omitted. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------------:| ----------------------------------- | +| max | string / number | minimum: 0 (for numeric data types) | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + +--- +## Minimum + +Minimum value of an indicator. For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------------:| ----------------------------------- | +| min | string / number | minimum: 0 (for numeric data types) | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + +--- +## Step + +Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------:| --------------- | +| step | integer | minimum: 1 | + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + + + diff --git a/website/translated_docs/de/FormObjects/properties_Subform.md b/website/translated_docs/de/FormObjects/properties_Subform.md new file mode 100644 index 00000000000000..b50e4a773b427e --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Subform.md @@ -0,0 +1,169 @@ +--- +id: propertiesSubform +title: Subform +--- + +--- +## Allow Deletion + +Specifies if the user can delete subrecords in a list subform. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------------- | +| deletableInList | boolean | true, false (default: true) | + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## Detail Form + +You use this property to declare the detail form to use in the subform. It can be: + +- a widget, i.e. a page-type subform endowed with specific functions. In this case, the [list subform](#list-form) and [Source](#source) properties must be empty or not present. You can select a component form name when it is published in the component. +> You can generate [components](Concepts/components.md) providing additional functionalities through subforms. + +- the detail form to associate a with the [list subform](#list-form). The detail form can be used to enter or view subrecords. It generally contains more information than the list subform. Naturally, the detail form must belong to the same table as the subform. You normally use an Output form as the list form and an Input form as the detail form. If you do not specify the form to use for full page entry, 4D automatically uses the default Input format of the table. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| detailForm | string | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Double-click on empty row + +Action to perform in case of a double-click on an empty line of a list subform. The following options are available: +- Do nothing: Ignores double-click. +- Add Record: Creates a new record in the subform and changes to editing mode. The record will be created directly in the list if the [Enterable in List] property is enabled. Otherwise, it will be created in page mode, in the [detail form](detail-form) associated with the subform. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------------- | --------- | ---------------------------------- | +| doubleClickInEmptyAreaAction | string | "addSubrecord" or "" to do nothing | + +#### Objects Supported + +[Subform](subform_overview.md) + +#### See also +[Double click on row](#double-click-on-row) + +--- +## Double-click on row + +`List subform` + +Sets the action to be performed when a user double-clicks on a row in a list subform. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the [detail form defined for the list subform](#detail-form). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | ----------------------------------- | +| doubleClickInRowAction | string | "editSubrecord", "displaySubrecord" | + +#### Objects Supported + +[Subform](subform_overview.md) + + +#### See also +[Double click on empty row](#double-click-on-empty-row) + +--- +## Enterable in list + +When a list subform has this property enabled, the user can modify record data directly in the list, without having to use the [associated detail form](#detail-form). + +> To do this, simply click twice on the field to be modified in order to switch it to editing mode (make sure to leave enough time between the two clicks so as not to generate a double-click). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------- | +| enterableInList | boolean | true, false | + + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## List Form + +You use this property to declare the list form to use in the subform. A list subform lets you enter, view, and modify data in other tables. + +List subforms can be used for data entry in two ways: the user can enter data directly in the subform, or enter it in an [input form](#detail-form). In this configuration, the form used as the subform is referred to as the List form. The input form is referred to as the Detail form. + +You can also allow the user to enter data in the List form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| listForm | string | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + + + +--- +## Source + +Specifies the table that the list subform belongs to (if any). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------------------------- | +| table | string | 4D table name, or "" if no table. | + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Enterable in list](subform_overview.md#enterable-in-list) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + - The selected subrecords are returned by the `GET HIGHLIGHTED RECORDS` command. + - Clicking on the record will select it, but it does not modify the current record. + - A **Ctrl+click** (Windows) or **Command+click** (macOS) on a record toggles its state (between selected or not). The Up and Down arrow keys select the previous/next record in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the selected record is changed. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | string | "multiple", "single", "none" | + +#### Objects Supported + +[Subform](subform_overview.md) diff --git a/website/translated_docs/de/FormObjects/properties_Text.md b/website/translated_docs/de/FormObjects/properties_Text.md new file mode 100644 index 00000000000000..3607d96415dfde --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_Text.md @@ -0,0 +1,754 @@ +--- +id: propertiesText +0: title:Text +--- + +--- +## Allow font/color picker + +When this property is enabled, the [OPEN FONT PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-FONT-PICKER.301-4505612.en.html) and [OPEN COLOR PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-COLOR-PICKER.301-4505611.en.html) commands can be called to display the system font and color picker windows. Using these windows, the users can change the font or color of a form object that has the focus directly by clicking. When this property is disabled (default), the open picker commands have no effect. + + +#### JSON Grammar + +| Property | Data Type | Possible Values | +| -------------------- | --------- | --------------------- | +| allowFontColorPicker | boolean | false (default), true | + +#### Objects Supported + +[Input](input_overview.md) + +--- +## Bold + +Sets the selected text to appear darker and heavier. + +You can set this property using the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. +> This is normal text.
    **This is bold text.** + +#### JSON Grammar + +| Property | Data Type | Possible Values | +| ---------- | --------- | ---------------- | +| fontWeight | text | "normal", "bold" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Italic + +Sets the selected text to slant slightly to the right. + +You can also set this property via the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. +> This is normal text.
    *This is text in italics.* + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------ | +| fontStyle | string | "normal", "italic" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +--- +## Underline +Sets the text to have a line running beneath it. +> This is normal text.
    This is underlined text. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | --------------------- | +| textDecoration | string | "normal", "underline" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + + +--- +## Font + +This property allows you to specify either the **font theme** or the **font family** used in the object. +> **Font theme** and **font family** properties are mutually exclusive. A font theme takes hold of font attributes, including size. A font family allows you to define font name, font size and font color. + + +### Font Theme + +The font theme property designates an automatic style name. Automatic styles determine the font family, font size and font color to be used for the object dynamically according to system parameters. These parameters depend on: + +- the platform, +- the system language, +- and the type of form object. + +With the font theme, you are guaranteed that titles are always displayed in accordance with the current interface standards of the system. However, their size may vary from one machine to another. + +Three font themes are available: +- **normal**: automatic style, applied by default to any new object created in the Form editor. +- **main** and **additional** font themes are only supported by [text areas](text.md) and [inputs](input_overview.md). These themes are primarily intended for designing dialog boxes. They refer to font styles used, respectively, for main text and additional information in your interface windows. Here are typical dialog boxes (macOS and Windows) using these font themes: + +![](assets/en/FormObjects/fontThemes.png) + +> Font themes manage the font as well as its size and color. If you modify one of the properties managed by a font theme, it no longer works dynamically. However, you can apply custom style properties (Bold, Italic or Underline) without altering its functioning. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------ | +| fontTheme | string | "normal", "main", "additional" | + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +### Font Family + +There are two types of font family names: + +* *family-name:* The name of a font-family, like "times", "courier", "arial", etc. +* *generic-family:* The name of a generic-family, like "serif", "sans-serif", "cursive", "fantasy", "monospace". + +You can set this using the [**OBJECT SET FONT**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT.301-4054834.en.html) command. +> This is Times New Roman font.
    This is Calibri font.
    This is Papyrus font. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------- | +| fontFamily | string | CSS font family name | +> 4D recommends using only [web safe](https://www.w3schools.com/cssref/css_websafe_fonts.asp) fonts. + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + +--- +## Font Size + +> This property is only available when no [font theme](#font-theme) is selected. + +Allows defining the object's font size in points. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------- | +| fontSize | integer | Font size in points. Minimum value: 0 | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Font Color + +This property specifies the color of the font used in the object. The color can be specified by: + +* a color name - like "red" +* a HEX value - like "#ff0000" +* an RGB value - like "rgb(255,0,0)" + +You can also set this property using the [**OBJECT SET RGB COLORS**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-RGB-COLORS.301-4128232.en.html) command. +> This font is red. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ----------------------------------------- | +| stroke | string | any css value, "transparent", "automatic" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + +--- + +## Font Color Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom font color to each row of the list box. You must use RGB color values. For more information about this, refer to the description of the [OBJECT SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-RGB-COLORS.301-4311385.en.html) command in the 4D Language Reference manual. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. +> This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +The following example uses a variable name: enter *CompanyColor* for the **Font Color Expression** and, in the form method, write the following code: + +```code4d +CompanyColor:=Choose([Companies]ID;Background color;Light shadow color; +Foreground color;Dark shadow color) +``` + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------- | +| rowStrokeSource | string | Font color expression | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + +--- +## Style Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom character style to each row of the list box or each cell of the column. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed (if applied to the list box) or each cell displayed (if applied to a column). You can use the constants of the [Font Styles](https://doc.4d.com/4Dv17R6/4D/17-R6/Font-Styles.302-4310343.en.html) theme. + +Example: + +```code4d +Choose([Companies]ID;Bold;Plain;Italic;Underline) +``` +> This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | ----------------------------------------------- | +| rowStyleSource | string | Style expression to evaluate for each row/cell. | + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Horizontal Alignment + +Horizontal location of text within the area that contains it. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------------------------- | +| textAlign | string | "automatic", "right", "center", "justify", "left" | + +#### Objects Supported + +[Group Box](groupBox.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Header](listbox_overview.md#list-box-footers) - [Text Area](text.md) + + +--- +## Vertical Alignment + +Vertical location of text within the area that contains it. + +The **Default** option (`automatic` JSON value) sets the alignment according to the type of data found in each column: +- `bottom` for all data (except pictures) and +- `top` for picture type data. + +This property can also be handled by the [OBJECT Get vertical alignment](https://doc.4d.com/4Dv18/4D/18/OBJECT-Get-vertical-alignment.301-4505442.en.html) and [OBJECT SET VERTICAL ALIGNMENT](https://doc.4d.com/4Dv18/4D/18/OBJECT-SET-VERTICAL-ALIGNMENT.301-4505430.en.html) commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | -------------------------------------- | +| verticalAlign | string | "automatic", "top", "middle", "bottom" | + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) + + + + + + + + + +--- +## Meta Info Expression +`Collection or entity selection type list boxes` + +Specifies an expression or a variable which will be evaluated for each row displayed. It allows defining a whole set of row text attributes. You must pass an **object variable** or an **expression that returns an object**. The following properties are supported: + +| Property name | Type | Description | +| ------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| stroke | string | Font color. Any CSS color (ex: "#FF00FF"), "automatic", "transparent" | +| fill | string | Background color. Any CSS color (ex: "#F00FFF"), "automatic", "transparent" | +| fontStyle | string | "normal","italic" | +| fontWeight | string | "normal","bold" | +| textDecoration | string | "normal","underline" | +| unselectable | boolean | Designates the corresponding row as not being selectable (*i.e.*, highlighting is not possible). Enterable areas are no longer enterable if this option is enabled unless the "Single-Click Edit" option is also enabled. Controls such as checkboxes and lists remain functional. This setting is ignored if the list box selection mode is "None". Default value: False. | +| disabled | boolean | Disables the corresponding row. Enterable areas are no longer enterable if this option is enabled. Text and controls (checkboxes, lists, etc.) appear dimmed or grayed out. Default value: False. | +| cell.\ | object | Allows applying the property to a single column. Pass in \ the object name of the list box column. **Note**: "unselectable" and "disabled" properties can only be defined at row level. They are ignored if passed in the "cell" object | + +> Style settings made with this property are ignored if other style settings are already defined through expressions (*i.e.*, [Style Expression](#style-expression), [Font Color Expression](#font-color-expression), [Background Color Expression](#background-color-expression)). + +The following example uses the *Color* project method. + +In the form method, write the following code: + +```code4d +//form method +Case of + :(Form event=On Load) + Form.meta:=New object +End case +``` + + +In the *Color* method, write the following code: + +```code4d +//Color method +//Sets font color for certain rows and the background color for a specific column: +C_OBJECT($0) +If(This.ID>5) //ID is an attribute of collection objects/entities + Form.meta.stroke:="purple" + Form.meta.cell:=New object("Column2";New object("fill";"black")) +Else + Form.meta.stroke:="orange" +End if +$0:=Form.meta +``` +> See also the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------ | +| metaSource | string | Object expression to evaluate for each row/cell. | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + + +--- +## Multi-style + +This property enables the possibility of using specific styles in the selected area. When this option is checked, 4D interprets any \ HTML tags found in the area.

    + +

    + By default, this option is not enabled. +

    + + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + styledText + + boolean + + true, false +
    + +

    + Objects Supported +

    + +

    + List Box Column - Input +

    + + + + + + + + +
    +

    + Orientation +

    + +

    + Modifies the orientation (rotation) of a text area. Text areas can be rotated by increments of 90°. Each orientation value is applied while keeping the same lower left starting point for the object: +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Orientation value + + Result +
    + 0 (default) + + +
    + 90 + + +
    + 180 + + +
    + 270 + + +
    + +

    + In addition to static text areas, input text objects can be rotated when they are non-enterable. When a rotation property is applied to an input object, the enterable property is removed (if any). This object is then excluded from the entry order. +

    + + + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + textAngle + + number + + 0, 90, 180, 270 +
    + +

    + Objects Supported +

    + +

    + Input (non-enterable) - Text Area +

    + + + + + +
    +

    + Row Font Color Array +

    + +

    + Array type list boxes +

    + +

    + Allows setting a custom font color to each row of the list box or cell of the column. +

    + +

    + The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the SET RGB COLORS theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. +

    + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + rowStrokeSource + + string + + The name of a longint array +
    + +

    + Objects Supported +

    + +

    + List Box - List Box Column +

    + + + + + +
    +

    + Row Style Array +

    + +

    + Array type list boxes +

    + +

    + Allows setting a custom font style to each row of the list box or each cell of the column. +

    + +

    + The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. To fill the array (using a method), use the constants of the Font Styles theme. You can add constants together to combine styles. If you want the cell to inherit the style defined at the higher level, pass the value -255 to the corresponding array element. +

    + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + rowStyleSource + + string + + The name of a longint array. +
    + +

    + Objects Supported +

    + +

    + List Box - List Box Column +

    + + + +
    +

    + Store with default style tags +

    + +

    + This property is only available for a Multi-style input area. When this property is enabled, the area will store the style tags with the text, even if no modification has been made. In this case, the tags correspond to the default style. When this property is disabled, only modified style tags are stored. +

    + +

    + For example, here is a text that includes a style modification: +

    + +

    + +

    + +

    + When the property is disabled, the area only stores the modification. The stored contents are therefore: +

    + +
    What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!
    +
    + +

    + When the property is enabled, the area stores all the formatting information. The first generic tag describes the default style then each variation is the subject of a pair of nested tags. The contents stored in the area are therefore: +

    + +
    <SPAN STYLE="font-family:'Arial';font-size:9pt;text-align:left;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background-color:#FFFFFF">What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!</SPAN>
    +
    + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + storeDefaultStyle + + boolean + + true, false (default). +
    + +

    + Objects Supported +

    + +

    + Input +

    + + + + + + + + + + + + + + + + + + + + + diff --git a/website/translated_docs/de/FormObjects/properties_TextAndPicture.md b/website/translated_docs/de/FormObjects/properties_TextAndPicture.md new file mode 100644 index 00000000000000..423aba0e270cc1 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_TextAndPicture.md @@ -0,0 +1,252 @@ +--- +id: propertiesTextAndPicture +0: title:Text and Picture +--- + +--- +## Background pathname + +Sets the path of the picture that will be drawn in the background of the object. If the object uses an [icon](#picture-pathname) with [different states](#number-of-states), the background picture will automatically support the same number of states. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------------- | --------- | ------------------------------------------------------------------------------------------------------------ | +| customBackgroundPicture | string | Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option. | + + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## Button Style + +General appearance of the button. The button style also plays a part in the availability of certain options. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-----:|:---------:| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| style | text | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" | + + +#### Objects Supported + +[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Horizontal Margin + +This property allows setting the size (in pixels) of the horizontal margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders: + +| With / Without | Example | +| -------------------- | --------------------------------------------------------- | +| Without margin | ![](assets/en/FormObjects/property_horizontalMargin1.png) | +| With 13-pixel margin | ![](assets/en/FormObjects/property_horizontalMargin2.png) | +> This property works in conjunction with the [Vertical Margin](#vertical-margin) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------------------------------- | +| customBorderX | number | For use with "custom" style. Minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- + +## Icon Location + +Designates the placement of an icon in relation to the form object. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------- | +| iconPlacement | string | "none", "left", "right" | + +#### Objects Supported + +[List Box Header](listbox_overview.md#list-box-headers) + + + + + +--- +## Icon Offset + +Sets a custom offset value in pixels, which will be used when the button is clicked + +The title of the button will be shifted to the right and toward the bottom for the number of pixels entered. This allows applying a customized 3D effect when the button is clicked. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| customOffset | number | minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + +--- +## Number of States + +This property sets the exact number of states present in the picture used as the icon for a [button with icon](button_overview.md), a [check box](checkbox_overview.md) or a custom [radio button](radio_overview.md). In general, a button icon includes four states: active, clicked, mouse over and inactive. + +Each state is represented by a different picture. In the source picture, the states must be stacked vertically: + +![](assets/en/property_numberOfStates.png) + +The following states are represented: +1. button not clicked / check box unchecked (variable value=0) +2. button clicked / check box checked (variable value=1) +3. roll over +4. disabled + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| iconFrames | number | minimum: 1 | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + + +--- +## Picture pathname + +Sets the path of the picture that will be used as icon for the object. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +> When used as icon for active objects, the picture must be designed to support a variable [number of states](#number-of-states). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------- | +| icon | picture | Relative or filesystem path in POSIX syntax. | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) + + + + +--- +## Title/Picture Position + +This property allows modifying the relative location of the button title in relation to the associated icon. This property has no effect when the button contains only a title (no associated picture) or a picture (no title). By default, when a button contains a title and a picture, the text is placed below the picture. + +Here are the results using the various options for this property: + +| Option | Description | Example | +| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- | +| **Left** | The text is placed to the left of the icon. The contents of the button are aligned to the right. | ![](assets/en/FormObjects/property_titlePosition_left.en.png) | +| **Top** | The text is placed above the icon. The contents of the button are centered. | ![](assets/en/FormObjects/property_titlePosition_top.png) | +| **Right** | The text is placed to the right of the icon. The contents of the button are aligned to the left. | ![](assets/en/FormObjects/property_titlePosition_right.png) | +| **Bottom** | The text is placed below the icon. The contents of the button are centered. | ![](assets/en/FormObjects/property_titlePosition_bottom.png) | +| **Centered** | The text of the icon is centered vertically and horizontally in the button. This parameter is useful, for example, for text included in an icon. | ![](assets/en/FormObjects/property_titlePosition_centered.png) | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ------------------------------------------ | +| textPlacement | string | "left", "top", "right", "bottom", "center" | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Vertical Margin + +This property allows setting the size (in pixels) of the vertical margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders. + +> This property works in conjunction with the [Horizontal Margin](#horizontal-margin) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------------------------------- | +| customBorderY | number | For use with "custom" style. Minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## With pop-up menu + +This property allows displaying a symbol that appears as a triangle in the button to indicate the presence of an attached pop-up menu: + +![](assets/en/FormObjects/property_popup.png) + +The appearance and location of this symbol depends on the button style and the current platform. + + +### Linked and Separated + +To attach a pop-up menu symbol to a button, there are two display options available: + +| Linked | Separated | +|:----------------------------------------------------:|:-------------------------------------------------------:| +| ![](assets/en/FormObjects/property_popup_linked.png) | ![](assets/en/FormObjects/property_popup_separated.png) | +> The actual availability of a "separated" mode depends on the style of the button and the platform. + +Each option specifies the relation between the button and the attached pop-up menu: + +
  • When the pop-up menu is **separated**, clicking on the left part of the button directly executes the current action of the button; this action can be modified using the pop-up menu accessible in the right part of the button.
  • When the pop-up menu is **linked**, a simple click on the button only displays the pop-up menu. Only the selection of the action in the pop-up menu causes its execution. + + +### Managing the pop-up menu + +It is important to note that the "With Pop-up Menu" property only manages the graphic aspect of the button. The display of the pop-up menu and its values must be handled entirely by the developer, more particularly using `form events` and the **[Dynamic pop up menu](https://doc.4d.com/4Dv18/4D/18/Dynamic-pop-up-menu.301-4505524.en.html)** and **[Pop up menu](https://doc.4d.com/4Dv17R5/4D/17-R5/Pop-up-menu.301-4127438.en.html)** commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------------- | --------- | ---------------------------------------------------------------------------------------------------- | +| popupPlacement | string |
  • "none"
  • "linked"
  • "separated" | + + +#### Objects Supported + +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#Rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-XP) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/properties_WebArea.md b/website/translated_docs/de/FormObjects/properties_WebArea.md new file mode 100644 index 00000000000000..a690347b17a8e4 --- /dev/null +++ b/website/translated_docs/de/FormObjects/properties_WebArea.md @@ -0,0 +1,103 @@ +--- +id: propertiesWebArea +title: Web Area +--- + +--- +## Access 4D methods + +You can call 4D methods from the JavaScript code executed in a Web area and get values in return. To be able to call 4D methods from a Web area, you must activate the 4D methods accessibility property ("all"). + +> This property is only available if the Web area [uses the embedded Web rendering engine](#use-embedded-web-rendering-engine). + +When this property is on, a special JavaScript object named `$4d` is instantiated in the Web area, which you can [use to manage calls to 4D project methods](webArea_overview.md#4d-object). + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | ----------------------- | +| methodsAccessibility | string | "none" (default), "all" | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + +--- +## Progression + +Name of a Longint type variable. This variable will receive a value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | -------------------------- | +| progressSource | string | Name of a Longint variable | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + + + +--- +## URL + +A String type variable that designates the URL loaded or being loading by the associated Web area. The association between the variable and the Web area works in both directions: + +* If the user assigns a new URL to the variable, this URL is automatically loaded by the Web area. +* Any browsing done within the Web area will automatically update the contents of the variable. + +Schematically, this variable functions like the address area of a Web browser. You can represent it via a text area above the Web area. + +### URL Variable and WA OPEN URL command + +The URL variable produces the same effects as the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. The following differences should nevertheless be noted: +- For access to documents, this variable only accepts URLs that are RFC-compliant ("file://c:/My%20Doc") and not system pathnames ("c:\MyDoc"). The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command accepts both notations. +- If the URL variable contains an empty string, the Web area does not attempt to load the URL. The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command generates an error in this case. +- If the URL variable does not contain a protocol (http, mailto, file, etc.), the Web area adds "http://", which is not the case for the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. +- When the Web area is not displayed in the form (when it is located on another page of the form), executing the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command has no effect, whereas assigning a value to the URL variable can be used to update the current URL. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| urlSource | string | A URL. | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + + + + + +--- +## Use embedded Web rendering engine + +This option allows choosing between two rendering engines for the Web area, depending on the specifics of your application: + +* **unchecked** - `JSON value: system` (default): In this case, 4D uses the "best" engine corresponding to the system. On Windows, 4D automatically uses the most recent version of the browser found on the machine (IE11, MS Edge, etc.). On macOS, 4D uses the current version of WebKit (Safari). This means that you automatically benefit from the latest advances in Web rendering, through HTML5 or JavaScript. However, you may notice some rendering differences between Internet Explorer/Edge implementations and Web Kit ones. +* **checked** - `JSON value: embedded`: In this case, 4D uses Blink engine from Google. Using the embedded Web engine means that Web area rendering and their functioning in your application are identical regardless of the platform used to run 4D (slight variations of pixels or differences related to network implementation may nevertheless be observed). When this option is chosen, you no longer benefit from automatic updates of the Web engine performed by the operating system; however, new versions of the engines are provided through 4D. + + Note that the Blink engine has the following limitations: + * [WA SET PAGE CONTENT](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PAGE-CONTENT.301-4310783.en.html): using this command requires that at least one page is already loaded in the area (through a call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or an assignment to the URL variable associated to the area). + * Execution of Java applets, JavaScripts and plug-ins is always enabled and cannot be disabled in Web areas in Blink. The following selectors of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) and [WA GET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-GET-PREFERENCE.301-4310763.en.html) commands are ignored: + * `WA enable Java applets` + * `WA enable JavaScript` + * `WA enable plugins` + * When URL drops are enabled by the `WA enable URL drop` selector of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command, the first drop must be preceded by at least one call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or one assignment to the URL variable associated to the area. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | -------------------- | +| webEngine | string | "embedded", "system" | + +#### Objects Supported + +[Web Area](webArea_overview.md) \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/radio_overview.md b/website/translated_docs/de/FormObjects/radio_overview.md new file mode 100644 index 00000000000000..aec5e481eabe2c --- /dev/null +++ b/website/translated_docs/de/FormObjects/radio_overview.md @@ -0,0 +1,162 @@ +--- +id: radiobuttonOverview +title: Radio Button +--- + +## Overview + +Radio buttons are objects that allow the user to select one of a group of buttons. + +Usually, a radio button shows a small bullseye with text. However, radio buttons can have [various appearances](#button-styles). + +![](assets/en/FormObjects/radio1.png) + +A radio button is selected: +- when the user clicks on it +- when it has the focus and the user presses the **Space bar** key. + + + +## Configuring radio buttons + +Radio buttons are used in coordinated sets: only one button at a time can be selected in the set. In order to operate in a coordinated manner, a set of radio buttons must share the same [Radio Group](properties_Object.md#radio-group) property. + +Radio buttons are controlled with methods. Like all buttons, a radio button is set to 0 when the form is first opened. A method associated with a radio button executes when the button is selected. The following is an example of a group of radio buttons used in a video collection database to enter the speed of the recording (SP, LP, or EP): + +![](assets/en/FormObjects/radio2.png) + +Selecting one radio button in a group sets that button to 1 and all of the others in the group to 0. Only one radio button can be selected at a time. +> You can associate [Boolean type expressions](properties_Object.md#variable-or-expression) with radio buttons. In this case, when a radio button in a group is selected, its variable is True and the variables for the group's other radio buttons are False. + +The value contained in a radio button object is not saved automatically (except if it is the representation of a Boolean field); radio button values must be stored in their variables and managed with methods. + + + + +## Button Styles + +Radio [button styles](properties_TextAndPicture.md#button-style) control radio button's general appearance as well as its available properties. It is possible to apply different predefined styles to radio buttons. However, the same button style must be applied to all radio buttons in a group so that they work as expected. + +4D provides radio buttons in the following predefined styles: + + +### Regular + +The Regular radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_regular.png) + +In addition to initiating code execution, the Regular radio button style changes bullsey color when being hovered. + + +### Flat + +The Flat radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_flat.png) + +By default, the Flat style has a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + + +### Toolbar + +The Toolbar radio button style is primarily intended for integration in a toolbar. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + +![](assets/en/FormObjects/radio_toolbar.png) + + - *macOS* - the highlight of the button never appears. + + + +### Bevel + +The Bevel radio button style is similar to the [Toolbar](#toolbar) style's behavior, except that it has a light gray background and a gray outline. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + + ![](assets/en/FormObjects/radio_bevel.png) + + - *macOS* - the highlight of the button never appears. + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the corners of the button are rounded. ![](assets/en/FormObjects/roundedBevel.png) + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the button is displayed as a two-tone system button. + + + +### OS X Textured + +The OS X Textured radio button style is nearly identical to the [Toolbar](#toolbar) style except, depending on the OS, it may have a different appearance and does not display hover. + +By default, the OS X Textured style appears as: + + - *Windows* - a toolbar-like button with a label in the center and the background is always displayed. + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/OSXTextured.png) + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + + ![](assets/en/FormObjects/radio_xp.png) + + - *macOS* - its background is always displayed. + + + +### Collapse / Expand + +This button style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. In Windows, the button looks like a [+] or a [-]; in macOS, it looks like a triangle pointing right or down. + +![](assets/en/FormObjects/checkbox_collapse.png) + + + +### Disclosure Button + +The disclosure radio button style displays the radio button as a standard disclosure button, usually used to show/hide additional information. The button symbol points downwards with value 0 and upwards with value 1. + +![](assets/en/FormObjects/checkbox_disclosure.png) + + +### Custom + +The Custom radio button style accepts a personalized background picture and allows managing additional parameters such as [icon offset](properties_TextAndPicture.md#icon-offset) and [margins](properties_TextAndPicture.md#horizontalMargin). + + +## Supported properties + +All radio buttons share the same set of basic properties: + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Radio Group](properties_Object.md#radio-group) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +Additional specific properties are available depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/website/translated_docs/de/FormObjects/shapes_overview.md b/website/translated_docs/de/FormObjects/shapes_overview.md new file mode 100644 index 00000000000000..ff3ad307660bc6 --- /dev/null +++ b/website/translated_docs/de/FormObjects/shapes_overview.md @@ -0,0 +1,109 @@ +--- +id: shapesOverview +title: Shapes +--- + +Shapes are [static objects](formObjects_overview.md#active-and-static-objects) that can be added to 4D forms. + +4D forms support the following basic shapes: + +- rectangles +- lines +- ovals + + +## Rectangle + +A static rectangle is a decorative object for forms. Rectangles are constrained to squared shapes. + +The design of rectangles is controlled through many properties (color, line thickness, pattern, etc.). Specifically, the [roundness](properties_CoordinatesAndSizing.md#corner-radius) of its corners can be defined. + +![](assets/en/FormObjects/shapes_rectangle2.png) + +#### JSON Example: + +```code4d + "myRectangle": { + "type": "rectangle", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "borderRadius": 20 //define the roundness of the corners + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Corner radius](properties_CoordinatesAndSizing.md#corner-radius) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Line + +A static line is a decorative object for forms, drawn between two plots. Lines can be horizontal, vertical, or of any angle shapes. + +The design of lines is controlled through many properties (color, line thickness, etc.). + + +### startPoint property +The `startPoint` JSON property defines from which coordinate to draw the line (see example). + +> the `startPoint` property is not exposed in the Property List, where the line drawing direction is visible. + + + +#### JSON Examples: + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "topLeft", //first direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: ![](assets/en/FormObjects/shape_line1.png) + + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "bottomLeft", //2nd direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: ![](assets/en/FormObjects/shape_line2.png) + + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [startPoint](#startpoint-property) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Oval + +A static oval is a decorative object for forms. Oval objects can be used to draw circular shapes (when [width](properties_CoordinatesAndSizing.md#width) and [height](properties_CoordinatesAndSizing.md#height) properties are equal). + +![](assets/en/FormObjects/shape_oval.png) + +#### JSON Example: + +```code4d + "myOval": { + "type": "oval", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "fill": "blue" //define the background color + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/website/translated_docs/de/Project/architecture.md b/website/translated_docs/de/Project/architecture.md index 0328abafded2cb..8f83ae580be225 100644 --- a/website/translated_docs/de/Project/architecture.md +++ b/website/translated_docs/de/Project/architecture.md @@ -190,7 +190,7 @@ This folder contains files that memorize user configurations, e.g. break point p This folder contains the components to be available in the project database only. It must be stored at the same level as the Project folder. -> A project database can be used itself as a component: - for development: put an alias of the .4dproject file in the Components folder of the host database. - for deployment: put the component as .4dz file (see [Building a project package](building.md)) in a .4dbase folder, just like with .4db/.4dc files. +> A project database can be used itself as a component: - for development: put an alias of the .4dproject file in the Components folder of the host database. - for deployment: build the component (see [Building a project package](building.md)) and put the resulting .4dz file in a .4dbase folder in the Components folder of the host database. ## Plugins folder diff --git a/website/translated_docs/de/Project/deploying.md b/website/translated_docs/de/Project/deploying.md index 2512952e806dc5..1e09e5270306ca 100644 --- a/website/translated_docs/de/Project/deploying.md +++ b/website/translated_docs/de/Project/deploying.md @@ -11,4 +11,4 @@ A database project is deployed via a single packed .4dz file. A .4dz file is ess - 4D Volume license (merged applications) - 4D Developer -.4dz files are generated by the build application feature (Application builder dialog box or ```BUILD APPLICATION``` command). \ No newline at end of file +.4dz files are generated by the build application feature (Application builder dialog box or [BUILD APPLICATION](https://livedoc.4d.com/4D-Language-Reference-18/4D-Environment/BUILD-APPLICATION.301-4505371.en.html) command). diff --git a/website/translated_docs/es/FormObjects/buttonGrid_overview.md b/website/translated_docs/es/FormObjects/buttonGrid_overview.md new file mode 100644 index 00000000000000..be25d6a1f87c8a --- /dev/null +++ b/website/translated_docs/es/FormObjects/buttonGrid_overview.md @@ -0,0 +1,35 @@ +--- +id: buttonGridOverview +title: Button Grid +--- + +## Overview + +A button grid is a transparent object that is placed on top of a graphic. The graphic should depict a row-by-column array. When one of the graphics is clicked on, it will have a sunken or pressed appearance: + +![](assets/en/FormObjects/buttonGrid_smileys.png) + +You can use a button grid object to determine where the user clicks on the graphic. The object method would use the `On Clicked` event and take appropriate action depending on the location of the click. + + +## Creating button grids + +To create the button grid, add a background graphic to the form and place a button grid on top of it. Specify the number of [rows](properties_Crop.md#rows) and [columns](properties_Crop.md#columns). + +In 4D, a button grid is used as a color palette: + +![](assets/en/FormObjects/button_buttonGrid.png) + +## Using button grids + +The buttons on the grid are numbered from top left to bottom right. In the above example, the grid is 16 columns across by 16 rows down. The button in the top-left position returns 1 when clicked. If the red button at the far right of the second row is selected, the button grid returns 32. If no element is selected, the value is 0 + + +### Goto page + +You can assign the `gotoPage` [standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) to a button grid. When this action is selected, 4D will automatically display the page of the form that corresponds to the number of the button that is selected in the button grid. For example, if the user selects the tenth button of the grid, 4D will display the tenth page of the current form (if it exists). + + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Standard action](properties_Action.md#standard-action) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Width](properties_CoordinatesAndSizing.md#width) - [Visibility](properties_Display.md#visibility) \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/button_overview.md b/website/translated_docs/es/FormObjects/button_overview.md new file mode 100644 index 00000000000000..72ed394a8facba --- /dev/null +++ b/website/translated_docs/es/FormObjects/button_overview.md @@ -0,0 +1,366 @@ +--- +id: buttonOverview +title: Button +--- + +A button is an active object that can be assigned an action (*e.g.*, a database task or an interface function) to perform when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +Buttons can fulfill a variety of roles, depending on their style and the action assigned to it. For example, buttons could lead a user through a questionnaire or form to complete, or to make choices. Depending on its settings, a button may be designed to be clicked only once and execute a command, while others may require the user to click more than once to receive the desired result. + +

    + +## Handling buttons + +The actions assigned to buttons can originate from predefined [standard actions](properties_Action.md#standard-action) or from custom object methods. Examples of typical actions include letting the user accept, cancel, or delete records, copy or paste data, move from page to page in a multi-page form, open, delete, or add records in a subform, handle font attributes in text areas, etc. + +Buttons with standard actions are dimmed when appropriate during form execution. For example, if the first record of a table is displayed, a button with the `firstRecord` standard action would appear dimmed. + +If you want a button to perform an action that's not available as a standard action, leave the standard action field empty and write an object method to specify the button’s action. For more information about object methods and how to create and associate them, see [Using object methods](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-object-methods.300-4163733.en.html). Normally, you would activate the `On Clicked` event and the method would run only when the button is clicked. You can associate a method with any button. + +The [variable](properties_Object.md#variable-or-expression) associated with a button is automatically set to **0** when the form is executed for the first time in Design or Application mode. When the user clicks a button, its variable is set to **1**. + +> A button can be assigned both a standard action and a method. In this case, if the button is not disabled by the standard action, the method is executed before the standard action. + + + +## Button Styles + +Button styles control a button's general appearance as well as its available properties. It is possible to apply different predefined styles to buttons or to associate pop-up menus with them. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many button objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides buttons in the following predefined styles: + + + +### Regular + +The Regular button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +By default, the Regular style has a light gray background with a label in the center. When the cursor hovers over the Regular button style, the border and background color change to demonstrate that it has the focus. In addition to initiating code execution, the Regular button style mimics a mechanical button by quickly changing background color when being clicked. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", //define the type of object + "style":"regular", //define the style of the button + "defaultButton":"true" //define button as the default choice + "text": "OK", //text to appear on the button + "action": "Cancel", //action to be be performed + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the button + "height": 20 //height of the button + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + + +### Flat + +The Flat button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_flat.png) + +By default, the Flat style has a white background with a label in the center, rounded corners, and a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + +#### JSON Example: + +```code4d + + "myButton": { + "type": "button", + "style":"flat", + "defaultButton":"true" + "text": "OK", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + +### Toolbar + +The Toolbar button style is primarily intended for integration in a toolbar. It includes the option to add a pop-up menu (indicated by an inverted triangle) which is generally used to display additional choices for the user to select. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted when it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_toolbar.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"toolbar", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel button style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive label) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_bevel.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"bevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Rounded Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + + ![](assets/en/FormObjects/button_roundedbevel.png) + + - *macOS* - the corners of the button are rounded. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"roundedBevel", + "text": "OK", + "popupPlacement":"none" / + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Gradient style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_osxgradient.png) + + - *macOS* - the button is displayed as a two-tone system button. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"gradientBevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### OS X Textured + +The OS X Textured button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light gray background with a label in the center. It has the special feature of being transparent in Vista. + + ![](assets/en/FormObjects/button_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"texturedBevel", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's transparency and pop-up menu property option. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + +![](assets/en/FormObjects/button_officexp.png) + + - *macOS* - its background is always displayed. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"office", + "text": "OK", + "popupPlacement":"none" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Help + + +The Help button style can be used to display a standard system help button. By default, the Help style is displayed as a question mark within a circle. + +![](assets/en/FormObjects/button_help.png) + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"help", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + +> The Help style does not support [Number of States](properties_TextAndPicture.md#number-of-states), [Picture pathname](properties_TextAndPicture.md#picture-pathname), and [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) basic properties. + + +### Circle + +The Circle button style appears as a round system button. This button style is designed for macOS. + +![](assets/en/FormObjects/button_circleM.png) + +On Windows, it is identical to the “None” style (the circle in the background is not taken into account). + + +#### JSON Example: + +``` + "myButton": { + "type": "button", + "style":"circular", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Custom + +The Custom button style accepts a personalized background picture and allows managing additional parameters such as icon and margin offset. + +![](assets/en/FormObjects/button_custom.png) + + +#### JSON Example: + +```code + "myButton": { + "type": "button", + "style":"custom", + "text": "", + "customBackgroundPicture": "/RESOURCES/bkgnd.png", + "icon": "/RESOURCES/custom.png", + "textPlacement": "center", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +## Supported Properties + +All buttons share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Not rendered](properties_Display.md#not-rendered) - [Number of States](properties_TextAndPicture.md#number-of-states)(1) - [Object Name](properties_Object.md#object-name) - [Picture pathname](properties_TextAndPicture.md#picture-pathname)(1) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position)(1) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +> (1) Not supported by the [Help](#help) style. + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Default Button](properties_Appearance.md#default-button) (Flat, Regular) +- [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) - [With pop-up menu](properties_TextAndPicture.md#with-popup-menu) (Toolbar, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Circle, Custom) + diff --git a/website/translated_docs/es/FormObjects/checkbox_overview.md b/website/translated_docs/es/FormObjects/checkbox_overview.md new file mode 100644 index 00000000000000..884bef346fc62c --- /dev/null +++ b/website/translated_docs/es/FormObjects/checkbox_overview.md @@ -0,0 +1,420 @@ +--- +id: checkboxOverview +title: Check Box +--- + +## Overview + +A check box is a type of button used to enter or display binary (true-false) data. Basically, it is either checked or unchecked, but a third state can be defined (see below). + +![](assets/en/FormObjects/checkbox.png) + +Check boxes are controlled by methods. Like all buttons, a check box variable is set to 0 when the form is first opened. The method associated with it executes when the check box is selected. + +A check box displays text next to a small square. This text is set in the [Title](properties_Object.md#title) property of the check box. You can enter a title in the form of an XLIFF reference in this area (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + + +## Using check boxes + +A check box can be associated to a [variable or expression](properties_Object.md#variable-or-expression) of type integer or boolean. + +- **integer:** if the box is checked, the variable has the value 1. When not checked, it has the value 0. If check box is in third state (see below), it has the value 2. +- **boolean:** if the box is checked, the variable has the value `True`. When not checked, it has the value `False`. + +Any or all check boxes in a form can be checked or unchecked. A group of check boxes allows the user to select multiple options. + + +### Three-States check box + +Check box objects with style [Regular](checkbox_overview.md#regular) and [Flat](checkbox_overview.md#flat) accept a third state. This third state is an intermediate status, which is generally used for display purposes. For example, it allows indicating that a property is present in a selection of objects, but not in each object of the selection. + +![](assets/en/FormObjects/checkbox_3states.png) + +To enable this third state, you must select the [Three-States](properties_Display.md#three-states) property. + +This property is only available for regular and flat check boxes associated with numeric [variables or expressions](properties_Object.md#variable-or-expression) — check boxes for Boolean expressions cannot use the [Three-States](properties_Display.md#three-states) property (a Boolean expression cannot be in an intermediary state). + +The variable associated with the check box returns the value 2 when the check box is in the third state. +> In entry mode, the Three-States check boxes display each state sequentially, in the following order: unchecked / checked / intermediary / unchecked, etc. The intermediary state is generally not very useful in entry mode; in the code, simply force the value of the variable to 0 when it takes the value of 2 in order to pass directly from the checked state to the unchecked state. + + +## Using a standard action + +You can assign a [standard action](properties_Action.md#standard-action) to a check box to handle attributes of text areas. For example, if you assign the `fontBold` standard action, at runtime the check box will manage the "bold" attribute of the selected text in the current area. + +Only actions that can represent a true/false status ("checkable" actions) are supported by this object: + +| Supported actions | Usage condition (if any) | +| ----------------------------------- | ------------------------ | +| avoidPageBreakInsideEnabled | 4D Write Pro areas only | +| fontItalic | | +| fontBold | | +| fontLinethrough | | +| fontSubscript | 4D Write Pro areas only | +| fontSuperscript | 4D Write Pro areas only | +| fontUnderline | | +| font/showDialog | Mac only | +| htmlWYSIWIGEnabled | 4D Write Pro areas only | +| section/differentFirstPage | 4D Write Pro areas only | +| section/differentLeftRightPages | 4D Write Pro areas only | +| spell/autoCorrectionEnabled | | +| spell/autoDashSubstitutionsEnabled | Mac only | +| spell/autoLanguageEnabled | Mac only | +| spell/autoQuoteSubstitutionsEnabled | Mac only | +| spell/autoSubstitutionsEnabled | | +| spell/enabled | | +| spell/grammarEnabled | Mac only | +| spell/showDialog | Mac only | +| spell/visibleSubstitutions | | +| visibleBackground | 4D Write Pro areas only | +| visibleFooters | 4D Write Pro areas only | +| visibleHeaders | 4D Write Pro areas only | +| visibleHiddenChars | 4D Write Pro areas only | +| visibleHorizontalRuler | 4D Write Pro areas only | +| visiblePageFrames | 4D Write Pro areas only | +| visibleReferences | | +| widowAndOrphanControlEnabled | 4D Write Pro areas only | + +For detailed information on these actions, please refer to the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section. + +## Check box button styles + +Check box styles control a check box's general appearance as well as its available properties. It is possible to apply different predefined styles to check boxes. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many check box objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides check boxes in the following predefined styles: + +### Regular + +The Regular check box style is a standard system check box (*i.e.*, a rectangle with a descriptive title): + +![](assets/en/FormObjects/checkbox_regular.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"regular", + "text": "Cancel", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + "dataSourceTypeHint":"boolean" + } +``` + + + +### Flat + +The Flat check box style is a minimalist appearance. The Flat style's graphic nature is particularly useful for forms that will be printed. + +![](assets/en/FormObjects/checkbox_flat.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"flat", + "text": "Cancel", + "action": "cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Toolbar button + +The Toolbar button check box style is primarily intended for integration in a toolbar. + +The Toolbar style has a transparent background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_toolbar.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"toolbar", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel check box style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive title) style with the [Toolbar](#toolbar) style's behavior. + +The Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_bevel.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"bevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The Rounded Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example on macOS: + + ![](assets/en/FormObjects/checkbox_roundedbevel_mac.png) + +> on Windows, the Rounded Bevel style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +```code4d + "myCheckBox": { + "type": "checkbox", + "style":"roundedBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The OS X Gradient style has a light gray background with a title and is displayed as a two-tone system button on macOS. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + + ![](assets/en/FormObjects/checkbox_osxgradient_mac.png) + +> On Windows, this style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"gradientBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### OS X Textured + +The OS X Textured checkbox style is similar to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light blue background with a title in the center. + + ![](assets/en/FormObjects/checkbox_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/checkbox_osxtextured_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"texturedBevel", + "text": "Checkbox", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### Office XP + +The Office XP check box style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. Example with states unchecked / checked / highlighted: + + ![](assets/en/FormObjects/checkbox_officexp.png) + + - *macOS* - its background is always displayed. Example with states unchecked / checked: + + ![](assets/en/FormObjects/checkbox_officexp_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"office", + "text": "Checkbox", + "action": "fontBold", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Collapse / Expand + +This check box style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. + + - *Windows* - the button looks like a [+] or a [-] + + ![](assets/en/FormObjects/checkbox_collapse.png) + + - *macOS* - it looks like a triangle pointing right or down. + + ![](assets/en/FormObjects/checkbox_collapse_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"disclosure", + "method": "m_collapse", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Disclosure Button + +In macOS and Windows, a check box with the "Disclosure" style appears as a standard disclosure button, usually used to show/hide additional information. When used as a radio button, the button symbol points downwards with value 0 and upwards with value 1. + + - *Windows* + + ![](assets/en/FormObjects/checkbox_disclosure.png) + + - *macOS* + + ![](assets/en/FormObjects/checkbox_disclosure_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"roundedDisclosure", + "method": "m_disclose", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### Custom + +The Custom check box style accepts a personalized background picture and allows managing specific properties: + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) +- [Icon Offset](properties_TextAndPicture.md#icon-offset) +- [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) and [Vertical Margin](properties_TextAndPicture.md#verticalMargin) + +It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states), that can be used in conjunction with a [4-state](properties_TextAndPicture.md#number-of-states) [background picture](properties_TextAndPicture.md#backgroundPathname). + +#### JSON Example: + +``` + "myCheckbox": { + "type": "checkbox", + "style":"custom", + "text": "OK", + "icon": "/RESOURCES/smiley.jpg", + "iconFrame": 4, + "customBackgroundPicture": "/RESOURCES/paper.jpg", + "iconOffset": 5, //custom icon offset when clicked + "left": 60, + "top": 160, + "width": 100, + "height": 20, + "customBorderX": 20, + "customBorderY": 5 + } +``` + + + + +## Supported Properties + +All check boxes share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Three-States](properties_Display.md#three-states) (Flat, Regular) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/input_overview.md b/website/translated_docs/es/FormObjects/input_overview.md new file mode 100644 index 00000000000000..8fdbe26769cda5 --- /dev/null +++ b/website/translated_docs/es/FormObjects/input_overview.md @@ -0,0 +1,44 @@ +--- +id: inputOverview +title: Input +--- + +## Overview + +Inputs allow you to add enterable or non-enterable expressions such as database [fields](Concepts/identifiers.md#fields) and [variables](Concepts/variables.md) to your forms. Inputs can handle character-based data (text, dates, numbers...) or pictures: + +![](assets/en/FormObjects/input.png) + +Inputs can contain [assignable or non-assignable expressions](Concepts/quick-tour.md#assignable-vs-non-assignable-expressions). + +In addition, inputs can be [enterable or non-enterable](properties_Entry.md#enterable). An enterable input accepts data. You can set data entry controls for the object. A non-enterable input can only display values but cannot be edited by the user. + +You can manage the data with object or form [methods](Concepts/methods.md). + + +### JSON Example: + +```code4d + "myText": { + "type": "input", //define the type of object + "spellcheck": true, //enable spelling verification + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20 //height of the object + } +``` + + +## Supported Properties +[Alpha Format](properties_Display.md#alpha-format) - [Auto Spellcheck](properties_Entry.md#auto-spellcheck) - [Border Line Style](properties_BackgroundAndBorder.md) - [Bold](properties_Text.md#bold) - [Boolean Format](properties_Display.md#boolean-format) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#class) - [Context Menu](properties_Entry.md#context-menu) - [Date Format](properties_Display.md#date-format) - [Default value](properties_RangeOfValues.md#default-value) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression type](properties_Object.md#expression-type) - [Fill Color](properties_BackgroundAndBorder.md#fill-color) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Multiline](properties_Entry.md#multiline) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Orientation](properties_Text.md#orientation) - [Picture Format](properties_Display.md#picture-format) - [Placeholder](properties_Entry.md#placeholder) - [Print Frame](properties_Print.md#print-frame) - [Required List](properties_RangeOfValues.md#required-list) - [Right](properties_CoordinatesAndSizing.md#right) - [Save as](properties_DataSource.md#save-as) - [Selection always visible](properties_Entry.md#selection-always-visible) - [Store with default style tags](properties_Text.md#store-with-default-style-tags) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - \[Vertical Sizing\](properties_ResizingOptions.md#vertical -sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +--- +## Input alternatives + +You can also represent field and variable expressions in your forms using alternative objects, more particularly: + +* You can display and enter data from database fields directly in columns of [selection type List boxes](listbox_overview.md). +* You can represent a list field or variable directly in a form using [Pop-up Menus/Drop-down Lists](popupMenuDropdownList_overview) and [Combo Boxes](comboBox_overview.md) objects. +* You can represent a boolean expression as a [check box](checkbox_overview.md) or as a [radio button](radio_overview.md) object. \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/listbox_overview.md b/website/translated_docs/es/FormObjects/listbox_overview.md new file mode 100644 index 00000000000000..12fe4cf95d694f --- /dev/null +++ b/website/translated_docs/es/FormObjects/listbox_overview.md @@ -0,0 +1,1089 @@ +--- +id: listboxOverview +title: List Box +--- + +## Overview + +List boxes are complex active objects that allow displaying and entering data as synchronized columns. They can be bound to database contents such as entity selections and record sections, or to any language contents such as collections and arrays. They include advanced features regarding data entry, column sorting, event managemet, customized appearance, moving of columns, etc. + +![](assets/en/FormObjects/listbox.png) + +A list box contains one or more columns whose contents are automatically synchronized. The number of columns is, in theory, unlimited (it depends on the machine resources). + +### Basic user features + +During execution, list boxes allow displaying and entering data as lists. To make a cell editable ([if entry is allowed for the column](#managing-entry)), simply click twice on the value that it contains: + +![](assets/en/FormObjects/listbox_edit.png) + +Users can enter and display the text on several lines within a list box cell. To add a line break, press **Ctrl+Carriage return** on Windows or **Option+Carriage return** on macOS. + +Booleans and pictures can be displayed in cells, as well as dates, times, or numbers. It is possible to sort column values by clicking on a header ([standard sort](#managing-sorts)). All columns are automatically synchronized. + +It is also possible to resize each column, and the user can modify the order of [columns](properties_ListBox.md#locked-columns-and-static-columns) and [rows](properties_Action.md#movable-rows) by moving them using the mouse, if this action is authorized. Note that list boxes can be used in [hierarchical mode](#hierarchical-list-boxes). + +The user can select one or more rows using the standard shortcuts: **Shift+click** for an adjacent selection and **Ctrl+click** (Windows) or **Command+click** (macOS) for a non-adjacent selection. + + +### List box parts + +A list box is composed of four distinct parts: + +* the list box object in its entirety, +* columns, +* column headers, and +* column footers. + +![](assets/en/FormObjects/listbox_parts.png) + +Each part has its own name as well as specific properties. For example, the number of columns or the alternating color of each row is set in the list box object properties, the width of each column is set in the column properties, and the font of the header is set in the header properties. + +It is possible to add an object method to the list box object and/or to each column of the list box. Object methods are called in the following order: + +1. Object method of each column +2. Object method of the list box + +The column object method gets events that occur in its [header](#list-box-headers) and [footer](#list-box-footers). + + + +### List box types + +There are several types of list boxes, with their own specific behaviors and properties. The list box type depends on its [Data Source property](properties_Object.md#data-source): + +- **Arrays**: each column is bound to a 4D array. Array-based list boxes can be displayed as [hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes). +- **Selection** (**Current selection** or **Named selection**): each column is bound to an expression (e.g. a field) which is evaluated for every record of the selection. +- **Collection or Entity selection**: each column is bound to an expression which is evaluated for every element of the collection or every entity of the entity selection. +> It is not possible to combine different list box types in the same list box object. The data source is set when the list box is created. It is then no longer possible to modify it by programming. + + +### Managing list boxes + +You can completely configure a list box object through its properties, and you can also manage it dynamically through programming. + +The 4D Language includes a dedicated "List Box" theme for list box commands, but commands from various other themes, such as "Object properties" commands or `EDIT ITEM`, `Displayed line number` commands can also be used. Refer to the [List Box Commands Summary](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box-Commands-Summary.300-4311159.en.html) page of the *4D Language reference* for more information. + + + +## List box objects + +### Array list boxes + +In an array list box, each column must be associated with a one-dimensional 4D array; all array types can be used, with the exception of pointer arrays. The number of rows is based on the number of array elements. + +By default, 4D assigns the name “ColumnX” to each column variable, and thus to each associated array. You can change it, as well as other column properties, in the [column properties](listbox_overview.md#column-specific-properties). The display format for each column can also be defined using the `OBJECT SET FORMAT` command +> Array type list boxes can be displayed in [hierarchical mode](listbox_overview.md#hierarchical-list-boxes), with specific mechanisms. + +With array type list box, the values entered or displayed are managed using the 4D language. You can also associate a [choice list](properties_DataSource.md#choice-list) with a column in order to control data entry. The values of columns are managed using high-level List box commands (such as `LISTBOX INSERT ROWS` or `LISTBOX DELETE ROWS`) as well as array manipulation commands. For example, to initialize the contents of a column, you can use the following instruction: + +```code4d +ARRAY TEXT(ColumnName;size) +``` + +You can also use a list: + +```code4d +LIST TO ARRAY("ListName";ColumnName) +``` +> **Warning**: When a list box contains several columns of different sizes, only the number of items of the smallest array (column) will be displayed. You should make sure that each array has the same number of elements as the others. Also, if a list box column is empty (this occurs when the associated array was not correctly declared or sized using the language), the list box displays nothing. + + + + +### Selection list boxes + +In this type of list box, each column can be associated with a field (for example `[Employees]LastName)` or an expression. The expression can be based on one or more fields (for example, `[Employees]FirstName+" "[Employees]LastName`) or it may simply be a formula (for example `String(Milliseconds)`). The expression can also be a project method, a variable or an array item. You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +The contents of each row is then evaluated according to a selection of records: the **current selection** of a table or a **named selection**. + +In the case of a list box based on the current selection of a table, any modification done from the database side is automatically reflected in the list box, and vice versa. The current selection is therefore always the same in both places. + + +### Collection or Entity selection list boxes + +In this type of list box, each column must be associated to an expression. The contents of each row is then evaluated per collection element or per entity of the entity selection. + +Each element of the collection or each entity is available as an object that can be accessed through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. A column expression can be a project method, a variable, or any formula, accessing each entity or collection element object through `This`, for example `This.` (or `This.value` in case of a collection of scalar values). You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +When the data source is an entity selection, any modifications made on the list box side are automatically saved in the database. On the other hand, modifications made on the database side are visible in the list box after touched entities have been reloaded. + +When the data source is a collection, any modifications made in the list box values are reflected in the collection. On the other hand, if modifications are done on the collection using for example the various methods of the *Collections* theme, you will need to explicitely notify 4D by reassigning the collection variable to itself, so that the list box contents is refreshed. For example: + +```code4d +myCol:=myCol.push("new value") //display new value in list box +``` + + + +### Supported Properties + +Supported properties depend on the list box type. + + +| Property | Array list box | Selection list box | Collection or Entity Selection list box | +| -------------------------------------------------------------------------------------------- | -------------- | ------------------ | --------------------------------------- | +| [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) | X | X | X | +| [Background Color](properties_BackgroundAndBorder.md#background-color) | X | X | X | +| [Bold](properties_Text.md#bold) | X | X | X | +| [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) | | X | X | +| [Border Line Style](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) | X | X | X | +| [Bottom](properties_CoordinatesAndSizing.md#bottom) | X | X | X | +| [Class](properties_Object.md#class) | X | X | X | +| [Collection or entity selection](properties_Object.md#collection-or-entity-selection) | | X | X | +| [Column Auto-Resizing](properties_ResizingOptions.md#column-auto-resizing) | X | X | X | +| [Current item](properties_DataSource.md#current-item) | | | X | +| [Current item position](properties_DataSource.md#current-item-position) | | | X | +| [Data Source](properties_Object.md#data-source) | X | X | X | +| [Detail Form Name](properties_ListBox.md#detail-form-name) | | X | | +| [Display Headers](properties_Headers.md#display-headers) | X | X | X | +| [Display Footers](properties_Footers.md#display-footers) | X | X | X | +| [Double-click on row](properties_ListBox.md#double-click-on-row) | | X | | +| [Draggable](properties_Action.md#droppable) | X | X | X | +| [Droppable](properties_Action.md#droppable) | X | X | X | +| [Focusable](properties_Entry.md#focusable) | X | X | X | +| [Font](properties_Text.md#font) | X | X | X | +| [Font Color](properties_Text.md#font_color) | X | X | X | +| [Font Color Expression](properties_Text.md#font-color-expression) | | X | X | +| [Font Size](properties_Text.md#font-size) | X | X | X | +| [Height (list box)](properties_CoordinatesAndSizing.md#height) | X | X | X | +| [Height (headers)](properties_Headers.md#height) | X | X | X | +| [Height (footers)](properties_Footers.md#height) | X | X | X | +| [Hide extra blank rows](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | X | X | X | +| [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) | X | X | X | +| [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) | X | X | X | +| [Hierarchical List Box](properties_Object.md#hierarchical-list-box) | X | | | +| [Highlight Set](properties_ListBox.md#highlight-set) | | X | | +| [Horizontal Alignment](properties_Text.md#horizontal-alignment) | X | X | X | +| [Horizontal Line Color](properties_Gridlines.md#horizontal-line-color) | X | X | X | +| [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) | X | X | X | +| [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) | X | X | X | +| [Italic](properties_Text.md#italic) | X | X | X | +| [Left](properties_CoordinatesAndSizing.md#left) | X | X | X | +| [Master Table](properties_DataSource.md#table) | | X | | +| [Meta info expression](properties_Text.md#meta-info-expression) | | | X | +| [Method](properties_Action.md#method) | X | X | X | +| [Movable Rows](properties_Action.md#movable-rows) | X | | | +| [Named Selection](properties_DataSource.md#selectionName) | | X | | +| [Number of Columns](properties_ListBox.md#number-of-columns) | X | X | X | +| [Number of Locked Columns](properties_ListBox.md#number-of-locked-columns) | X | X | X | +| [Number of Static Columns](properties_ListBox.md#number-of-static-columns) | X | X | X | +| [Object Name](properties_Object.md#object-name) | X | X | X | +| [Right](properties_CoordinatesAndSizing.md#right) | X | X | X | +| [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) | X | | | +| [Row Control Array](properties_ListBox.md#row-control-array) | X | | | +| [Row Font Color Array](properties_Text.md#row-font-color-array) | X | | | +| [Row Height](properties_CoordinatesAndSizing.md#row-height) | X | | | +| [Row Height Array](properties_CoordinatesAndSizing.md#row-height-array) | X | | | +| [Row Style Array](properties_Text.md#row-style-array) | X | | | +| [Selected Items](properties_DataSource.md#selected-items) | | | X | +| [Selection Mode](properties_ListBox.md#selection-mode) | X | X | X | +| [Single-Click Edit](properties_Entry.md#single-click-edit) | X | X | X | +| [Sortable](properties_Action.md#sortable) | X | X | X | +| [Standard action](properties_Action.md#standard-action) | X | | | +| [Style Expression](properties_Text.md#style-expression) | | X | X | +| [Top](properties_CoordinatesAndSizing.md#top) | X | X | X | +| [Transparent](properties_BackgroundAndBorder.md#transparent) | X | X | X | +| [Type](properties_Object.md#type) | X | X | X | +| [Underline](properties_Text.md#underline) | X | X | X | +| [Variable or Expression](properties_Object.md#variable-or-expression) | X | X | | +| [Vertical Alignment](properties_Text.md#vertical-alignment) | X | X | X | +| [Vertical Line Color](properties_Gridlines.md#vertical-line-color) | X | X | X | +| [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) | X | X | X | +| [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) | X | X | X | +| [Visibility](properties_Display.md#visibility) | X | X | X | +| [Width](properties_CoordinatesAndSizing.md#width) | X | X | X | + + +> List box columns, headers and footers support specific properties. + + + + + +## List box columns + +A list box is made of one or more column object(s) which have specific properties. You can select a list box column in the Form editor by clicking on it when the list box object is selected: + +![](assets/en/FormObjects/listbox_column.png) + +You can set standard properties (text, background color, etc.) for each column of the list box; these properties take priority over those of the list box object properties. +> You can define the [Expression type](properties_Object.md#expression-type) for array list box columns (String, Text, Number, Date, Time, Picture, Boolean, or Object). The use of object arrays requires a 4D View Pro licence (see [Using object arrays in columns (4D View Pro)](#using-object-arrays-in-columns-4d-view-pro)). + + +### Column Specific Properties + +[Alpha Format](properties_Display.md#alpha-format) - [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) - [Automatic Row Height](properties_CoordinatesAndSizing.md#automatic-row-height) - [Background Color](properties_Text.md#background-color) - [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) - [Bold](properties_Text.md#bold) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#class) - [Data Type (selection and collection list box column)](properties_DataSource.md#data-type) - [Date Format](properties_Display.md#date-format) - [Default Values](properties_DataSource.md#default-values) - [Display Type](properties_Display.md#display-type) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression](properties_DataSource.md#expression) - [Expression Type (array list box column)](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Invisible](properties_Display.md#visibility) - [Maximum Width](properties_CoordinatesAndSizing.md#maximum-width) - [Method](properties_Action.md#method) - [Minimum Width](properties_CoordinatesAndSizing.md#minimum-width) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Resizable](properties_ResizingOptions.md#resizable) - [Required List](properties_RangeOfValues.md#required-list) - [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) - [Row Font Color Array](properties_Text.md#row-font-color-array) - [Row Style Array](properties_Text.md#row-style-array) - [Save as](properties_DataSource.md#save-as) - [Style Expression](properties_Text.md#style-expression) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## List box headers + +> To be able to access the header properties of a list box, you must enable the [Display Headers](properties_Headers.md#display-headers) option of the list box. + +When headers are displayed, you can select a header in the Form editor by clicking it when the list box object is selected: + +![](assets/en/FormObjects/listbox_header.png) + +You can set standard text properties for each column header of the list box; in this case, these properties have priority over those of the column or of the list box itself. + +In addition, you have access to the specific properties for headers. Specifically, an icon can be displayed in the header next to or in place of the column title, for example when performing [customized sorts](#managing-sorts). + +![](assets/en/FormObjects/lbHeaderIcon.png) + +At runtime, events that occur in a header are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a header, it is applied to all headers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"header3";False)` will hide all headers in the list box object to which *header3* belongs and not simply this header. + +### Header Specific Properties + +[Bold](properties_Text.md#bold) - [Class](properties_Object.md#class) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Icon Location](properties_TextAndPicture.md#icon-location) - [Italic](properties_Text.md#italic) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_TextAndPicture.md#picture-pathname) - [Title](properties_Object.md#title) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) + + + + + +## List box footers +> To be able to access footer properties for a list box, you must enable the [Display Footers](properties_Footers.md#display-footers) option. + +List boxes can contain non-enterable "footers" displaying additional information. For data shown in table form, footers are usually used to display calculations such as totals or averages. + +When footers are displayed, you can click to select one when the list box object is selected in the Form editor: + +![](assets/en/FormObjects/listbox_footers.png) + +For each List box column footer, you can set standard text properties: in this case, these properties take priority over those of the column or of the list box. You can also access specific properties for footers. In particular, you can insert a [custom or automatic calculation](properties_Object.md#variable-calculation). + +At runtime, events that occur in a footer are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a footer, it is applied to all footers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"footer3";False)` will hide all footers in the list box object to which *footer3* belongs and not simply this footer. + +### Footer Specific Properties + + +[Alpha Format](properties_Display.md#alpha-format) - [Background Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Bold](properties_Text.md#bold) - [Class](properties_Object.md#class) - [Date Format](properties_Display.md#date-format) - [Expression Type](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable Calculation](properties_Object.md#variable-calculation) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## Managing entry + +For a list box cell to be enterable, both of the following conditions must be met: + +- The cell’s column must have been set as [Enterable](properties_Entry.md#enterable) (otherwise, the cells of the column can never be enterable). +- In the `On Before Data Entry` event, $0 does not return -1. When the cursor arrives in the cell, the `On Before Data Entry` event is generated in the column method. If, in the context of this event, $0 is set to -1, the cell is considered as not enterable. If the event was generated after **Tab** or **Shift+Tab** was pressed, the focus goes to either the next cell or the previous one, respectively. If $0 is not -1 (by default $0 is 0), the cell is enterable and switches to editing mode. + +Let’s consider the example of a list box containing two arrays, one date and one text. The date array is not enterable but the text array is enterable if the date has not already past. + +![](assets/en/FormObjects/listbox_entry.png) + +Here is the method of the *arrText* column: + +```code4d + Case of + :(Form event=On Before Data Entry) // a cell gets the focus + LISTBOX GET CELL POSITION(*;"lb";$col;$row) + // identification of cell + If(arrDate{$row} Data entry in collection/entity selection type list boxes has a limitation when the expression evaluates to null. In this case, it is not possible to edit or remove the null value in the cell. + + + +## Managing selections + +Selections are managed differently depending on whether the list box is based on an array, on a selection of records, or on a collection/entity selection: + +- **Selection list box**: Selections are managed by a set, which you can modify if necessary, called `$ListboxSetX` by default (where X starts at 0 and is incremented based on the number of list boxes in the form). This set is [defined in the properties](properties_ListBox.md#highlight-set) of the list box. It is automatically maintained by 4D: If the user selects one or more rows in the list box, the set is immediately updated. On the other hand, it is also possible to use the commands of the "Sets" theme in order to modify the selection of the list box via programming. + +- **Collection/Entity selection list box**: Selections are managed through dedicated list box properties: + - [Current item](properties_DataSource.md#current-item) is an object that will receive the selected element/entity + - [Selected Items](properties_DataSource.md#selected-items) is a collection of selected items + - [Current item position](properties_DataSource.md#current-item-position) returns the position of the selected element or entity. + +- **Array list box**: The `LISTBOX SELECT ROW` command can be used to select one or more rows of the list box by programming. The [variable linked to the List box object](properties_Object.md#variable-or-expression) is used to get, set or store selections of object rows. This variable corresponds to a Boolean array that is automatically created and maintained by 4D. The size of this array is determined by the size of the list box: it contains the same number of elements as the smallest array linked to the columns. Each element of this array contains `True` if the corresponding line is selected and `False` otherwise. 4D updates the contents of this array depending on user actions. Inversely, you can change the value of array elements to change the selection in the list box. On the other hand, you can neither insert nor delete rows in this array; you cannot retype rows either. The `Count in array` command can be used to find out the number of selected lines. For example, this method allows inverting the selection of the first row of the (array type) list box: +```code4d + ARRAY BOOLEAN(tBListBox;10) + //tBListBox is the name of the list box variable in the form + If(tBListBox{1}=True) + tBListBox{1}:=False + Else + tBListBox{1}:=True + End if +``` + +> The `OBJECT SET SCROLL POSITION` command scrolls the list box rows so that the first selected row or a specified row is displayed. + + +### Customizing appearance of selected rows + +When the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is selected, you need to make list box selections visible using available interface options. Since selections are still fully managed by 4D, this means: + +- For array type list boxes, you must parse the Boolean array variable associated with the list box to determine which rows are selected or not. +- For selection type list boxes, you have to check whether the current record (row) belongs to the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. + +You can then define specific background colors, font colors and/or font styles by programming to customize the appearance of selected rows. This can be done using arrays or expressions, depending on the type of list box being displayed (see the following sections). + +> You can use the `lk inherited` constant to mimic the current appearance of the list box (e.g., font color, background color, font style, etc.). + +#### Selection list boxes + +To determine which rows are selected, you have to check whether they are included in the set indicated in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. You can then define the appearance of selected rows using one or more of the relevant [color or style expression property](#using-arrays-and-expressions). + +Keep in mind that expressions are automatically re-evaluated each time the: +- list box selection changes. +- list box gets or loses the focus. +- form window containing the list box becomes, or ceases to be, the frontmost window. + + +#### Array list boxes +You have to parse the Boolean array [Variable or Expression](properties_Object.md#variable-or-expression) associated with the list box to determine whether rows are selected or not selected. + +You can then define the appearance of selected rows using one or more of the relevant [color or style array property](#using-arrays-and-expressions). + +Note that list box arrays used for defining the appearance of selected rows must be recalculated during the `On Selection Change` form event; however, you can also modify these arrays based on the following additional form events: +- `On Getting Focus` (list box property) +- `On Losing Focus` (list box property) +- `On Activate` (form property) +- `On Deactivate` (form property) ...depending on whether and how you want to visually represent changes of focus in selections. + +##### Example + +You have chosen to hide the system highlight and want to display list box selections with a green background color, as shown here: + +![](assets/en/FormObjects/listbox_styles7.png) + +For an array type list box, you need to update the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) by programming. In the JSON form, you have defined the following Row Background Color Array for the list box: + +``` + "rowFillSource": "_ListboxBackground", +``` + +In the object method of the list box, you can write: + +```code4d + Case of + :(Form event=On Selection Change) + $n:=Size of array(LB_Arrays) + ARRAY LONGINT(_ListboxBackground;$n) // row background colors + For($i;1;$n) + If(LB_Arrays{$i}=True) // selected + _ListboxBackground{$i}:=0x0080C080 // green background + Else // not selected + _ListboxBackground{$i}:=lk inherited + End if + End for + End case +``` + +For a selection type list box, to produce the same effect you can use a method to update the [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) based on the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property. + +For example, in the JSON form, you have defined the following Highlight Set and Background Color Expression for the list box: + +``` + "highlightSet": "$SampleSet", + "rowFillSource": "UI_SetColor", +``` +You can write in the *UI_SetColor* method: + +```code4d + If(Is in set("$SampleSet")) + $color:=0x0080C080 // green background + Else + $color:=lk inherited + End if + + $0:=$color +``` + +> In hierarchical list boxes, break rows cannot be highlighted when the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is checked. Since it is not possible to have distinct colors for headers of the same level, there is no way to highlight a specific break row by programming. + + +## Managing sorts + +By default, a list box automatically handles standard column sorts when the header is clicked. A standard sort is an alphanumeric sort of column values, alternately ascending/descending with each successive click. All columns are always synchronized automatically. + +You can prevent standard user sorts by deselecting the [Sortable](properties_Action.md#sortable) property of the list box. + +The developer can set up custom sorts using the `LISTBOX SORT COLUMNS` command and/or combining the `On Header Click` and `On After Sort` form events (see the `FORM Event` command) and relevant 4D commands. + +> The [Sortable](properties_Action.md#sortable) property only affects the standard user sorts; the `LISTBOX SORT COLUMNS` command does not take this property into account. + +The value of the [column header variable](properties_Object.md#variable-or-expression) allows you to manage additional information: the current sort of the column (read) and the display of the sort arrow. + +- If the variable is set to 0, the column is not sorted and the sort arrow is not displayed; ![](assets/en/FormObjects/sorticon0.png) + +- If the variable is set to 1, the column is sorted in ascending order and the sort arrow is displayed; ![](assets/en/FormObjects/sorticon1.png) + +- If the variable is set to 2, the column is sorted in descending order and the sort arrow is displayed. ![](assets/en/FormObjects/sorticon2.png) + +You can set the value of the variable (for example, Header2:=2) in order to “force” the sort arrow display. The column sort itself is not modified in this case; it is up to the developer to handle it. + +> The `OBJECT SET FORMAT` command offers specific support for icons in list box headers, which can be useful when you want to work with a customized sort icon. + + +## Managing row colors, styles, and display + +There are several different ways to set background colors, font colors and font styles for list boxes: + +- at the level of the [list box object properties](#list-box-objects), +- at the level of the [column properties](#list-box-columns), +- using [arrays or expressions properties](#using-arrays-and-expressions) for the list box and/or for each column, +- at the level of the text of each cell (if [multi-style text](properties_Text.md#multi-style)). + + +### Priority & inheritance + +Priority and inheritance principles are observed when the same property is set at more than one level. + +| Priority level | Setting location | +| -------------- | -------------------------------------------------------------------- | +| high priority | Cell (if multi-style text) | +| | Column arrays/methods | +| | List box arrays/methods | +| | Column properties | +| | List box properties | +| low priority | Meta Info expression (for collection or entity selection list boxes) | + +For example, if you set a font style in the list box properties and another using a style array for the column, the latter one will be taken into account. + +For each attribute (style, color and background color), an **inheritance** is implemented when the default value is used: + +- for cell attributes: attribute values of rows +- for row attributes: attribute values of columns +- for column attributes: attribute values of the list box + +This way, if you want an object to inherit the attribute value from a higher level, you can use pass the `lk inherited` constant (default value) to the definition command or directly in the element of the corresponding style/color array. For example, given an array list box containing a standard font style with alternating colors: ![](assets/en/FormObjects/listbox_styles3.png) + +You perform the following modifications: + +- change the background of row 2 to red using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property of the list box object, +- change the style of row 4 to italics using the [Row Style Array](properties_Text.md#row-style-array) property of the list box object, +- two elements in column 5 are changed to bold using the [Row Style Array](properties_Text.md#row-style-array) property of the column 5 object, +- the 2 elements for column 1 and 2 are changed to dark blue using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property for the column 1 and 2 objects: + +![](assets/en/FormObjects/listbox_styles3.png) + +To restore the original appearance of the list box, you can: + +- pass the `lk inherited` constant in element 2 of the background color arrays for columns 1 and 2: then they inherit the red background color of the row. +- pass the `lk inherited` constant in elements 3 and 4 of the style array for column 5: then they inherit the standard style, except for element 4, which changes to italics as specified in the style array of the list box. +- pass the `lk inherited` constant in element 4 of the style array for the list box in order to remove the italics style. +- pass the `lk inherited` constant in element 2 of the background color array for the list box in order to restore the original alternating color of the list box. + + +### Using arrays and expressions + +Depending of the list box type, you can use different properties to customize row colors, styles and display: + +| Property | Array list box | Selection list box | Collection or Entity Selection list box | +| ---------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Background color | [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) | [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) | [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression) | +| Font color | [Row Font Color Array](properties_Text.md#row-font-color-array) | [Font Color Expression](properties_Text.md#font-color-expression) | [Font Color Expression](properties_Text.md#font-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression) | + Font style| + +[Row Style Array](properties_Text.md#row-style-array)|[Style Expression](properties_Text.md#style-expression)|[Style Expression](properties_Text.md#style-expression) or [Meta info expression](properties_Text.md#meta-info-expression)| Display|[Row Control Array](properties_ListBox.md#row-control-array)|-|-| + + + + +## Printing list boxes + +Two printing modes are available: **preview mode** - which can be used to print a list box like a form object, and **advanced mode** - which lets you control the printing of the list box object itself within the form. Note that the "Printing" appearance is available for list box objects in the Form editor. + +### Preview mode + +Printing a list box in preview mode consists of directly printing the list box and the form that contains it using the standard print commands or the **Print** menu command. The list box is printed as it is in the form. This mode does not allow precise control of the printing of the object; in particular, it does not allow you to print all the rows of a list box that contains more rows than it can display. + +### Advanced mode + +In this mode, the printing of list boxes is carried out by programming, via the `Print object` command (project forms and table forms are supported). The `LISTBOX GET PRINT INFORMATION` command is used to control the printing of the object. + +In this mode: + +- The height of the list box object is automatically reduced when the number of rows to be printed is less than the original height of the object (there are no "blank" rows printed). On the other hand, the height does not automatically increase according to the contents of the object. The size of the object actually printed can be obtained via the `LISTBOX GET PRINT INFORMATION` command. +- The list box object is printed "as is", in other words, taking its current display parameters into account: visibility of headers and gridlines, hidden and displayed rows, etc. These parameters also include the first row to be printed: if you call the `OBJECT SET SCROLL POSITION` command before launching the printing, the first row printed in the list box will be the one designated by the command. +- An automatic mechanism facilitates the printing of list boxes that contain more rows than it is possible to display: successive calls to `Print object` can be used to print a new set of rows each time. The `LISTBOX GET PRINT INFORMATION` command can be used to check the status of the printing while it is underway. + + + + + +## Hierarchical list boxes + +A hierarchical list box is a list box in which the contents of the first column appears in hierarchical form. This type of representation is adapted to the presentation of information that includes repeated values and/or values that are hierarchically dependent (country/region/city and so on). + +> Only [array type list boxes](#array-list-boxes) can be hierarchical. + +Hierarchical list boxes are a particular way of representing data but they do not modify the data structure (arrays). Hierarchical list boxes are managed exactly the same way as regular list boxes. + + +### Defining the hierarchy + +To specify a hierarchical list box, there are several possibilities: + +* Manually configure hierarchical elements using the Property list of the form editor (or edit the JSON form). +* Visually generate the hierarchy using the list box management pop-up menu, in the form editor. +* Use the [LISTBOX SET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-SET-HIERARCHY.301-4127969.en.html) and [LISTBOX GET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-GET-HIERARCHY.301-4127970.en.html) commands, described in the *4D Language Reference* manual. + + +#### Hierarchical List Box property + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +The first variable always corresponds to the name of the variable for the first column of the list box (the two values are automatically bound). This first variable is always visible and enterable. For example: country. The second variable is also always visible and enterable; it specifies the second hierarchical level. For example: regions. Beginning with the third field, each variable depends on the one preceding it. For example: counties, cities, and so on. A maximum of ten hierarchical levels can be specified. If you remove a value, the whole hierarchy moves up a level. + +The last variable is never hierarchical even if several identical values exists at this level. For example, referring to the configuration illustrated above, imagine that arr1 contains the values A A A B B B, arr2 has the values 1 1 1 2 2 2 and arr3 the values X X Y Y Y Z. In this case, A, B, 1 and 2 could appear in collapsed form, but not X and Y: + +![](assets/en/FormObjects/property_hierarchicalListBox.png) + +This principle is not applied when only one variable is specified in the hierarchy: in this case, identical values may be grouped. +> If you specify a hierarchy based on the first columns of an existing list box, you must then remove or hide these columns (except for the first), otherwise they will appear in duplicate in the list box. If you specify the hierarchy via the pop-up menu of the editor (see below), the unnecessary columns are automatically removed from the list box. + + +#### Create hierarchy using the contextual menu + +When you select at least one column in addition to the first one in a list box object (of the array type) in the form editor, the **Create hierarchy** command is available in the context menu: + +![](assets/en/FormObjects/listbox_hierarchy1.png) + +This command is a shortcut to define a hierarchy. When it is selected, the following actions are carried out: + +* The **Hierarchical list box** option is checked for the object in the Property List. +* The variables of the columns are used to specify the hierarchy. They replace any variables already specified. +* The columns selected no longer appear in the list box (except for the title of the first one). + +Example: given a list box whose first columns contain Country, Region, City and Population. When Country, Region and City are selected, if you choose **Create hierarchy** in the context menu, a three-level hierarchy is created in the first column, columns 2 and 3 are removed and the Population column becomes the second: + +![](assets/en/FormObjects/listbox_hierarchy2.png) + +##### Cancel hierarchy +When the first column is selected and already specified as hierarchical, you can use the **Cancel hierarchy** command. When you choose this command, the following actions are carried out: + +* The **Hierarchical list box** option is deselected for the object, +* The hierarchical levels 2 to X are removed and transformed into columns added to the list box. + + +### How it works + +When a form containing a hierarchical list box is opened for the first time, by default all the rows are expanded. + +A break row and a hierarchical "node" are automatically added in the list box when values are repeated in the arrays. For example, imagine a list box containing four arrays specifying cities, each city being characterized by its country, its region, its name and its number of inhabitants: + +![](assets/en/FormObjects/hierarch1.png) + +If this list box is displayed in hierarchical form (the first three arrays being included in the hierarchy), you obtain: + +![](assets/en/FormObjects/hierarch2.png) + +The arrays are not sorted before the hierarchy is constructed. If, for example, an array contains the data AAABBAACC, the hierarchy obtained is: + + > A B A C + +To expand or collapse a hierarchical "node," you can just click on it. If you **Alt+click** (Windows) or **Option+click** (macOS) on the node, all its sub-elements will be expanded or collapsed as well. These operations can also be carried out by programming using the `LISTBOX EXPAND` and `LISTBOX COLLAPSE` commands. + +When values of the date or time type are included in a hierarchical list box, they are displayed in the short system format. + +#### Sorts in hierarchical list boxes + +In a list box in hierarchical mode, a standard sort (carried out by clicking on the header of a list box column) is always constructed as follows: + +- In the first place, all the levels of the hierarchical column (first column) are automatically sorted by ascending order. +- The sort is then carried out by ascending or descending order (according to the user action) on the values of the column that was clicked. +- All the columns are synchronized. +- During subsequent sorts carried out on non-hierarchical columns of the list box, only the last level of the first column is sorted. It is possible to modify the sorting of this column by clicking on its header. + +Given for example the following list box, in which no specific sort is specified: + +![](assets/en/FormObjects/hierarch3.png) + +If you click on the "Population" header to sort the populations by ascending (or alternately descending) order, the data appear as follows: + +![](assets/en/FormObjects/hierarch4.png) + +As for all list boxes, you can [disable the standard sort mechanism](properties_Action.md#sortable) and manage sorts using programming. + + +#### Selections and positions in hierarchical list boxes + +A hierarchical list box displays a variable number of rows on screen according to the expanded/collapsed state of the hierarchical nodes. This does not however mean that the number of rows of the arrays vary. Only the display is modified, not the data. It is important to understand this principle because programmed management of hierarchical list boxes is always based on the data of the arrays, not on the displayed data. In particular, the break rows added automatically are not taken into account in the display options arrays (see below). + +Let’s look at the following arrays for example: + +![](assets/en/FormObjects/hierarch5.png) + +If these arrays are represented hierarchically, the row "Quimper" will not be displayed on the second row, but on the fourth, because of the two break rows that are added: + +![](assets/en/FormObjects/hierarch6.png) + +Regardless of how the data are displayed in the list box (hierarchically or not), if you want to change the row containing "Quimper" to bold, you must use the statement Style{2} = bold. Only the position of the row in the arrays is taken into account. + +This principle is implemented for internal arrays that can be used to manage: + +- colors +- background colors +- styles +- hidden rows +- selections + +For example, if you want to select the row containing Rennes, you must pass: + +```code4d + ->MyListbox{3}:=True +``` + +Non-hierarchical representation: ![](assets/en/FormObjects/hierarch7.png) Hierarchical representation: ![](assets/en/FormObjects/hierarch8.png) + +> If one or more rows are hidden because their parents are collapsed, they are no longer selected. Only the rows that are visible (either directly or by scrolling) can be selected. In other words, rows cannot be both hidden and selected. + +As with selections, the `LISTBOX GET CELL POSITION` command will return the same values for a hierarchical list box and a non-hierarchical list box. This means that in both of the examples below, `LISTBOX GET CELL POSITION` will return the same position: (3;2). + +*Non-hierarchical representation:* ![](assets/en/FormObjects/hierarch9.png) + +*Hierarchical representation:* ![](assets/en/FormObjects/hierarch10.png) + +When all the rows of a sub-hierarchy are hidden, the break line is automatically hidden. In the above example, if rows 1 to 3 are hidden, the "Brittany" break row will not appear. + +#### Break rows + +If the user selects a break row, `LISTBOX GET CELL POSITION` returns the first occurrence of the row in the corresponding array. In the following case: + +![](assets/en/FormObjects/hierarch11.png) + + +... `LISTBOX GET CELL POSITION` returns (2;4). To select a break row by programming, you will need to use the `LISTBOX SELECT BREAK` command. + +Break rows are not taken into account in the internal arrays used to manage the graphic appearance of list boxes (styles and colors). It is however possible to modify these characteristics for break rows via the graphic management commands for objects. You simply need to execute the appropriate commands on the arrays that constitute the hierarchy. + +Given for example the following list box (the names of the associated arrays are specified in parentheses): + +*Non-hierarchical representation:* ![](assets/en/FormObjects/hierarch12.png) + +*Hierarchical representation:* ![](assets/en/FormObjects/hierarch13.png) + +In hierarchical mode, break levels are not taken into account by the style modification arrays named `tStyle` and `tColors`. To modify the color or style of break levels, you must execute the following statements: + +```code4d + OBJECT SET RGB COLORS(T1;0x0000FF;0xB0B0B0) + OBJECT SET FONT STYLE(T2;Bold) +``` +> In this context, only the syntax using the array variable can function with the object property commands because the arrays do not have any associated object. + +Result: + +![](assets/en/FormObjects/hierarch14.png) + + +#### Optimized management of expand/collapse + +You can optimize hierarchical list boxes display and management using the `On Expand` and `On Collapse` form events. + +A hierarchical list box is built from the contents of its arrays so it can only be displayed when all these arrays are loaded into memory. This makes it difficult to build large hierarchical list boxes based on arrays generated from data (through the `SELECTION TO ARRAY` command), not only because of the display speed but also the memory used. + +Using the `On Expand` and `On Collapse` form events can overcome these constraints: for example, you can display only part of the hierarchy and load/unload the arrays on the fly, based on user actions. In the context of these events, the `LISTBOX GET CELL POSITION` command returns the cell where the user clicked in order to expand or collapse a row. + +In this case, you must fill and empty arrays through the code. The principles to be implemented are: +- When the list box is displayed, only the first array must be filled. However, you must create a second array with empty values so that the list box displays the expand/collapse buttons: ![](assets/en/FormObjects/hierarch15.png) + +- When a user clicks on an expand button, you can process the `On Expand` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned and lets you build the appropriate hierarchy: you fill the first array with the repeated values and the second with the values sent from the `SELECTION TO ARRAY` command and you insert as many rows as needed in the list box using the `LISTBOX INSERT ROWS` command. ![](assets/en/FormObjects/hierarch16.png) + +- When a user clicks on a collapse button, you can process the `On Collapse` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned: you remove as many rows as needed from the list box using the `LISTBOX DELETE ROWS` command. + + + +## Object arrays in columns (4D View Pro) + +List box columns can handle object arrays. Since object arrays can contain different kinds of data, this powerful new feature allows you to mix different input types in the rows of a single column, and display various widgets as well. For example, you could insert a text input in the first row, a check box in the second, and a drop-down list in the third. Object arrays also provide access to new kinds of widgets, such as buttons or color pickers. + +The following list box was designed using an object array: + +![](assets/en/FormObjects/listbox_column_objectArray.png) +> **Note about Licensing**: The ability to use object arrays in list boxes is a first step to the upcoming "4D View Pro" tool that will progressively replace the 4D View plug-in. Using this feature requires you to have a valid 4D View license. For more information, please refer to the 4D Web site. + +### Configuring an object array column + +To assign an object array to a list box column, you just need to set the object array name in either the Property list ("Variable Name" field), or using the [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-INSERT-COLUMN.301-4311153.en.html) command, like with any array-based column. In the Property list, you can now select Object as a "Expression Type" for the column: + +![](assets/en/FormObjects/listbox_column_objectArray_config.png) + +Standard properties related to coordinates, size, and style are available for object columns. You can define them using the Property list, or by programming the style, font color, background color and visibility for each row of an object-type list box column. These types of columns can also be hidden. + +However, the Data Source theme is not available for object-type list box columns. In fact, the contents of each column cell are based on attributes found in the corresponding element of the object array. Each array element can define: + +the value type (mandatory): text, color, event, etc. the value itself (optional): used for input/output. the cell content display (optional): button, list, etc. additional settings (optional): depend on the value type To define these properties, you need to set the appropriate attributes in the object (available attributes are listed below). For example, you can write "Hello World!" in an object column using this simple code: + +```code4d +ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob) //first element + OB SET($ob;"valueType";"text") //defines the value type (mandatory) + OB SET($ob;"value";"Hello World!") //defines the value + APPEND TO ARRAY(obColumn;$ob) +``` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld.png) +> Display format and entry filters cannot be set for an object column. They automatically depend on the value type. + +#### valueType and data display + +When a list box column is associated with an object array, the way a cell is displayed, entered, or edited, is based on the valueType attribute of the array element. Supported valueType values are: + +* "text": for a text value +* "real": for a numeric value that can include separators like a \, <.>, or <,> +* "integer": for an integer value +* "boolean": for a True/False value +* "color": to define a background color +* "event": to display a button with a label. + +4D uses default widgets with regards to the "valueType" value (i.e., a "text" is displayed as a text input widget, a "boolean" as a check box), but alternate displays are also available through options (*e.g.*, a real can also be represented as a drop-down menu). The following table shows the default display as well as alternatives for each type of value: + +| valueType | Default widget | Alternative widget(s) | +| --------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| text | text input | drop-down menu (required list) or combo box (choice list) | +| real | controlled text input (numbers and separators) | drop-down menu (required list) or combo box (choice list) | +| integer | controlled text input (numbers only) | drop-down menu (required list) or combo box (choice list) or three-states check box | +| boolean | check box | drop-down menu (required list) | +| color | background color | text | +| event | button with label | | +| | | All widgets can have an additional unit toggle button or ellipsis button attached to the cell. | + +You set the cell display and options using specific attributes in each object (see below). + +#### Display formats and entry filters + +You cannot set display formats or entry filters for columns of object-type list boxes. They are automatically defined according to the value type. These are listed in the following table: + +| Value type | Default format | Entry control | +| ---------- | ---------------------------------------------------------- | ----------------------- | +| text | same as defined in object | any (no control) | +| real | same as defined in object (using system decimal separator) | "0-9" and "." and "-" | +| | | "0-9" and "." if min>=0 | +| integer | same as defined in object | "0-9" and "-" | +| | | "0-9" if min>=0 | +| Boolean | check box | N/A | +| color | N/A | N/A | +| event | N/A | N/A | + +### Attributes + +Each element of the object array is an object that can contain one or more attributes that will define the cell contents and data display (see example above). + +The only mandatory attribute is "valueType" and its supported values are "text", "real", "integer", "boolean", "color", and "event". The following table lists all the attributes supported in list box object arrays, depending on the "valueType" value (any other attributes are ignored). Display formats are detailed and examples are provided below. + +| | valueType | text | real | integer | boolean | color | event | +| --------------------- | --------------------------------------- | ---- | ---- | ------- | ------- | ----- | ----- | +| *Attributes* | *Description* | | | | | | | +| value | cell value (input or output) | x | x | x | | | | +| min | minimum value | | x | x | | | | +| max | maximum value | | x | x | | | | +| behavior | "threeStates" value | | | x | | | | +| requiredList | drop-down list defined in object | x | x | x | | | | +| choiceList | combo box defined in object | x | x | x | | | | +| requiredListReference | 4D list ref, depends on "saveAs" value | x | x | x | | | | +| requiredListName | 4D list name, depends on "saveAs" value | x | x | x | | | | +| saveAs | "reference" or "value" | x | x | x | | | | +| choiceListReference | 4D list ref, display combo box | x | x | x | | | | +| choiceListName | 4D list name, display combo box | x | x | x | | | | +| unitList | array of X elements | x | x | x | | | | +| unitReference | index of selected element | x | x | x | | | | +| unitsListReference | 4D list ref for units | x | x | x | | | | +| unitsListName | 4D list name for units | x | x | x | | | | +| alternateButton | add an alternate button | x | x | x | x | x | | + +#### value + +Cell values are stored in the "value" attribute. This attribute is used for input as well as output. It can also be used to define default values when using lists (see below). + +````code4d + ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob1) + $entry:="Hello world!" + OB SET($ob1;"valueType";"text") + OB SET($ob1;"value";$entry) // if the user enters a new value, $entry will contain the edited value + C_OBJECT($ob2) + OB SET($ob2;"valueType";"real") + OB SET($ob2;"value";2/3) + C_OBJECT($ob3) + OB SET($ob3;"valueType";"boolean") + OB SET($ob3;"value";True) + + APPEND TO ARRAY(obColumn;$ob1) + APPEND TO ARRAY(obColumn;$ob2) + APPEND TO ARRAY(obColumn;$ob3) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_value.png) +> Null values are supported and result in an empty cell. + +#### min and max + +When the "valueType" is "real" or "integer", the object also accepts min and max attributes with appropriate values (values must be of the same type as the valueType). + +These attributes can be used to control the range of input values. When a cell is validated (when it loses the focus), if the input value is lower than the min value or greater than the max value, then it is rejected. In this case, the previous value is maintained and a tip displays an explanation. + +````code4d + C_OBJECT($ob3) + $entry3:=2015 + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";$entry3) + OB SET($ob3;"min";2000) + OB SET($ob3;"max";3000) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_minMax.png) + +#### behavior + +The behavior attribute provides variations to the regular representation of values. In 4D v15, a single variation is proposed: + +| Attribute | Available value(s) | valueType(s) | Description | +| --------- | ------------------ | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| behavior | threeStates | integer | Represents a numeric value as a three-states check box.
    2=semi-checked, 1=checked, 0=unchecked, -1=invisible, -2=unchecked disabled, -3=checked disabled, -4=semi-checked disabled | + +````code4d + C_OBJECT($ob3) + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";-3) + C_OBJECT($ob4) + OB SET($ob4;"valueType";"integer") + OB SET($ob4;"value";-3) + OB SET($ob4;"behavior";"threeStates") +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_behavior.png) + +#### requiredList and choiceList + +When a "choiceList" or a "requiredList" attribute is present inside the object, the text input is replaced by a drop-down list or a combo box, depending of the attribute: + +* If the attribute is "choiceList", the cell is displayed as a combo box. This means that the user can select or type a value. +* If the attribute is "requiredList" then the cell is displayed as a drop-down list and the user can only select one of the values provided in the list. + +In both cases, a "value" attribute can be used to preselect a value in the widget. +> The widget values are defined through an array. If you want to assign an existing 4D list to the widget, you need to use the "requiredListReference", "requiredListName", "choiceListReference", or "choiceListName" attributes. + +Examples: + +* You want to display a drop-down list with only two options: "Open" or "Closed". "Closed" must be preselected: + + ````code4d + ARRAY TEXT($RequiredList;0) + APPEND TO ARRAY($RequiredList;"Open") + APPEND TO ARRAY($RequiredList;"Closed") + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"Closed") + OB SET ARRAY($ob;"requiredList";$RequiredList) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_openClosed.png) + +* You want to accept any integer value, but display a combo box to suggest the most common values: + + ````code4d + ARRAY LONGINT($ChoiceList;0) + APPEND TO ARRAY($ChoiceList;5) + APPEND TO ARRAY($ChoiceList;10) + APPEND TO ARRAY($ChoiceList;20) + APPEND TO ARRAY($ChoiceList;50) + APPEND TO ARRAY($ChoiceList;100) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"value";10) //10 as default value + OB SET ARRAY($ob;"choiceList";$ChoiceList) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_commonValues.png) + +#### requiredListName and requiredListReference + +The "requiredListName" and "requiredListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Lists editor of the Tool box) or by programming (using the New list command). The cell will then be displayed as a drop-down list. This means that the user can only select one of the values provided in the list. + +Use "requiredListName" or "requiredListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. +> * If you want to define these values through a simple array, you need to use the "requiredList" attribute. +> * If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Examples: + +* You want to display a drop-down list based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green"), save it as a value and display "blue" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + + ````code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"saveAs";"value") + OB SET($ob;"value";"blue") + OB SET($ob;"requiredListName";"colors") + ```` +![](assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + +* You want to display a drop-down list based on a list defined by programming and save it as a reference: + + ````code4d + <>List:=New list + APPEND TO LIST(<>List;"Paris";1) + APPEND TO LIST(<>List;"London";2) + APPEND TO LIST(<>List;"Berlin";3) + APPEND TO LIST(<>List;"Madrid";4) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"saveAs";"reference") + OB SET($ob;"value";2) //displays London by default + OB SET($ob;"requiredListReference";<>List) + ```` + ![](assets/en/FormObjects/listbox_column_objectArray_cities.png) + +#### choiceListName and choiceListReference + +The "choiceListName" and "choiceListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Tool box) or by programming (using the New list command). The cell is then displayed as a combo box, which means that the user can select or type a value. + +Use "choiceListName" or "choiceListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. +> * If you want to define these values through a simple array, you need to use the "choiceList" attribute. +> * If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Example: + +You want to display a combo box based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green") and display "green" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + +````code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"blue") + OB SET($ob;"choiceListName";"colors") +```` + +![](../assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + + +#### unitsList, unitsListName, unitsListReference and unitReference + +You can use specific attributes to add units associated with cell values (*e.g.*: "10 cm", "20 pixels", etc.). To define the unit list, you can use one of the following attributes: + +* "unitsList": an array containing the x elements used to define the available units (e.g.: "cm", "inches", "km", "miles", etc.). Use this attribute to define units within the object. +* "unitsListReference": a reference to a 4D list containing available units. Use this attribute to define units with a 4D list created with the [New list](https://doc.4d.com/4Dv15/4D/15.6/New-list.301-3818474.en.html) command. +* "unitsListName": a name of a design-based 4D list that contains available units. Use this attribute to define units with a 4D list created in the Tool box. + +Regardless of the way the unit list is defined, it can be associated with the following attribute: + +* "unitReference": a single value that contains the index (from 1 to x) of the selected item in the "unitList", "unitsListReference" or "unitsListName" values list. + +The current unit is displayed as a button that cycles through the "unitList", "unitsListReference" or "unitsListName" values each time it is clicked (e.g., "pixels" -> "rows" -> "cm" -> "pixels" -> etc.) + +Example: + +We want to set up a numeric input followed by two possible units: "rows" or "pixels". The current value is "2" + "lines". We use values defined directly in the object ("unitsList" attribute): + +````code4d +ARRAY TEXT($_units;0) +APPEND TO ARRAY($_units;"lines") +APPEND TO ARRAY($_units;"pixels") +C_OBJECT($ob) +OB SET($ob;"valueType";"integer") +OB SET($ob;"value";2) // 2 "units" +OB SET($ob;"unitReference";1) //"lines" +OB SET ARRAY($ob;"unitsList";$_units) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_unitList.png) + +#### alternateButton + +If you want to add an ellipsis button [...] to a cell, you just need to pass the "alternateButton" with the True value in the object. The button will be displayed in the cell automatically. + +When this button is clicked by a user, an `On Alternate Click` event will be generated, and you will be able to handle it however you want (see the "Event management" paragraph for more information). +> `On Alternate Click` is the new name of the `On Arrow Click` event, renamed in 4D v15 to highlight its extended scope. + +Example: + +````code4d +C_OBJECT($ob1) +$entry:="Hello world!" +OB SET($ob;"valueType";"text") +OB SET($ob;"alternateButton";True) +OB SET($ob;"value";$entry) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_alternateButton.png) + + +#### color valueType + +The "color" valueType allows you to display either a color or a text. + +* If the value is a number, a colored rectangle is drawn inside the cell. Example: + + ````code4d + C_OBJECT($ob4) + OB SET($ob4;"valueType";"color") + OB SET($ob4;"value";0x00FF0000) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_colorValue.png) + + +* If the value is a text, then the text is displayed (*e.g.*: "value";"Automatic"). + + +#### event valueType + +The "event" valueType displays a simple button that generates an `On Clicked` event when clicked. No data or value can be passed or returned. + +Optionally, you can pass a "label" attribute. + +Example: + +````code4d +C_OBJECT($ob) +OB SET($ob;"valueType";"event") +OB SET($ob;"label";"Edit...") +```` + +![](assets/en/FormObjects/listbox_column_objectArray_eventValueType.png) + + +### Event management +Several events can be handled while using an object list box array: + +* **On Data Change**: An `On Data Change` event is triggered when any value has been modified either: + * in a text input zone + * in a drop-down list + * in a combo box area + * in a unit button (switch from value x to value x+1) + * in a check box (switch between checked/unchecked) +* **On Clicked**: When the user clicks on a button installed using the "event" *valueType* attribute, an `On Clicked` event will be generated. This event is managed by the programmer. +* **On Alternative Click**: When the user clicks on an ellipsis button ("alternateButton" attribute), an `On Alternative Click` event will be generated. This event is managed by the programmer. +> `On Alternative Click` is the new name of the `On Arrow Click` event that was available in previous versions of 4D. This event has been renamed in 4D v15 since its scope has been extended. + + + diff --git a/website/translated_docs/es/FormObjects/pictureButton_overview.md b/website/translated_docs/es/FormObjects/pictureButton_overview.md new file mode 100644 index 00000000000000..97aa9cc8d078cd --- /dev/null +++ b/website/translated_docs/es/FormObjects/pictureButton_overview.md @@ -0,0 +1,63 @@ +--- +id: pictureButtonOverview +title: Picture Button +--- + +## Overview + +A picture button is similar to a [standard button](button_overview.md). However unlike a standard button (which accepts three states: enabled, disabled and clicked), a picture button has a different image to represent each state. + +Picture buttons can be used in two ways: + +* As command buttons in a form. In this case, the picture button generally includes four different states: enabled, disabled, clicked and rolled over. For example, a table of thumbnails that has one row of four columns, each thumbnail corresponds to the Default, Clicked, Roll over, and Disabled states. + + | Property | JSON name | Value | + | -------------------------- | ---------------------- | ----- | + | Rows | rowCount | 1 | + | Columns | columnCount | 4 | + | Switch back when Released | switchBackWhenReleased | true | + | Switch when Roll Over | switchWhenRollover | true | + | Use Last Frame as Disabled | useLastFrameAsDisabled | true | + +* As a picture button letting the user choose among several choices. In this case, a picture button can be used in place of a pop-up picture menu. With [Picture Pop-up Menus](picturePopupMenu_overview.md), all choices are displayed simultaneously (as the items in the pop-up menu), while the picture button displays the choices consecutively (as the user clicks the button). Here is an example of a picture button. Suppose you want to give the users of a custom application the opportunity to choose the interface language for the application. You implement the option as a picture button in a custom properties dialog box: + +![](assets/en/FormObjects/button_pictureButton.png) + +Clicking the object changes the picture. + + +## Using picture buttons + +You can implement a picture button in the following manner: + +1. First, prepare a single graphic in which the series of images are arranged in a row, a column, or a row-by-column grid. + + ![](assets/en/FormObjects/pictureButton_grid.png) + +You can organize pictures as columns, rows, or a row-by-column grid (as shown above). When organizing pictures as a grid, they are numbered from left to right, row by row, beginning with 0. For example, the second picture of the second row of a grid that consists of two rows and three columns, is numbered 4 (The UK flag in the example above). + +2. Next, make sure the image is in your project's Resources and enter the path in the [Pathname](properties_TextAndPicture.md#picture-pathname) property. + +3. Define the graphic's [Rows and Columns](properties_Crop.md) properties. + +4. Specify when the images change by selecting appropriate [animation](properties_Animation.md) properties. + + +## Animation + +In addition to the standard positioning and appearance settings, you can set some specific properties for picture buttons, especially concerning how and when the pictures are displayed. These property options can be combined to enhance your picture buttons. + +- By default (when no [animation option](properties_Animation.md) is selected), a picture button displays the next picture in the series when the user clicks; it displays the previous picture in the series when the user holds down the **Shift** key and clicks. When the user reaches the last picture in the series, the picture does not change when the user clicks again. In other words, it does not cycle back to the first picture in the series. + +The following other modes are available: +- [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) +- [Switch back when Released](properties_Animation.md#switch-back-when-released) +- [Switch when Roll Over](properties_Animation.md#switch-when-roll-over) +- [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) +- [Use Last Frame as Disabled](properties_Animation.md#use-last-frame-as-disabled) +- [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) +> The [associated variable](properties_Object.md#variable-or-expression) of the picture button returns the index number, in the thumbnail table, of the current picture displayed. The numbering of pictures in the table begins with 0. + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md) - [Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switchBackWhenReleased) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switchWhenRollOver) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/website/translated_docs/es/FormObjects/properties_Action.md b/website/translated_docs/es/FormObjects/properties_Action.md new file mode 100644 index 00000000000000..452714477f7a67 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Action.md @@ -0,0 +1,189 @@ +--- +id: propertiesAction +0: title:Action +--- + + +--- +## Draggable + +Control whether and how the user can drag the object. By default, no drag operation is allowed. + +Two drag modes are available: + +- **Custom**: In this mode, any drag operation performed on the object triggers the `On Begin Drag` form event in the context of the object. You then manage the drag action using a method. In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D **copies** text or pictures directly from the form object. It can then be used in the same 4D area, between two 4D areas, or between 4D and another application. For example, automatic drag (and drop) lets you copy a value between two fields without using programming: ![](assets/en/FormObjects/property_automaticDragDrop.png) ![](assets/en/FormObjects/property_automaticDragDrop2.png) In this mode, the `On Begin Drag` form event is NOT generated. If you want to "force" the use of the custom drag while automatic drag is enabled, hold down the **Alt** (Windows) or **Option** (macOS) key during the action. This option is not available for pictures. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------------------------------ | +| dragging | text | "none" (default), "custom", "automatic" (excluding list box) | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + + + +#### See also +[Droppable](#droppable) + + +--- +## Droppable + +Control whether and how the object can be the destination of a drag and drop operation. + +Two drop modes are available: + +- **Custom**: In this mode, any drop operation performed on the object triggers the `On Drag Over` and `On Drop` form events in the context of the object. You then manage the drop action using a method. In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D automatically manages — if possible — the insertion of dragged data of the text or picture type that is dropped onto the object (the data are pasted into the object). The `On Drag Over` and `On Drop` form events are NOT generated. On the other hand, the `On After Edit` (during the drop) and `On Data Change` (when the object loses the focus) events are generated. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------------------------------ | +| dropping | text | "none" (default), "custom", "automatic" (excluding list box) | + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + +#### See also +[Draggable](#draggable) + + +--- +## Execute object method +When this option is enabled, the object method is executed with the `On Data Change` event *at the same moment* the user changes the value of the indicator. When the option is disabled, the method is executed *after* the modification. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------- | +| continuousExecution | boolean | true, false | + +#### Objects Supported + +[Progress bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + + + + + +--- +## Method + +Reference of a method attached to the object. Object methods generally "manage" the object while the form is displayed or printed. You do not call an object method—4D calls it automatically when an event involves the object to which the object method is attached. + +Several types of method references are supported: + +- a standard object method file path, i.e. that uses the following pattern: `ObjectMethods/objectName.4dm` ... where `objectName` is the actual [object name](properties_Object.md#object-name). This type of reference indicates that the method file is located at the default location ("sources/forms/*formName*/ObjectMethods/"). In this case, 4D automatically handles the object method when operations are executed on the form object (renaming, duplication, copy/paste...) + +- a project method name: name of an existing project method without file extension, i.e.: `myMethod` In this case, 4D does not provide automatic support for object operations. + +- a custom method file path including the .4dm extension, e.g.: `ObjectMethods/objectName.4dm` You can also use a filesystem: `/RESOURCES/Buttons/bOK.4dm` In this case, 4D does not provide automatic support for object operations. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ------------------------------------------------------------------ | +| method | text | Object method standard or custom file path, or project method name | + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Movable Rows +`Array type list boxes` + +Authorizes the movement of rows during execution. This option is selected by default. It is not available for [selection type list boxes](listbox_overview.md#selection-list-boxes) nor for [list boxes in hierarchical mode](properties_Hierarchy.md#hierarchical-list-box). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| movableRows | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + + +--- +## Multi-selectable + +Allows the selection of multiple records/options in a [hierarchical list](list_overview.md). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | text | "multiple", "single", "none" | + +#### Objects Supported + +[Hierarchical List](list_overview.md) + + + + +--- +## Sortable + +Allows sorting column data by clicking a [listbox](listbox_overview.md) header. This option is selected by default. Picture type arrays (columns) cannot be sorted using this feature. + +In list boxes based on a selection of records, the standard sort function is available only: +* When the data source is *Current Selection*, +* With columns associated with fields (of the Alpha, Number, Date, Time or Boolean type). + +In other cases (list boxes based on named selections, columns associated with expressions), the standard sort function is not available. A standard list box sort changes the order of the current selection in the database. However, the highlighted records and the current record are not changed. A standard sort synchronizes all the columns of the list box, including calculated columns. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| sortable | boolean | true, false | + +#### Objects Supported +[List Box](listbox_overview.md) + + + + + + +--- +## Standard action +Typical activities to be performed by active objects (*e.g.*, letting the user accept, cancel, or delete records, move between records or from page to page in a multi-page form, etc.) have been predefined by 4D as standard actions. They are described in detail in the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section of the *Design Reference*. + +You can assign both a standard action and a project method to an object. In this case, the standard action is usually executed after the method and 4D uses this action to enable/disable the object according to the current context. When an object is deactivated, the associated project method cannot be executed. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ---------------------------------------------------------------------------------------------------------------- | +| action | string | The name of a [valid standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html). | + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [List Box](listbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Tab control](tabControl.md) diff --git a/website/translated_docs/es/FormObjects/properties_Animation.md b/website/translated_docs/es/FormObjects/properties_Animation.md new file mode 100644 index 00000000000000..70ced18edd36f0 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Animation.md @@ -0,0 +1,122 @@ +--- +id: propertiesAnimation +0: title:Animation +--- + +--- +## Loop back to first frame + +Pictures are displayed in a continuous loop. When the user reaches the last picture and clicks again, the first picture appears, and so forth. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | --------------- | +| loopBackToFirstFrame | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + +--- +## Switch back when released + +Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released. This mode allows you to create an action button with a different picture for each state (idle and clicked). You can use this mode to create a 3D effect or display any picture that depicts the action of the button. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | --------------- | +| switchBackWhenReleased | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch continuously on clicks + +Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation). When the user reaches the last picture, the object does not cycle back to the first picture. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| switchContinuously | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + +--- +## Switch every x ticks + +Enables cycling through the contents of the picture button at the specified speed (in ticks). In this mode, all other options are ignored. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| frameDelay | integer | minimum: 0 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch when roll over + +Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| switchWhenRollover | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + +--- +## Use Last frame as disabled + +Enables setting the last thumbnail as the one to display when the button is disabled. The thumbnail used when the button is disabled is processed separately by 4D: when you combine this option with "Switch Continuously" and "Loop Back to First Frame", the last picture is excluded from the sequence associated with the button and only appears when it is disabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------------- | --------- | --------------- | +| useLastFrameAsDisabled | boolean | true, false | + + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + diff --git a/website/translated_docs/es/FormObjects/properties_Appearance.md b/website/translated_docs/es/FormObjects/properties_Appearance.md new file mode 100644 index 00000000000000..305832551d998f --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Appearance.md @@ -0,0 +1,427 @@ +--- +id: propertiesAppearance +0: title:Appearance +--- + +## Default Button + +The default button property modifies a button's appearance in order to indicate the recommended choice to the user. The difference in appearance depends on the OS. + +| Windows | macOS | +|:--------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------:| +| The default button has a blue outline.

    ![](assets/en/FormObjects/property_defaultButtonWindows.en.png) | The default buttons are blue.

    ![](assets/en/FormObjects/property_defaultButtonmacOS.en.png) | +> There can only be one default button per form page. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + defaultButton|boolean|true, false | + +#### Objects Supported + +[Regular Button](button_overview.md#regular) - [Flat Button](button_overview.md#regular) + + + + + + +## Hide focus rectangle + +During execution, a field or any enterable area is outlined by a selection rectangle when it has the focus (via the Tab key or a single click). You can hide this rectangle by enabling this property. Hiding the focus rectangle may be useful in the case of specific interfaces. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| hideFocusRing | boolean | true, false | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Subform](subform_overview.md) + + + + +## Hide selection highlight +`Selection type list boxes` + +This property is used to disable the selection highlight in list boxes. + +When this option is enabled, the selection highlight is no longer visible for selections made in list boxes. Selections themselves are still valid and work in exactly the same way as previously; however, they are no longer represented graphically onscreen, and you will need to [define their appearance programmatically](listbox_overview.md#customizing-appearance-of-selected-rows). + +By default, this option is not enabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------- | +| hideSystemHighlight | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + +## Horizontal Scroll Bar + +An interface tool allowing the user to move the viewing area to the left or right. + +Available values: + +| Property List | JSON value | Description | +| ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Yes | "visible" | The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame). | +| No | "hidden" | The scrollbar is never visible | +| Automatic | "automatic" | The scrollbar appears automatically whenever necessary and the user can enter text larger than the object width | + + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | -------------------------------- | +| scrollbarHorizontal | text | "visible", "hidden", "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also +[Vertical scroll bar](#vertical-scroll-bar) + + +## Resolution + +Sets the screen resolution for the 4D Write Pro area contents. By default, it is set to 72 dpi (macOS), which is the standard resolution for 4D forms on all platforms. Setting this property to 96 dpi will set a windows/web rendering on both macOS and Windows platforms. Setting this property to **automatic** means that document rendering will differ between macOS and Windows platforms. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + dpi|number|0=automatic, 72, 96 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show background + +Displays/hides both background images and background color. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showBackground|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show footers + +Displays/hides the footers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showFooters|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Show Formula Bar + +When enabled, the formula bar is visible below the Toolbar interface in the 4D View Pro area. If not selected, the formula bar is hidden. + +> This property is available only for the [Toolbar](#user-interface) interface. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + withFormulaBar|boolean|true (default), false| + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + + +## Show headers + +Displays/hides the headers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHeaders|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show hidden characters + +Displays/hides invisible characters + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHiddenChars|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Show horizontal ruler + +Displays/hides the horizontal ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHorizontalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + + + +## Show HTML WYSYWIG + +Enables/disables the HTML WYSIWYG view, in which any 4D Write Pro advanced attributes which are not compliant with all browsers are removed. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHTMLWysiwyg|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show page frame + +Displays/hides the page frame when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showPageFrames|boolean|true, false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show references + +Displays all 4D expressions inserted in the 4D Write Pro document as *references*. When this option is disabled, 4D expressions are displayed as *values*. By default when you insert a 4D field or expression, 4D Write Pro computes and displays its current value. Select this property if you wish to know which field or expression is displayed. The field or expression references then appear in your document, with a gray background. + +For example, you have inserted the current date along with a format, the date is displayed: + +![](assets/en/FormObjects/writePro1.png) + +With the Show references property on, the reference is displayed: + +![](assets/en/FormObjects/writeProExpr.png) + +> 4D expressions can be inserted using the `ST INSERT EXPRESSION` command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showReferences|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show vertical ruler + +Displays/hides the vertical ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showVerticalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Tab Control Direction + +You can set the direction of tab controls in your forms. This property is available on all the platforms but can only be displayed in macOS. You can choose to place the tab controls on top (standard) or on the bottom. + +When tab controls with a custom direction are displayed under Windows, they automatically return to the standard direction (top). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + labelsPlacement|boolean|"top", "bottom" | + +#### Objects Supported + +[Tab Control](tabControl.md) + + + +## User Interface + +You can add an interface to 4D View Pro areas to allow end users to perform basic modifications and data manipulations. 4D View Pro offers two optional interfaces to choose from, **Ribbon** and **Toolbar**. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + userInterface|text|"none" (default), "ribbon", "toolbar" | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + + +#### See also + +[4D View Pro reference guide](https://doc.4d.com/4Dv18/4D/18/4D-View-Pro-Reference.100-4522233.en.html) + + +## Vertical Scroll Bar + +An interface tool allowing the user to move the viewing area up and down. + +Available values: + +| Property List | JSON value | Description | +| ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Yes | "visible" | The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame). | +| No | "hidden" | The scrollbar is never visible | +| Automatic | "automatic" | The scrollbar appears automatically whenever necessary (in other words, when the size of the object contents is greater than that of the frame) | + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +> If a text input object does not have a scroll bar, the user can scroll the information using the arrow keys. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | -------------------------------- | +| scrollbarVertical | text | "visible", "hidden", "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also + +[Horizontal scroll bar](#horizontal-scroll-bar) + + +## View mode + +Sets the mode for displaying the 4D Write Pro document in the form area. Three values are available: + +- **Page**: the most complete view mode, which includes page outlines, orientation, margins, page breaks, headers and footers, etc. +- **Draft**: draft mode with basic document properties +- **Embedded**: view mode suitable for embedded areas; it does not display margins, footers, headers, page frames, etc. This mode can also be used to produce a web-like view output (if you also select the [96 dpi resolution](#resolution) and the [Show HTML WYSIWYG](#show-html-wysiwyg) properties). + +> The View mode property is only used for onscreen rendering. Regarding printing settings, specific rendering rules are automatically used. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + layoutMode|text|"page", "draft", "embedded"| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Zoom + +Sets the zoom percentage for displaying 4D Write Pro area contents. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + zoom|number|minimum = 0 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + diff --git a/website/translated_docs/es/FormObjects/properties_BackgroundAndBorder.md b/website/translated_docs/es/FormObjects/properties_BackgroundAndBorder.md new file mode 100644 index 00000000000000..b5b3866cdd11a6 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_BackgroundAndBorder.md @@ -0,0 +1,225 @@ +--- +id: propertiesBackgroundAndBorder +title: Background and Border +--- + +--- +## Alternate Background Color + +Allows setting a different background color for odd-numbered rows/columns in a list box. By default, *Automatic* is selected: the column uses the alternate background color set at the list box level. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------- | +| alternateFill | string | any css value; "transparent"; "automatic" | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + + + +--- +## Background Color / Fill Color + +Defines the background color of an object. + +In the case of a list box, by default *Automatic* is selected: the column uses the background color set at the list box level. + +#### JSON Grammar + + +| Name | Data Type | Possible Values | +| ---- | --------- | ----------------------------------------- | +| fill | string | any css value; "transparent"; "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-footers) - [Oval](shapes_overview.md#oval) - [Rectangle](shapes_overview.md#rectangle) + +#### See also +[Transparent](#transparent) + + +--- +## Background Color Expression + +`Selection and collection type list boxes` + +An expression or a variable (array variables cannot be used) to apply a custom background color to each row of the list box. The expression or variable will be evaluated for each row displayed and must return a RGB color value. For more information, refer to the description of the `OBJECT SET RGB COLORS` command in the *4D Language Reference manual*. +> With collection or entity selection type list boxes, this property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------- | +| rowFillSource | string | An expression returning a RGB color value | + +#### Objects Supported +[List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Border Line Style / Dotted Line Type + +Allows setting a standard style for the object border. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------------- | +| borderStyle | text | "system", "none", "solid", "dotted", "raised", "sunken", "double" | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Rectangle](shapes_overview.md#rectangle) - [Plug-in Area](pluginArea_overview.md#overview) - [Subform](subform_overview.md#overview) - [Web Area](webArea_overview.md#overview) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [4D Write Pro areas](writeProArea_overview.md) + + + + +--- +## Dotted Line Type + +Describes dotted line type as a sequence of black and white points. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | ---------------------- | ------------------------------------------------------------------------ | +| strokeDashArray | number array or string | Ex. "6 1" or \[6,1\] for a sequence of 6 black point and 1 white point | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + + +--- +## Hide extra blank rows + +Controls the display of extra blank rows added at the bottom of a list box object. By default, 4D adds such extra rows to fill the empty area: + +![](assets/en/FormObjects/property_hideExtraBlankRows1.png) + +You can remove these empty rows by selecting this option. The bottom of the list box object is then left blank: + +![](assets/en/FormObjects/property_hideExtraBlankRows2.png) + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| hideExtraBlankRows | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + +--- +## Font Color / Line Color + +For objects containing text (text, input, group box, list box header or footer), designates the font color. + +For shape objects (rectangle, line, oval), designates the color of the object's lines. + +#### JSON Grammar + + +| Name | Data Type | Possible Values | +| ------ | --------- | ----------------------------------------- | +| stroke | string | any css value, "transparent", "automatic" | + +#### Objects Supported + +[Group box](groupBox.md) - [Text](text.md) - [Input](input_overview.md) - [List box header](listbox_overview.md#header) - [List box footer](listbox_overview.md#footer) - [Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + +--- +## Line Width + +Designates the thickness of a line. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------------- | +| strokeWidth | number | 0 for smallest width on a printed form, or any integer value < 20 | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + + + + + +--- +## Row Background Color Array + +`Array type list boxes` + +The name of an array to apply a custom background color to each row of the list box or column. + +The name of a Longint array must be entered. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. + +For example, given a list box where the rows have an alternating gray/light gray color, defined in the properties of the list box. A background color array has also been set for the list box in order to switch the color of rows where at least one value is negative to light orange: + +```code4d + <>_BgndColors{$i}:=0x00FFD0B0 // orange + <>_BgndColors{$i}:=-255 // default value +``` +![](assets/en/FormObjects/listbox_styles1.png) + +Next you want to color the cells with negative values in dark orange. To do this, you set a background color array for each column, for example <>_BgndColor_1, <>_BgndColor_2 and <>_BgndColor_3. The values of these arrays have priority over the ones set in the list box properties as well as those of the general background color array: + +```code4d + <>_BgndColorsCol_3{2}:=0x00FF8000 // dark orange + <>_BgndColorsCol_2{5}:=0x00FF8000 + <>_BgndColorsCol_1{9}:=0x00FF8000 + <>_BgndColorsCol_1{16}:=0x00FF8000 +``` +![](assets/en/FormObjects/listbox_styles2.png) + +You can get the same result using the `LISTBOX SET ROW FONT STYLE` and `LISTBOX SET ROW COLOR` commands. They have the advantage of letting you skip having to predefine style/color arrays for the columns: instead they are created dynamically by the commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| rowFillSource | string | The name of a longint array. | + +#### Objects Supported +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Transparent + +Sets the list box background to "Transparent". When set, any [alternate background color](#alternate-background-color) or [background color](#background-color-fill-color) defined for the column is ignored. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| fill | text | "transparent" | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + +#### See also +[Background Color / Fill Color](#background-color-fill-color) \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/properties_CoordinatesAndSizing.md b/website/translated_docs/es/FormObjects/properties_CoordinatesAndSizing.md new file mode 100644 index 00000000000000..4d3736e6e658e4 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_CoordinatesAndSizing.md @@ -0,0 +1,284 @@ +--- +id: propertiesCoordinatesAndSizing +0: title:Coordinates & Sizing +--- + +--- +## Automatic Row Height +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is only available for array-based, non-hierarchical list boxes. The property is not selected by default. + +When used, the height of every row in the column will automatically be calculated by 4D, and the column contents will be taken into account. Note that only columns with the option selected will be taken into account to calculate the row height. +> When resizing the form, if the "Grow" [horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + +When this property is enabled, the height of every row is automatically calculated in order to make the cell contents entirely fit without being truncated (unless the [Wordwrap](properties_Display.md#wordwrap) option is disabled. + +* The row height calculation takes into account: + * any content types (text, numerics, dates, times, pictures (calculation depends on the picture format), objects), + * any control types (inputs, check boxes, lists, dropdowns), + * fonts, fonts styles and font sizes, + * the [Wordwrap](properties_Display.md#wordwrap) option: if disabled, the height is based on the number of paragraphs (lines are truncated); if enabled, the height is based on number of lines (not truncated). + +* The row height calculation ignores: + * hidden column contents + * [Row Height](#row-height) and [Row Height Array](#row-height-array) properties (if any) set either in the Property list or by programming. +> Since it requires additional calculations at runtime, the automatic row height option could affect the scrolling fluidity of your list box, in particular when it contains a large number of rows. + + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| rowHeightAuto | boolean | true, false | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Bottom + +Bottom coordinate of the object in the form. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | --------------- | +| bottom | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Left + +Left coordinate of the object on the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| left | number | minimum: 0 | + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Right + +Right coordinate of the object in the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| right | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Top + +Top coordinate of the object in the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| top | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Corner Radius + +Defines the corner roundness (in pixels) of objects of the [rectangle](shapes_overview.md#rectangle) type. By default, the radius value for rectangles is 0 pixels. You can change this property to draw rounded rectangles with custom shapes: + +![](assets/en/FormObjects/shape_rectangle.png) + +Minimum value is 0, in this case a standard non-rounded rectangle is drawn. Maximum value depends on the rectangle size (it cannot exceed half the size of the shortest rectangle side) and is calculated dynamically. + +You can also set this property using the [OBJECT Get corner radius](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-Get-corner-radius.301-4311357.en.html) and [OBJECT SET CORNER RADIUS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-CORNER-RADIUS.301-4311356.en.html) commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| borderRadius | integer | minimum: 0 | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) + + + + +--- +## Height + +This property designates an object's vertical size. +> Some objects may have a predefined height that cannot be altered. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | --------------- | +| height | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Width + +This property designates an object's horizontal size. +> * Some objects may have a predefined height that cannot be altered. +> * If the [Resizable](properties_ResizingOptions.md#resizable) property is used for a [list box column](listbox_overview.md#list-box-columns), the user can also manually resize the column. +> * When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| width | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + + + + + + +--- +## Maximum Width + +The maximum width of the column (in pixels). The width of the column cannot be increased beyond this value when resizing the column or form. +> When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| maxWidth | number | minimum: 0 | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + +--- +## Minimum Width + +The minimum width of the column (in pixels). The width of the column cannot be reduced below this value when resizing the column or form. +> When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| minWidth | number | minimum: 0 | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + + + +--- +## Row Height + + +Sets the height of list box rows (excluding headers and footers). By default, the row height is set according to the platform and the font size. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ---------------------------------------- | +| rowHeight | string | css value in unit "em" or "px" (default) | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height Array](#row-height-array) + + + +--- +## Row Height Array +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is used to specify the name of a row height array that you want to associate with the list box. A row height array must be of the numeric type (longint by default). + +When a row height array is defined, each of its elements whose value is different from 0 (zero) is taken into account to determine the height of the corresponding row in the list box, based on the current Row Height unit. + +For example, you can write: + +```code4d +ARRAY LONGINT(RowHeights;20) +RowHeights{5}:=3 +``` + +Assuming that the unit of the rows is "lines," then the fifth row of the list box will have a height of three lines, while every other row will keep its default height. +> * The Row Height Array property is not taken into account for hierarchical list boxes. +> * For array-based list boxes, this property is available only if the [Automatic Row Height](#automatic-row-height) option is not selected. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | ---------------------------- | +| rowHeightSource | string | Name of a 4D array variable. | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height](#row-height) + + + + diff --git a/website/translated_docs/es/FormObjects/properties_Crop.md b/website/translated_docs/es/FormObjects/properties_Crop.md new file mode 100644 index 00000000000000..5a08cf891a9c09 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Crop.md @@ -0,0 +1,47 @@ +--- +id: propertiesCrop +0: title:Crop +--- + +--- +## Columns + +Sets the number of columns in a thumbnail table. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----------- |:---------:| --------------- | +| columnCount | integer | minimum: 1 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + +--- +## Rows + +Sets the number of rows in a thumbnail table. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------- |:---------:| --------------- | +| rowCount | integer | minimum: 1 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + + + + + + + diff --git a/website/translated_docs/es/FormObjects/properties_DataSource.md b/website/translated_docs/es/FormObjects/properties_DataSource.md new file mode 100644 index 00000000000000..33f64f77686a73 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_DataSource.md @@ -0,0 +1,290 @@ +--- +id: propertiesDataSource +title: Data Source +--- + +--- +## Automatic Insertion + +When this option is selected, if a user enters a value that is not found in the choice list associated with the object, this value is automatically added to the list stored in memory. You can associate choice lists to objects using: +- the [Choice List](properties_DataSource.md#choice-list) JSON property +- the [OBJECT SET LIST BY NAME](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-NAME.301-4128227.en.html) or [OBJECT SET LIST BY REFERENCE](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-REFERENCE.301-4128237.en.html) commands. +- the form editor's Property List. + +For example, given a choice list containing "France, Germany, Italy" that is associated with a "Countries" combo box: if the **automatic insertion** property is set and a user enters "Spain", then the value "Spain" is automatically added to the list in memory: + +![](assets/en/FormObjects/comboBox_AutomaticInsertion_example.png) + +Naturally, the value entered must not belong to the list of [excluded values](properties_RangeOfValues.md#excluded-list) associated with the object, if one has been set. +> If the list was created from a list defined in Design mode, the original list is not modified. + +When the **automatic insertion** option is not selected (default), the value entered is stored in the object but not in the list in memory. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| automaticInsertion | boolean | true, false | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Choice List + +Associates a choice list with an object. It can be a choice list name (a list reference) or a collection of default values. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ---------------- | --------------------------------------------------- | +| choiceList | list, collection | A list of possible values | +| list | list, collection | A list of possible values (hierarchical lists only) | + + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Choice List (static list) + +List of static values to use as labels for the tab control object. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | ---------------- | ---------------------------------------- | +| labels | list, collection | A list of values to fill the tab control | + +#### Objects Supported + +[Tab Control](tabControl.md) + + +--- +## Current item +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the collection element/entity selected by the user. You must use an object variable or an assignable expression that accepts objects. If the user does not select anything or if you used a collection of scalar values, the Null value is assigned. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | ----------------- | +| currentItemSource | string | Object expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + + + +--- + +## Current item position +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned a longint indicating the position of the collection element/entity selected by the user. + +* if no element/entity is selected, the variable or expression receives zero, +* if a single element/entity is selected, the variable or expression receives its location, +* if multiple elements/entities are selected, the variable or expression receives the position of element/entity that was last selected. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------------- | --------- | ----------------- | +| currentItemPositionSource | string | Number expression | + +#### Objects Supported +[List Box ](listbox_overview.md) + + + + + +--- +## Data Type + +Please refer to [Expression Type](properties_Object.md#expression-type) section. + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- + +## Default (list of) values + +List of values that will be used as default values for the list box column (array type only). These values are automatically available in the [array variable](properties_Object.md#variable-or-expression) associated with this column when the form is executed. Using the language, you can manage the object by referring to this array. + +> Do not make confusion between this property and the "[default value](properties_RangeOfValues.md#default-list-of-values)" property that allows to define a field value in new records. + +You must enter a list of values. In the Form editor, a specific dialog box allows you to enter values separated by carriage returns: + +![](assets/en/FormObjects/defaultValues.png) + +> You can also define a [choice list](properties_DataSource.md#choice-list) with the list box column. However, a choice list will be used as list of selectable values for each column row, whereas the default list fill all column rows. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | ---------- | ---------------------------------------------------------------- | +| values | collection | A collection of default values (strings), ex: "a", "b", "c", "d" | + +#### Objects Supported + +[List Box Column (array type only)](listbox_overview.md#list-box-columns) + + + + +--- +## Expression + +This description is specific to [selection](listbox_overview.md#selection-list-boxes) and [collection](listbox_overview.md#collection-or-entity-selection-list-boxes) type list box columns. See also **[Variable or Expression](properties_Object.md#variable-or-expression)** section. + +A 4D expression to be associated with a column. You can enter: + +- A **simple variable** (in this case, it must be explicitly declared for compilation). You can use any type of variable except BLOBs and arrays. The value of the variable will be generally calculated in the `On Display Detail` event. + +- A **field** using the standard [Table]Field syntax ([selection type list box](listbox_overview.md#selection-list-boxes) only), for example: `[Employees]LastName`. The following types of fields can be used: + * String + * Numeric + * Date + * Time + * Picture + * Boolean You can use fields from the Master Table or from other tables. + +- A **4D expression** (simple expression, formula or 4D method). The expression must return a value. The value will be evaluated in the `On Display Detail` and `On Data Change` events. The result of the expression will be automatically displayed when you switch to Application mode. The expression will be evaluated for each record of the selection (current or named) of the Master Table (for selection type list boxes), each element of the collection (for collection type list boxes) or each entity of the selection (for entity selection list boxes). If it is empty, the column will not display any results. The following expression types are supported: + * String + * Numeric + * Date + * Picture + * Boolean + + For collection/entity selection list boxes, Null or unsupported types are displayed as empty strings. When using collections or entity selections, you will usually declare the element property or entity attribute associated to a column within an expression containing [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html). `This` is a dedicated 4D command that returns a reference to the currently processed element. For example, you can use **This.\** where **\** is the path of a property in the collection or an entity attribute path to access the current value of each element/entity. If you use a collection of scalar values, 4D will create an object for each collection element with a single property (named "value"), filled with the element value. In this case, you will use **This.value** as expression. + + If a [non-assignable expression](Concepts/quick-tour.md#expressions) is used (e.g. `[Person]FirstName+" "+[Person]LastName`), the column is never enterable even if the [Enterable](properties_Entry.md#enterable) property is enabled. + +If a field, a variable, or an assignable expression (*e.g. Person.lastName*) is used, the column can be enterable or not depending on the [Enterable](properties_Entry.md#enterable) property. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------- | +| dataSource | string | A 4D variable, field name, or an arbitrary complex language expression. | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Master Table +`Current selection list boxes` + +Specifies the table whose current selection will be used. This table and its current selection will form the reference for the fields associated with the columns of the list box (field references or expressions containing fields). Even if some columns contain fields from other tables, the number of rows displayed will be defined by the master table. + +All database tables can be used, regardless of whether the form is related to a table (table form) or not (project form). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| table | number | Table number | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + + + +--- + +## Save as + + +This property is available in the following conditions: + +- a [choice list](#choice-list) is associated with the object +- for [inputs](input_overview.md) and [list box columns](listbox_overview.md#list-box-columns), a [required list](properties_RangeOfValues.md#required-list) is also defined for the object (both options should use usually the same list), so that only values from the list can be entered by the user. + +This property specifies, in the context of a field or variable associated with a list of values, the type of contents to save: + +- **Save as Value** (default option): the value of the item chosen in the list by the user is saved directly. For example, if the user chooses the value "Blue", then this value is saved in the field. +- **Save as Reference**: the reference of the choice list item is saved in the object. This reference is the numeric value associated with each item either through the *itemRef* parameter of the `APPEND TO LIST` or `SET LIST ITEM` commands, or in the lists editor. + +This option lets you optimize memory usage: storing numeric values in fields uses less space than storing strings. It also makes it easier to translate applications: you just create multiple lists in different languages but with the same item references, then load the list based on the language of the application. + +Using this property requires compliance with the following principles: + +- To be able to store the reference, the field or variable data source must be of the Number type (regardless of the type of value displayed in the list). +- Valid and unique references must be associated with list items. +- If you use this property for a [drop-down list](dropdownList_Overview.md), it must be associated with a field. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | -------------------- | +| saveAs | string | "value", "reference" | + +#### Objects Supported +[Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Selected Items +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the elements or entities selected by the user. + +* for a collection list box, you must use a collection variable or an assignable expression that accepts collections, +* for an entity selection list box, an entity selection object is built. You must use an object variable or an assignable expression that accepts objects. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------------- | +| selectedItemsSource | string | Collection expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + +--- +## Selection Name +`Named selection list boxes` + +Specifies the named selection to be used. You must enter the name of a valid named selection. It can be a process or interprocess named selection. The contents of the list box will be based on this selection. The named selection chosen must exist and be valid at the time the list box is displayed, otherwise the list box will be displayed blank. + +> Named selections are ordered lists of records. They are used to keep the order and current record of a selection in memory. For more information, refer to **Named Selections** section in the *4D Language Reference manual*. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | -------------------- | +| namedSelection | string | Named selection name | + +#### Objects Supported +[List Box](listbox_overview.md#overview) diff --git a/website/translated_docs/es/FormObjects/properties_Display.md b/website/translated_docs/es/FormObjects/properties_Display.md new file mode 100644 index 00000000000000..f816af4527a9d8 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Display.md @@ -0,0 +1,611 @@ +--- +id: propertiesDisplay +0: title:Display +--- + +--- +## Alpha Format + +Alpha formats control the way the alphanumeric fields and variables appear when displayed or printed. Here is a list of formats provided for alphanumeric fields: + +![](assets/en/FormObjects/property_alphaFormat.png) + +You can choose a format from this list or use any custom format. The default list contains formats for some of the most common alpha fields that require formats: US telephone numbers (local and long distance), Social Security numbers, and zip codes. You can also enter a custom format name set in the Filters and formats editor of the tool box. In this case, the format cannot be modified in the object properties. Any custom formats or filters that you have created are automatically available, preceded by a vertical bar (|). + +The number sign (#) is the placeholder for an alphanumeric display format. You can include the appropriate dashes, hyphens, spaces, and any other punctuation marks that you want to display. You use the actual punctuation marks you want and the number sign for each character you want to display. + +For example, consider a part number with a format such as "RB-1762-1". + +The alpha format would be: + + ##-####-# + +When the user enters "RB17621," the field displays: + + RB-1762-1 + +The field actually contains "RB17621". + +If the user enters more characters than the format allows, 4D displays the last characters. For example, if the format is: + + (#######) + +and the user enters "proportion", the field displays: + + (portion) + +The field actually contains "proportion". 4D accepts and stores the entire entry no matter what the display format. No information is lost. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------------------------------------------ | +| textFormat | string | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats | + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + + + +--- + +## Date Format + +Date formats control the way dates appear when displayed or printed. For data entry, you enter dates in the MM/DD/YYYY format, regardless of the display format you have chosen. +> Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for dates must only be selected among the 4D built-in formats. + +The table below shows choices available: + +| Format name | JSON String | Example (US system) | +| ------------------------------- | ------------ | ----------------------------- | +| System date short | - (default) | 03/25/20 | +| System date abbreviated *(1)* | systemMedium | Wed, Mar 25, 2020 | +| System date long | systemLong | Wednesday, March 25, 2020 | +| RFC 822 | rfc822 | Tue, 25 Mar 2020 22:00:00 GMT | +| Short Century | shortCentury | 03/25/20 but 04/25/2032 *(2)* | +| Internal date long | long | March 25, 2020 | +| Internal date abbreviated *(1)* | abbreviated | Mar 25, 2020 | +| Internal date short | short | 03/25/2020 | +| ISO Date Time *(3)* | iso8601 | 2020-03-25T00:00:00 | + +*(1)* To avoid ambiguity and in accordance with current practice, the abbreviated date formats display "jun" for June and "jul" for July. This particularity only applies to French versions of 4D. + +*(2)* The year is displayed using two digits when it belongs to the interval (1930;2029) otherwise it will be displayed using four digits. This is by default but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + +*(3)* The `ISO Date Time` format corresponds to the XML date and time representation standard (ISO8601). It is mainly intended to be used when importing/exporting data in XML format and in Web Services. +> Regardless of the display format, if the year is entered with two digits then 4D assumes the century to be the 21st if the year belongs to the interval (00;29) and the 20th if it belongs to the interval (30;99). This is the default setting but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dateFormat | string | "systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + +--- +## Number Format +> Number fields include the Integer, Long integer, Integer 64 bits, Real and Float types. + +Number formats control the way numbers appear when displayed or printed. For data entry, you enter only the numbers (including a decimal point or minus sign if necessary), regardless of the display format you have chosen. + +4D provides various default number formats. + +### Placeholders + +In each of the number display formats, the number sign (#), zero (0), caret (^), and asterisk (*) are used as placeholders. You create your own number formats by using one placeholder for each digit you expect to display. + +| Placeholder | Effect for leading or trailing zero | +| ----------- | ----------------------------------- | +| # | Displays nothing | +| 0 | Displays 0 | +| ^ | Displays a space (1) | +| * | Displays an asterisk | + +(1) The caret (^) generates a space character that occupies the same width as a digit in most fonts. + + +For example, if you want to display three-digit numbers, you could use the format ###. If the user enters more digits than the format allows, 4D displays <<< in the field to indicate that more digits were entered than the number of digits specified in the display format. + + +If the user enters a negative number, the leftmost character is displayed as a minus sign (unless a negative display format has been specified). If ##0 is the format, minus 26 is displayed as –26 and minus 260 is displayed as <<< because the minus sign occupies a placeholder and there are only three placeholders. +> No matter what the display format, 4D accepts and stores the number entered in the field. No information is lost. + +Each placeholder character has a different effect on the display of leading or trailing zeros. A leading zero is a zero that starts a number before the decimal point; a trailing zero is a zero that ends a number after the decimal point. + +Suppose you use the format ##0 to display three digits. If the user enters nothing in the field, the field displays 0. If the user enters 26, the field displays 26. + + +### Separator characters + +The numeric display formats (except for scientific notations) are automatically based on regional system parameters. 4D replaces the “.” and “,” characters by, respectively, the decimal separator and the thousand separator defined in the operating system. The period and comma are thus considered as placeholder characters, following the example of 0 or #. +> On Windows, when using the decimal separator key of the numeric keypad, 4D makes a distinction depending on the type of field where the cursor is located: * in a Real type field, using this key will insert the decimal separator defined in the system, * in any other type of field, this key inserts the character associated with the key, usually a period (.) or comma (,). + + +### Decimal points and other display characters + +You can use a decimal point in a number display format. If you want the decimal to display regardless of whether the user types it in, it must be placed between zeros. + +You can use any other characters in the format. When used alone, or placed before or after placeholders, the characters always appear. For example, if you use the following format: + + $##0 + +a dollar sign always appears because it is placed before the placeholders. + +If characters are placed between placeholders, they appear only if digits are displayed on both sides. For example, if you define the format: + + ###.##0 + +the point appears only if the user enters at least four digits. + +Spaces are treated as characters in number display formats. + +### Formats for positive, negative, and zero + +A number display format can have up to three parts allowing you to specify display formats for positive, negative, and zero values. You specify the three parts by separating them with semicolons as shown below: + + Positive;Negative;Zero + +You do not have to specify all three parts of the format. If you use just one part, 4D uses it for all numbers, placing a minus sign in front of negative numbers. + +If you use two parts, 4D uses the first part for positive numbers and zero and the second part for negative numbers. If you use three parts, the first is for positive numbers, the second for negative numbers, and the third for zero. +> The third part (zero) is not interpreted and does not accept replacement characters. If you enter `###;###;#`, the zero value will be displayed “#”. In other words, what you actually enter is what will be displayed for the zero value. + +Here is an example of a number display format that shows dollar signs and commas, places negative values in parentheses, and does not display zeros: + + $###,##0.00;($###,##0.00); + +Notice that the presence of the second semicolon instructs 4D to use nothing to display zero. The following format is similar except that the absence of the second semicolon instructs 4D to use the positive number format for zero: + + $###,##0.00;($###,##0.00) + +In this case, the display for zero would be $0.00. + +### Scientific notation + +If you want to display numbers in scientific notation, use the **ampersand** (&) followed by a number to specify the number of digits you want to display. For example, the format: + + &3 + +would display 759.62 as: + + 7.60e+2 + + +The scientific notation format is the only format that will automatically round the displayed number. Note in the example above that the number is rounded up to 7.60e+2 instead of truncating to 7.59e+2. + +### Hexadecimal formats + +You can display a number in hexadecimal using the following display formats: + +* `&x`: This format displays hexadecimal numbers using the “0xFFFF” format. +* `&$`: This format displays hexadecimal numbers using the “$FFFF” format. + +### XML notation + +The `&xml` format will make a number compliant with XML standard rules. In particular, the decimal separator character will be a period "." in all cases, regardless of the system settings. + +### Displaying a number as a time + +You can display a number as a time (with a time format) by using `&/` followed by a digit. Time is determined by calculating the number of seconds since midnight that the value represents. The digit in the format corresponds to the order in which the time format appears in the Format drop-down menu. + +For example, the format: + + &/5 + +corresponds to the 5th time format in the pop-up menu, specifically the AM/PM time. A number field with this format would display 25000 as: + + 6:56 AM + +### Examples + +The following table shows how different formats affect the display of numbers. The three columns — Positive, Negative, and Zero — each show how 1,234.50, –1,234.50, and 0 would be displayed. + +| Format Entered | Positive | Negative | Zero | +| -------------------------------------- | ---------------- | ------------- | ---------------------------- | +| ### | <<< | <<< | | +| #### | 1234 | <<<< | | +| ####### | 1234 | -1234 | | +| #####.## | 1234.5 | -1234.5 | | +| ####0.00 | 1234.50 | -1234.50 | 0.00 | +| #####0 | 1234 | -1234 | 0 | +| +#####0;–#####0;0 | +1234 | -1234 | 0 | +| #####0DB;#####0CR;0 | 1234DB | 1234CR | 0 | +| #####0;(#####0) | 1234 | (1234) | 0 | +| ###,##0 | 1,234 | -1,234 | 0 | +| ##,##0.00 | 1,234.50 | -1,234.50 | 0.00 | +| \^\^\^\^\^\^\^ | 1234 | -1234 | | +| \^\^\^\^\^\^0 | 1234 | -1234 | 0 | +| \^\^\^,\^\^0 | 1,234 | -1,234 | 0 | +| \^\^,\^\^0.00 | 1,234.50 | -1,234.50 | 0.00 | +| \*\*\*\*\*\*\* | \*\*\*1234 | \*\*-1234 | \*\*\*\*\*\*\* | +| \*\*\**\*\*0 | \*\*\*1234 | \*\*-1234 | \*\*\*\*\*\*0 | +| \*\*\*,*\*0 | \*\*1,234 | \*-1,234 | \*\*\*\*\*\*0 | +| \*\*,\*\*0.00 | \*1,234.50 | -1,234.50 | \*\*\*\*\*0.00 | +| $\*,\*\*0.00;–$\*,\*\*0.00 | $1,234.50 | -$1,234.50 | $\*\*\*\*0.00 | +| $\^\^\^\^0 | $ 1234 | $–1234 | $ 0 | +| $\^\^\^0;–$\^\^\^0 | $1234 | –$1234 | $ 0 | +| $\^\^\^0 ;($\^\^\^0) | $1234 | ($1234) | $ 0 | +| $\^,\^\^0.00 ;($\^,\^\^0.00) | $1,234.50 | ($1,234.50) | $ 0.00 | +| &2 | 1.2e+3 | -1.2e+3 | 0.0e+0 | +| &5 | 1.23450e+3 | -1.23450e+3 | 0.00000 | +| &xml | 1234.5 | -1234.5 | 0 | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | -------------------------------------------------------------- | +| numberFormat | string | Numbers (including a decimal point or minus sign if necessary) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Progress Indicators](progressIndicator.md) + + + + + + +--- +## Picture Format + +Picture formats control how pictures appear when displayed or printed. For data entry, the user always enters pictures by pasting them from the Clipboard or by drag and drop, regardless of the display format. + +The truncation and scaling options do not affect the picture itself. The contents of a Picture field are always saved. Only the display on the particular form is affected by the picture display format. + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Truncated (centered and non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Truncated (centered)** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. +> When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + +### Scaled to fit (proportional) and Scaled to fit centered (proportional) + +`JSON grammar: "proportionalTopLeft" / "proportionalCenter"` + +When you use **Scaled to fit (proportional)**, the picture is reduced proportionally on all sides to fit the area created for the picture. The **Scaled to fit centered (proportional)** option does the same, but centers the picture in the picture area. + +If the picture is smaller than the area set in the form, it will not be modified. If the picture is bigger than the area set in the form, it is proportionally reduced. Since it is proportionally reduced, the picture will not appear distorted. + +If you have applied the **Scaled to fit centered (proportional)** format, the picture is also centered in the area: + +![](assets/en/FormObjects/property_pictureFormat_ScaledProportional.png) + + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------------------------------------------------------------------- | +| pictureFormat | string | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft", "proportionalCenter" | + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + +--- +## Time Format + +Time formats control the way times appear when displayed or printed. For data entry, you enter times in the 24-hour HH:MM:SS format or the 12-hour HH:MM:SS AM/PM format, regardless of the display format you have chosen. +> Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for times must only be selected among the 4D built-in formats. + +The table below shows the Time field display formats and gives examples: + +| Format name | JSON string | Comments | Example for 04:30:25 | +| ---------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------- | +| HH:MM:SS | hh_mm_ss | | 04:30:25 | +| HH:MM | hh_mm | | 04:30 | +| Hour Min Sec | HH_MM_SS | | 4 hours 30 minutes 25 seconds | +| Hour Min | HH_MM | | 4 hours 30 minutes | +| HH:MM AM/PM | hh_mm_am | | 4:30 a.m. | +| MM SS | mm_ss | Time expressed as a duration from 00:00:00 | 270:25 | +| Min Sec | MM_SS | Time expressed as a duration from 00:00:00 | 270 Minutes 25 Seconds | +| ISO Date Time | iso8601 | Corresponds to the XML standard for representing time-related data. It is mainly intended to be used when importing/exporting data in XML format | 0000-00-00T04:30:25 | +| System time short | - (default) | Standard time format defined in the system | 04:30:25 | +| System time long abbreviated | systemMedium | macOS only: Abbreviated time format defined in the system.
    Windows: this format is the same as the System time short format | 4•30•25 AM | +| System time long | systemLong | macOS only: Long time format defined in the system.
    Windows: this format is the same as the System time short format | 4:30:25 AM HNEC | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timeFormat | string | "systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + +--- +## Text when False/Text when True + +When a [boolean expression](properties_Object.md#expression-type) is displayed as: +- a text in an [input object](input_overview.md) +- a ["popup"](properties_Display.md#display-type) in a [list box column](listbox_overview.md#list-box-columns), + +... you can select the text to display for each value: +- **Text when True** - the text to be displayed when the value is "true" +- **Text when False** - the text to be displayed when the value is "false" + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ------------------------------------------------------------------------ | +| booleanFormat | string | "\<*textWhenTrue*\>;\<*textWhenFalse*\>", e.g. "Assigned;Unassigned" | + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + +--- +## Display Type + +Used to associate a display format with the column data. The formats provided depends on the variable type (array type list box) or the data/field type (selection and collection type list boxes). + +Boolean and number (numeric or integer) columns can be displayed as check boxes. In this case, the [Title](#title) property can be defined. + +Boolean columns can also be displayed as pop-up menus. In this case, the [Text when False and Text when True](#text-when-false-text-when-true) properties must be defined. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| controlType | string |

  • **number columns**: "automatic" (default) or "checkbox"
  • **boolean columns**: "checkbox" (default) or "popup" | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Not rendered + +When this property is enabled, the object is not drawn on the form, however it can still be activated. + +In particular, this property allows implementing "invisible" buttons. Non-rendered buttons can be placed on top of graphic objects. They remain invisible and do not highlight when clicked, however their action is triggered when they are clicked. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | --------------- | +| display | boolean | true, false | + +#### Objects Supported + +[Button](button_overview.md) - [Drop-down List](dropdownList_Overview.md) + + + + + + + +--- +## Three-States + +Allows a check box object to accept a third state. The variable associated with the check box returns the value 2 when the check box is in the third state. + + +#### Three-states check boxes in list box columns + +List box columns with a numeric [data type](properties_Object.md#expression-type) can be displayed as three-states check boxes. If chosen, the following values are displayed: +* 0 = unchecked box, +* 1 = checked box, +* 2 (or any value >0) = semi-checked box (third state). For data entry, this state returns the value 2. +* -1 = invisible check box, +* -2 = unchecked box, not enterable, +* -3 = checked box, not enterable, +* -4 = semi-checked box, not enterable + +In this case as well, the [Title](#title) property is also available so that the title of the check box can be entered. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| threeState | boolean | true, false | + +#### Objects Supported + +[Check box](checkbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Title + +This property is available for a list box column if: +- the [column type](properties_Object.md#expression-type) is **boolean** and its [display type](properties_Display.md#display-type) is "Check Box" +- the [column type](properties_Object.md#expression-type) is **number** (numeric or integer) and its [display type](properties_Display.md#display-type) is "Three-states Checkbox". + +In that cases, the title of the check box can be entered using this property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ---------------------------------- | +| controlTitle | string | Any custom label for the check box | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Truncate with ellipsis + +Controls the display of values when list box columns are too narrow to show their full contents. + +This option is available for columns with any type of contents, except pictures and objects. + +* When the property is enabled (default), if the contents of a list box cell exceed the width of the column, they are truncated and an ellipsis is displayed: + + ![](assets/en/FormObjects/property_truncate1.png) +> The position of the ellipsis depends on the OS. In the above example (Windows), it is added on the right side of the text. On macOS, the ellipsis is added in the middle of the text. + +* When the property is disabled, if the contents of a cell exceed the width of the column, they are simply clipped with no ellipsis added: + + ![](assets/en/FormObjects/property_truncate2.png) + +The Truncate with ellipsis option is enabled by default and can be specified with list boxes of the Array, Selection, or Collection type. + + +> When applied to Text type columns, the Truncate with ellipsis option is available only if the [Wordwrap](#wordwrap) option is not selected. When the Wordwrap property is selected, extra contents in cells are handled through the word-wrapping features so the Truncate with ellipsis property is not available. + +The Truncate with ellipsis property can be applied to Boolean type columns; however, the result differs depending on the [cell format](#display-type): +- For Pop-up type Boolean formats, labels are truncated with an ellipsis, +- For Check box type Boolean formats, labels are always clipped. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ---------------------- | +| truncateMode | string | "withEllipsis", "none" | + + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-footers) + + + + + +--- +## Visibility + +This property allows hiding by default the object in the Application environment. + +You can handle the Visible property for most form objects. This property simplifies dynamic interface development. In this context, it is often necessary to hide objects programatically during the `On load` event of the form then to display certain objects afterwards. The Visible property allows inverting this logic by making certain objects invisible by default. The developer can then program their display using the `OBJECT SET VISIBLE` command depending on the context. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------- | +| visibility | string | "visible", "hidden" | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + + + + + +--- +## Wordwrap + +> For [input](input_overview.md) objects, available when the [Multiline](properties_Entry.md#multiline) property is set to "yes" . + +Manages the display of contents when it exceeds the width of the object. + +#### Checked for list box/Yes for input +`JSON grammar: "normal"` + +When this option is selected, text automatically wraps to the next line whenever its width exceeds that of the column/area, if the column/area height permits it. + +- In single-line columns/areas, only the last word that can be displayed entirely is displayed. 4D inserts line returns; it is possible to scroll the contents of the area by pressing the down arrow key. + +- In multiline columns/areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap2.png) + + +#### Unchecked for list box/No for input +`JSON grammar: "none"` + +When this option is selected, 4D does not do any automatic line returns and the last word that can be displayed may be truncated. In text type areas, carriage returns are supported: + +![](assets/en/FormObjects/wordwrap3.png) + +In list boxes, any text that is too long is truncated and displayed with an ellipse (...). In the following example, the Wordwrap option is **checked for the left column** and **unchecked for the right column**: + +![](assets/en/FormObjects/property_wordwrap1.png) + +Note that regardless of the Wordwrap option’s value, the row height is not changed. If the text with line breaks cannot be entirely displayed in the column, it is truncated (without an ellipse). In the case of list boxes displaying just a single row, only the first line of text is displayed: + +![](assets/en/FormObjects/property_wordwrap2.png) + + +#### Automatic for input (default option) +`JSON grammar: "automatic"` + +- In single-line areas, words located at the end of lines are truncated and there are no line returns. +- In multiline areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap1.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | -------------------------------------------------- | +| wordwrap | string | "automatic" (excluding list box), "normal", "none" | + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + diff --git a/website/translated_docs/es/FormObjects/properties_Entry.md b/website/translated_docs/es/FormObjects/properties_Entry.md new file mode 100644 index 00000000000000..786e2a8dd6cfd8 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Entry.md @@ -0,0 +1,339 @@ +--- +id: propertiesEntry +0: title:Entry +--- + +--- +## Auto Spellcheck + +4D includes an integrated and customizable spell-check utility. Text type [inputs](input_overview.md) can be checked, as well as [4D Write Pro](writeProArea_overview.md) documents. + +The Auto Spellcheck property activates the spell-check for each object. When used, a spell-check is automatically performed during data entry. You can also execute the `SPELL CHECKING` 4D language command for each object to be checked. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| spellcheck | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Input](input_overview.md) + + +--- +## Context Menu + +Allows the user access to a standard context menu in the object when the form is executed. + +For a picture type [input](input_overview.md), in addition to standard editing commands (Cut, Copy, Paste and Clear), the menu contains the **Import...** command, which can be used to import a picture stored in a file, as well as the **Save as...** command, which can be used to save the picture to disk. The menu can also be used to modify the display format of the picture: the **Truncated non-centered**, **Scaled to fit** and **Scaled to fit centered prop.** options are provided. The modification of the [display format](properties_Display#picture-format) using this menu is temporary; it is not saved with the record. + +For a [multi-style](properties_Text.md#multi-style) text type [input](input_overview.md), in addition to standard editing commands, the context menu provides the following commands: +- **Fonts...**: displays the font system dialog box +- **Recent fonts**: displays the names of recent fonts selected during the session. The list can store up to 10 fonts (beyond that, the last font used replaces the oldest). By default, this list is empty and the option is not displayed. You can manage this list using the `SET RECENT FONTS` and `FONT LIST` commands. +- commands for supported style modifications: font, size, style, color and background color. When the user modifies a style attribute via this pop-up menu, 4D generates the `On After Edit` form event. + +For a [Web Area](webArea_overview.md), the contents of the menu depend of the rendering engine of the platform. It is possible to control access to the context menu via the [`WA SET PREFERENCE`](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ------------------------------------- | +| contextMenu | string | "automatic" (used if missing), "none" | + +#### Objects Supported + +[Input](input_overview.md) - [Web Area](webArea_overview.md) - [4D Write Pro areas](writeProArea_overview.md) + + + + + + +--- +## Enterable + +The Enterable attribute indicates whether users can enter values into the object. + +Objects are enterable by default. If you want to make a field or an object non-enterable for that form, you can disable the Enterable property for the object. A non-enterable object only displays data. You control the data by methods that use the field or variable name. You can still use the `On Clicked`, `On Double Clicked`, `On Drag Over`, `On Drop`, `On Getting Focus` and `On Losing Focus` form events with non-enterable objects. This makes it easier to manage custom context menus and lets you design interfaces where you can drag-and-drop and select non-enterable variables. + +When this property is disabled, any pop-up menus associated with a list box column via a list are disabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| enterable | boolean | true, false | + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Progress Bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + +--- +## Entry Filter + +An entry filter controls exactly what the user can type during data entry. Unlike [required lists](properties_RangeOfValues.md#required-list) for example, entry filters operate on a character-by-character basis. For example, if a part number always consists of two letters followed by three digits, you can use an entry filter to restrict the user to that pattern. You can even control the particular letters and numbers. + +An entry filter operates only during data entry. It has no effect on data display after the user deselects the object. In general, you use entry filters and [display formats](properties_Display.md) together. The filter constrains data entry and the format ensures proper display of the value after data entry. + +During data entry, an entry filter evaluates each character as it is typed. If the user attempts to type an invalid character (a number instead of a letter, for example), 4D simply does not accept it. The null character remains unchanged until the user types a valid character. + +Entry filters can also be used to display required formatting characters so that the user need not enter them. For example, an American telephone number consists of a three-digit area code, followed by a seven-digit number that is broken up into two groups of three and four digits, respectively. A display format can be used to enclose the area code in parentheses and display a dash after the third digit of the telephone number. When such a format is used, the user does not need to enter the parentheses or the dashes. + +### Defining an entry filter + +Most of the time, you can use one of the [built-in filters](#default-entry-filters) of 4D for what you need; however, you can also create and use custom filters: + +- you can directly enter a filter definition string +- or you can enter the name of an entry filter created in the Filters editor in the Toolbox. The names of custom filters you create begin with a vertical bar (|). + +For information about creating entry filters, see [Filter and format codes](https://doc.4d.com/4Dv18/4D/18/Filter-and-format-codes.300-4575706.en.html). + + +### Default entry filters + +Here is a table that explains each of the entry filter choices in the Entry Filter drop-down list: + +| Entry Filter | Description | +| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| ~A | Allow any letters, but convert to uppercase. | +| &9 | Allow only numbers. | +| &A | Allow only capital letters. | +| &a | Allow only letters (uppercase and lowercase). | +| &@ | Allow only alphanumeric characters. No special characters. | +| ~a## | State name abbreviation (e.g., CA). Allow any two letters, but convert to uppercase. | +| !0&9##/##/## | Standard date entry format. Display zeros in entry spaces. Allow any numbers. | +| !0&9 Day: ## Month: ## Year: ## | Custom date entry format. Display zeros in entry spaces. Allow any numbers. Two entries after each word. | +| !0&9##:## | Time entry format. Limited to hours and minutes. Display zeros in entry spaces. Allow any four numbers, separated by a colon. | +| !0&9## Hrs ## Mins ## Secs | Time entry format. Display zeros in entry spaces. Allow any two numbers before each word. | +| !0&9Hrs: ## Mins: ## Secs: ## | Time entry format. Display zeros in entry spaces. Allow any two numbers after each word. | +| !0&9##-##-##-## | Local telephone number format. Display zeros in entry spaces. Allow any number. Three entries, hyphen, four entries. | +| !_&9(###)!0###-#### | Long distance telephone number. Display underscores in first three entry spaces, zeros in remainder. | +| !0&9###-###-### | Long distance telephone number. Display zeros in entry spaces. Allow any number. Three entries, hyphen, three entries, hyphen, four entries. | +| !0&9###-##-### | Social Security number. Display zeros in entry spaces. Allow any numbers. | +| ~"A-Z;0-9; ;,;.;-" | Uppercase letters and punctuation. Allow only capital letters, numbers, spaces, commas, periods, and hyphens. | +| &"a-z;0-9; ;,;.;-" | Upper and lowercase letters and punctuation. Allow lowercase letters, numbers, spaces, commas, periods, and hyphens. | +| &"0-9;.;-" | Numbers. Allow only numbers, decimal points, and hyphens (minus sign). | + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ---------------------------------------------------------------------------------------------------------------------------- | +| entryFilter | string |
  • Entry filter code or
  • Entry filter name (filter names start with | ) | + + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + + +--- +## Focusable + +When the **Focusable** property is enabled for an object, the object can have the focus (and can thus be activated by the keyboard for instance). It is outlined by a gray dotted line when it is selected — except when the [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) option has also been selected. + +> An [input object](input_overview.md) is always focusable if it has the [Enterable](#enterable) property. + +* ![](assets/en/FormObjects/property_focusable1.png)
    Check box shows focus when selected

    + +* ![](assets/en/FormObjects/property_focusable2.png)
    Check box is selected but cannot show focus| + + +When the **Focusable** property is selected for a non-enterable object, the user can select, copy or even drag-and-drop the contents of the area. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| focusable | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) + + + + +--- +## Keyboard Layout + +This property associates a specific keyboard layout to an [input object](input_overview.md). For example, in an international application, if a form contains a field whose contents must be entered in Greek characters, you can associate the "Greek" keyboard layout with this field. This way, during data entry, the keyboard configuration is automatically changed when this field has the focus. + +By default, the object uses the current keyboard layout. + +> You can also set and get the keyboard dynamically using the `OBJECT SET KEYBOARD LAYOUT` and `OBJECT Get keyboard layout` commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------------------------------------------------------------- | +| keyboardDialect | text | Language code, for example "ar-ma" or "cs". See RFC3066, ISO639 and ISO3166 | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Multiline + +This property is available for [inputs objects](input_overview.md) containing expressions of the Text type and fields of the Alpha and Text type. It can have three different values: Yes, No, Automatic (default). + +#### Automatic +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- In multiline inputs, 4D carries out automatic line returns: ![](assets/en/FormObjects/multilineAuto.png) + +#### No +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- There are never line returns: the text is always displayed on a single row. If the Alpha or Text field or variable contains carriage returns, the text located after the first carriage return is removed as soon as the area is modified: ![](assets/en/FormObjects/multilineNo.png) + +#### Yes +When this value is selected, the property is managed by the [Wordwrap](properties_Display.md#wordwrap) option. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------------------------- | +| multiline | text | "yes", "no", "automatic" (default if not defined) | + + +#### Objects Supported + +[Input](input_overview.md) + + + +--- +## Placeholder + +4D can display placeholder text in the fields of your forms. + +Placeholder text appears as watermark text in a field, supplying a help tip, indication or example for the data to be entered. This text disappears as soon as the user enters a character in the area: + +![](assets/en/FormObjects/property_placeholder.png) + +The placeholder text is displayed again if the contents of the field is erased. + +A placeholder can be displayed for the following types of data: + +- string (text or alpha) +- date and time when the **Blank if null** property is enabled. + +You can use an XLIFF reference in the ":xliff:resname" form as a placeholder, for example: + + :xliff:PH_Lastname + +You only pass the reference in the "Placeholder" field; it is not possible to combine a reference with static text. +> You can also set and get the placeholder text by programming using the [OBJECT SET PLACEHOLDER](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-PLACEHOLDER.301-4128243.en.html) and [OBJECT Get placeholder](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-Get-placeholder.301-4128249.en.html) commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ---------------------------------------------------------------------------- | +| placeholder | string | Text to be displayed (grayed out) when the object does not contain any value | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Input](input_overview.md) + + +#### See also + +[Help tip](properties_Help.md) + + + +--- +## Selection always visible + +This property keeps the selection visible within the object after it has lost the focus. This makes it easier to implement interfaces that allow the text style to be modified (see [Multi-style](properties_Text.md#multi-style)). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| showSelection | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Shortcut + +This property allows setting special meaning keys (keyboard shortcuts) for [buttons](button_overview.md), [radio buttons](radio_overview.md), and [checkboxes](checkbox_overview.md). They allow the user to use the control using the keyboard instead of having to use the mouse. + +You can configure this option by clicking the [...] button in the Shortcuts property in the Property List. + + +![](assets/en/FormObjects/property_shortcut.png) +> You can also assign a shortcut to a custom menu command. If there is a conflict between two shortcuts, the active object has priority. For more information about associating shortcuts with menus, refer to [Setting menu properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Setting-menu-properties.300-4163525.en.html). + +To view a list of all the shortcuts used in the 4D Design environment, see the [Shortcuts Page](https://doc.4d.com/4Dv17R5/4D/17-R5/Shortcuts-Page.300-4163701.en.html) in the Preferences dialog box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| shortcutAccel | boolean | true, false (Ctrl Windows/Command macOS) | +| shortcutAlt | boolean | true, false | +| shortcutCommand | boolean | true, false | +| shortcutControl | boolean | true, false (macOS Control) | +| shortcutShift | boolean | true, false | +| | | | +| shortcutKey | string |

  • any character key: "a", "b"...
  • [F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Radio Button](radio_overview.md) + + + + + +--- +## Single-Click Edit + +Enables direct passage to edit mode in list boxes. + +When this option is enabled, list box cells switch to edit mode after a single user click, regardless of whether or not this area of the list box was selected beforehand. Note that this option allows cells to be edited even when the list box [selection mode](properties_ListBox.md#selection-mode) is set to "None". + +When this option is not enabled, users must first select the cell row and then click on a cell in order to edit its contents. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------- | +| singleClickEdit | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + diff --git a/website/translated_docs/es/FormObjects/properties_Footers.md b/website/translated_docs/es/FormObjects/properties_Footers.md new file mode 100644 index 00000000000000..b9de67269ca9b2 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Footers.md @@ -0,0 +1,70 @@ +--- +id: propertiesFooters +title: Footers +--- + +--- +## Display Footers + +This property is used to display or hide [list box column footers](listbox_overview.md#list-box-footers). There is one footer per column; each footer is configured separately. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| showFooters | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box footer in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. +> This property can also be set dynamically using the [LISTBOX SET FOOTERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/List-box-footer-specific-properties.300-4354808.en.html) command. + + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels *(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showFooters": true, + "footerHeight": "44px", + ... + } +``` + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ----------------------------- | +| footerHeight | string | positive decimal+px | em | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Headers](properties_Headers.md) - [List box footers](listbox_overview.md#list-box-footers) \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/properties_Gridlines.md b/website/translated_docs/es/FormObjects/properties_Gridlines.md new file mode 100644 index 00000000000000..ffbcdaa2a01f39 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Gridlines.md @@ -0,0 +1,37 @@ +--- +id: propertiesGridlines +title: Gridlines +--- + +--- +## Horizontal Line Color + +Defines the color of the horizontal lines in a list box (gray by default). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | ------------------------------------------ | +| horizontalLineStroke | color | any css value, "'transparent", "automatic" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Vertical Line Color + +Defines the color of the vertical lines in a list box (gray by default). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | ------------------------------------------ | +| verticalLineStroke | color | any css value, "'transparent", "automatic" | + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/properties_Headers.md b/website/translated_docs/es/FormObjects/properties_Headers.md new file mode 100644 index 00000000000000..8949ac077f9a09 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Headers.md @@ -0,0 +1,69 @@ +--- +id: propertiesHeaders +title: Headers +--- + +--- +## Display Headers + +This property is used to display or hide [list box column headers](listbox_overview.md#list-box-headers). There is one header per column; each header is configured separately. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| showHeaders | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box header in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. +> This property can also be set dynamically using the [LISTBOX SET HEADERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-SET-HEADERS-HEIGHT.301-4311129.en.html) command. + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels *(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showHeaders": true, + "headerHeight": "22px", + ... + } +``` + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ------------------------------- | +| headerHeight | string | positive decimal+px | em ) | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Footers](properties_Footers.md) - [List box headers](listbox_overview.md#list-box-headers) \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/properties_Help.md b/website/translated_docs/es/FormObjects/properties_Help.md new file mode 100644 index 00000000000000..d573c0bd16093f --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Help.md @@ -0,0 +1,53 @@ +--- +id: propertiesHelp +0: title:Help +--- + +--- +## Help Tip + +This property allows associating help messages with active objects in your forms. They can be displayed at runtime: + +![](assets/en/FormObjects/property_helpTip.png) + +> - The display delay and maximum duration of help tips can be controlled using the `Tips delay` and `Tips duration` selectors of the **[SET DATABASE PARAMETER](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html)** command. +> - Help tips can be globally disabled or enabled for the application using the Tips enabled selector of the [**SET DATABASE PARAMETER**](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html) command. + +You can either: + +- designate an existing help tip, previously specified in the [Help tips](https://doc.4d.com/4Dv17R5/4D/17-R5/Help-tips.200-4163423.en.html) editor of 4D. +- or enter the help message directly as a string. This allows you to take advantage of XLIFF architecture. You can enter an XLIFF reference here in order to display a message in the application language (for more information about XLIFF, refer to [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html). You can also use 4D references ([see Using references in static text](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-references-in-static-text.300-4163725.en.html)). +> In macOS, displaying help tips is not supported in pop-up type windows. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------:|:---------:| ------------------------------------- | +| tooltip | text | additional information to help a user | + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md#overview) - [Hierarchical List](list_overview.md#overview) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up menu](picturePopupMenu_overview.md) - [Radio Button](radio_overview.md) + + +#### Other help features + +You can also associate help messages with form objects in two other ways: + +- at the level of the database structure (fields only). In this case, the help tip of the field is displayed in every form where it appears. For more information, refer to “Help Tips” in [Field properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Field-properties.300-4163580.en.html). +- using the **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command, for the current process. + +When different tips are associated with the same object in several locations, the following priority order is applied: + +1. structure level (lowest priority) +2. form editor level +3. **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command (highest priority) + + +#### See also + +[Placeholder](properties_Entry.md#placeholder) + + + diff --git a/website/translated_docs/es/FormObjects/properties_Hierarchy.md b/website/translated_docs/es/FormObjects/properties_Hierarchy.md new file mode 100644 index 00000000000000..a87c6c4f1ffffd --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Hierarchy.md @@ -0,0 +1,26 @@ +--- +id: propertiesHierarchy +title: Hierarchy +--- + +--- +## Hierarchical List Box +`Array type list boxes` + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +See [Hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes) + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ------------ | ------------------------------------------------ | +| datasource | string array | Collection of array names defining the hierarchy | + +#### Objects Supported + +[List Box](listbox_overview.md) diff --git a/website/translated_docs/es/FormObjects/properties_ListBox.md b/website/translated_docs/es/FormObjects/properties_ListBox.md new file mode 100644 index 00000000000000..4b6f62a59e161b --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_ListBox.md @@ -0,0 +1,248 @@ +--- +id: propertiesListBox +title: List Box +--- + +--- +## Columns + +Collection of columns of the list box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | ---------------------------- | ------------------------------------------------ | +| columns | collection of column objects | Contains the properties for the list box columns | + +For a list of properties supported by column objects, please refer to the [Column Specific Properties](listbox_overview#column-specific-properties) section. + +#### Objects Supported + +[List Box](listbox_overview.md) + +--- +## Detail Form Name +`Selection type list box` + +Specifies the form to use for modifying or displaying individual records of the list box. + +The specified form is displayed: + +* when using `Add Subrecord` and `Edit Subrecord` standard actions applied to the list box (see [Using standard actions](https://doc.4d.com/4Dv17R6/4D/17-R6/Using-standard-actions.300-4354811.en.html)), +* when a row is double-clicked and the [Double-click on Row](#double-click-on-row) property is set to "Edit Record" or "Display Record". + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| detailForm | string |
  • Name (string) of table or project form
  • POSIX path (string) to a .json file describing the form
  • Object describing the form | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Double-click on row +`Selection type list box` + +Sets the action to be performed when a user double-clicks on a row in the list box. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the detail form defined [for the list box](#detail-form-name). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. +> Double-clicking an empty row is ignored in list boxes. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | ----------------------------------- | +| doubleClickInRowAction | string | "editSubrecord", "displaySubrecord" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Highlight Set + +`Selection type list box` + +This property is used to specify the set to be used to manage highlighted records in the list box (when the **Arrays** data source is selected, a Boolean array with the same name as the list box is used). + +4D creates a default set named *ListBoxSetN* where *N* starts at 0 and is incremented according to the number of list boxes in the form. If necessary, you can modify the default set. It can be a local, process or interprocess set (we recommend using a local set, for example *$LBSet*, in order to limit network traffic). It is then maintained automatically by 4D. If the user selects one or more rows in the list box, the set is updated immediately. If you want to select one or more rows by programming, you can apply the commands of the “Sets” theme to this set. +> * The highlighted status of the list box rows and the highlighted status of the table records are completely independent. +> * If the “Highlight Set” property does not contain a name, it will not be possible to make selections in the list box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| highlightSet | string | Name of the set | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Locked columns and static columns + +Locked columns and static columns are two separate and independent functionalities in list boxes: + +* Locked columns always stay displayed to the left of the list box; they do not scroll horizontally. +* Static columns cannot be moved by drag and drop within the list box. +> You can set static and locked columns by programming, refer to [List Box](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box.201-4310263.en.html) in the [4D Language Reference](https://doc.4d.com/4Dv17R6/4D/17-R6/4D-Language-Reference.100-4310216.en.html) manual. + +These properties interact as follows: + +* If you set columns that are only static, they cannot be moved. + +* If you set columns that are locked but not static, you can still change their position freely within the locked area. However, a locked column cannot be moved outside of this locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns1.png) + +* If you set all of the columns in the locked area as static, you cannot move these columns within the locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns2.png) + +* You can set a combination of locked and static columns according to your needs. For example, if you set three locked columns and one static column, the user can swap the two right-most columns within the locked area (since only the first column is static). + +### Number of Locked Columns + +Number of columns that must stay permanently displayed in the left part of the list box, even when the user scrolls through the columns horizontally. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | --------------- | +| lockedColumnCount | integer | minimum: 0 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +### Number of Static Columns + +Number of columns that cannot be moved during execution. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | --------------- | +| staticColumnCount | integer | minimum: 0 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Number of Columns + +Sets the number of columns of the list box. +> You can add or remove columns dynamically by programming, using commands such as [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-INSERT-COLUMN.301-4505224.en.html) or [LISTBOX DELETE COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-DELETE-COLUMN.301-4505185.en.html). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| columnCount | integer | minimum: 1 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Row Control Array + +`Array type list box` + +A 4D array controlling the display of list box rows. + +You can set the "hidden", "disabled" and "selectable" interface properties for each row in an array-based list box using this array. It can also be designated using the `LISTBOX SET ARRAY` command. + +The row control array must be of the Longint type and include the same number of rows as the list box. Each element of the *Row Control Array* defines the interface status of its corresponding row in the list box. Three interface properties are available using constants in the "List Box" constant theme: + +| Constant | Value | Comment | +| ------------------------ | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| lk row is disabled | 2 | The corresponding row is disabled. The text and controls such as check boxes are dimmed or grayed out. Enterable text input areas are no longer enterable. Default value: Enabled | +| lk row is hidden | 1 | The corresponding row is hidden. Hiding rows only affects the display of the list box. The hidden rows are still present in the arrays and can be managed by programming. The language commands, more particularly `LISTBOX Get number of rows` or `LISTBOX GET CELL POSITION`, do not take the displayed/hidden status of rows into account. For example, in a list box with 10 rows where the first 9 rows are hidden, `LISTBOX Get number of rows` returns 10. From the user’s point of view, the presence of hidden rows in a list box is not visibly discernible. Only visible rows can be selected (for example using the Select All command). Default value: Visible | +| lk row is not selectable | 4 | The corresponding row is not selectable (highlighting is not possible). Enterable text input areas are no longer enterable unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. Controls such as check boxes and lists are still functional however. This setting is ignored if the list box selection mode is "None". Default value: Selectable | + +To change the status for a row, you just need to set the appropriate constant(s) to the corresponding array element. For example, if you do not want row #10 to be selectable, you can write: + +```code4d + aLControlArr{10}:=lk row is not selectable +``` + +![](assets/en/FormObjects/listbox_styles5.png) + +You can define several interface properties at once: + +```code4d + aLControlArr{8}:=lk row is not selectable + lk row is disabled +``` + +![](assets/en/FormObjects/listbox_styles6.png) + +Note that setting properties for an element overrides any other values for this element (if not reset). For example: + +```code4d + aLControlArr{6}:=lk row is disabled + lk row is not selectable + //sets row 6 as disabled AND not selectable + aLControlArr{6}:=lk row is disabled + //sets row 6 as disabled but selectable again +``` + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------- | --------- | ---------------------- | +| rowControlSource | string | Row control array name | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | string | "multiple", "single", "none" | + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/properties_Object.md b/website/translated_docs/es/FormObjects/properties_Object.md new file mode 100644 index 00000000000000..d9e1e20c75b1ae --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Object.md @@ -0,0 +1,334 @@ +--- +id: propertiesObject +0: title:Objects +--- + +--- +## Type + + `MANDATORY SETTING` + +This property designates the type of the [active or inactive form object](formObjects_overview.md). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| type | string | "button", "buttonGrid", "checkbox", "combo", "dropdown", "groupBox", "input", "line", "list", "listbox", "oval", "picture", "pictureButton", "picturePopup", "plugin", "progress", "radio", "rectangle", "ruler", "spinner", "splitter", "stepper", "subform", "tab", "text", "view", "webArea", "write" | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) -[Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + +--- +## Object Name + +Each active form object is associated with an object name. Each object name must be unique. +> Object names are limited to a size of 255 bytes. + +When using 4D’s language, you can refer to an active form object by its object name (for more information about this, refer to [Object Properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Object-Properties.300-4128195.en.html) in the 4D Language Reference manual). + +For more information about naming rules for form objects, refer to [Identifiers](Concepts/identifiers.md) section. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------------------------------- | +| name | string | Any allowed name which does not belong to an already existing object | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + + +--- +## Variable or Expression + +> See also **[Expression](properties_DataSource#expression)** for Selection and collection type list box columns. + + +This property specifies the source of the data. Each active form object is associated with an object name and a variable name. The variable name can be different from the object’s name. In the same form, you can use the same variable several times while each [object name](#object-name) must be unique. +> Variable name size is limited to 31 bytes. See [Identifiers](Concepts/identifiers.md) section for more information about naming rules. + +The form object variables allow you to control and monitor the objects. For example, when a button is clicked, its variable is set to 1; at all other times, it is 0. The expression associated with a progress indicator lets you read and change the current setting. + +Variables or expressions can be enterable or non-enterable and can receive data of the Text, Integer, Numeric, Date, Time, Picture, Boolean, or Object type. + +### Expressions + +You can use an expression as data source for an object. Any valid 4D expression is allowed: simple expression, formula, 4D function, project method name or field using the standard `[Table]Field` syntax. The expression is evaluated when the form is executed and reevaluated for each form event. Note that expressions can be [assignable or non-assignable](Concepts/quick-tour.md#expressions). +> If the value entered corresponds to both a variable name and a method name, 4D considers that you are indicating the method. + + + +### Dynamic variables + +You can leave it up to 4D to create variables associated with your form objects (buttons, enterable variables, check boxes, etc.) dynamically and according to your needs. To do this, simply leave the "Variable or Expression" property (or `dataSource` JSON field) blank. + +When a variable is not named, when the form is loaded, 4D creates a new variable for the object, with a calculated name that is unique in the space of the process variables of the interpreter (which means that this mechanism can be used even in compiled mode). This temporary variable will be destroyed when the form is closed. In order for this principle to work in compiled mode, it is imperative that dynamic variables are explicitly typed. There are two ways to do this: + +- You can set the type using the [Expression type](#expression-type) property. +- You can use a specific initialization code when the form is loaded that uses, for example, the `VARIABLE TO VARIABLE` command: + +```code4d + If(Form event=On Load) + C_TEXT($init) + $Ptr_object:=OBJECT Get pointer(Object named;"comments") + $init:="" + VARIABLE TO VARIABLE(Current process;$Ptr_object->;$init) + End if +``` + +In the 4D code, dynamic variables can be accessed using a pointer obtained with the `OBJECT Get pointer` command. For example: + +```code4d + // assign the time 12:00:00 to the variable for the "tstart" object + $p :=OBJECT Get pointer(Object named;"tstart") + $p->:=?12:00:00? +``` + +There are two advantages with this mechanism: + +- On the one hand, it allows the development of "subform" type components that can be used several times in the same host form. Let us take as an example the case of a datepicker subform that is inserted twice in a host form to set a start date and an end date. This subform will use objects for choosing the date of the month and the year. It will be necessary for these objects to work with different variables for the start date and the end date. Letting 4D create their variable with a unique name is a way of resolving this difficulty. +- On the other hand, it can be used to limit memory usage. In fact, form objects only work with process or inter-process variables. However, in compiled mode, an instance of each process variable is created in all the processes, including the server processes. This instance takes up memory, even when the form is not used during the session. Therefore, letting 4D create variables dynamically when loading the forms can save memory. + + +### Hierarchical List Box + +Using a string array (collection of arrays names) as *dataSource* value for a list box column defines a [hierarchical list box](listbox_overview.md#hierarchical-list-boxes). + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dataSource | string, or string array |
  • 4D variable, field name, or arbitrary complex language expression.
  • Empty string for [dynamic variables](#dynamic-variables).
  • String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column] | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Tab control](tabControl.md) - [Subform](subform_overview.md#overview) - [Radio Button](radio_overview.md) + + + + + +--- +## Expression Type + +> This property is called **Data Type** in the Property List for Selection and collection type list box columns. + + +Specify the data type for the expression or variable associated to the object. Note that main purpose of this setting is to configure options (such as display formats) available for the data type. It does not actually type the variable itself. In view of database compilation, you must use the 4D language commands of the `Compiler` theme. + +However, this property has a typing function in the following specific cases: + +- **[Dynamic variables](#dynamic-variables)**: you can use this property to declare the type of dynamic variables. +- **[List Box Columns](listbox_overview.md#list-box-columns)**: this property is used to associate a display format with the column data. The formats provided will depend on the variable type (array type list box) or the data/field type (selection and collection type list boxes). The standard 4D formats that can be used are: Alpha, Numeric, Date, Time, Picture and Boolean. The Text type does not have specific display formats. Any existing custom formats are also available. +- **[Picture variables](input_overview.md)**: you can use this menu to declare the variables before loading the form in interpreted mode. Specific native mechanisms govern the display of picture variables in forms. These mechanisms require greater precision when configuring variables: from now on, they must have already been declared before loading the form — i.e., even before the `On Load` form event — unlike other types of variables. To do this, you need either for the statement `C_PICTURE(varName)` to have been executed before loading the form (typically, in the method calling the `DIALOG` command), or for the variable to have been typed at the form level using the expression type property. Otherwise, the picture variable will not be displayed correctly (only in interpreted mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dataSourceTypeHint | string |
  • **standard objects:** "integer", "boolean", "number", "picture", "text", date", "time", "arrayText", "arrayDate", "arrayTime", "arrayNumber", "collection", "object", "undefined"
  • **list box columns:** "boolean", "number", "picture", "text", date" (*array/selection list box only*) "integer", "time", "object" | + +#### Objects Supported + +[Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab Control](tabControl.md) + + +--- +## CSS Class + +A list of space-separated words used as class selectors in css files. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------------------------------------------------- | +| class | string | One string with CSS name(s) separated by space characters | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Radio Button](radio_overview.md) - [Static Picture](staticPicture.md) - [Subform](subform_overview.md#overview) - [Web Area](webArea_overview.md#overview) + + + +--- +## Collection or entity selection + +To use collection elements or entities to define the row contents of the list box. + +Enter an expression that returns either a collection or an entity selection. Usually, you will enter the name of a variable, a collection element or a property that contain a collection or an entity selection. + +The collection or the entity selection must be available to the form when it is loaded. Each element of the collection or each entity of the entity selection will be associated to a list box row and will be available as an object through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command: + +* if you used a collection of objects, you can call **This** in the datasource expression to access each property value, for example **This.\**. +* if you used an entity selection, you can call **This** in the datasource expression to access each attribute value, for example **This.\**. +> If you used a collection of scalar values (and not objects), 4D allows you to display each value by calling **This.value** in the datasource expression. However in this case you will not be able to modify values or to access the current ite object (see below) Note: For information about entity selections, please refer to the [ORDA](https://doc.4d.com/4Dv17R6/4D/17-R6/ORDA.200-4354624.en.html) chapter. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------------------ | +| dataSource | string | Expression that returns a collection or an entity selection. | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Data Source + +Specify the type of list box. + +![](assets/en/FormObjects/listbox_dataSource.png) + +- **Arrays**(default): use array elements as the rows of the list box. +- **Current Selection**: use expressions, fields or methods whose values will be evaluated for each record of the current selection of a table. +- **Named Selection**: use expressions, fields or methods whose values will be evaluated for each record of a named selection. +- **Collection or Entity Selection**: use collection elements or entities to define the row contents of the list box. Note that with this list box type, you need to define the [Collection or Entity Selection](properties_Object.md#collection-or-entity-selection) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------- | +| listboxType | string | "array", "currentSelection", "namedSelection", "collection" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Plug-in Kind + +Name of the [plug-in external area](pluginArea_overview.md) associated to the object. Plug-in external area names are published in the manifest.json file of the plug-in. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | ------------------------------------------------------------- | +| pluginAreaKind | string | Name of the plug-in external area (starts with a % character) | + + +#### Objects Supported +[Plug-in Area](pluginArea_overview.md) + + + +--- + +## Radio Group + +Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ---------------- | +| radioGroup | string | Radio group name | + + +#### Objects Supported + +[Radio Button](radio_overview.md) + + + +--- + +## Title + +Allows inserting a label on an object. The font and the style of this label can be specified. + +You can force a carriage return in the label by using the \ character (backslash). + +![](assets/en/FormObjects/property_title.png) + +To insert a \ in the label, enter "\\". + +By default, the label is placed in the center of the object. When the object also contains an icon, you can modify the relative location of these two elements using the [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) property. + +For database translation purposes, you can enter an XLIFF reference in the title area of a button (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| text | string | any text | + +#### Objects Supported + +[Button](button_overview.md) (*Regular, Flat, Toolbar, Bevel, Rounded Bevel, OS X Gradient Button, OS X Textured Button, Office XP, Circle, Custom*) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) + + + + + + + +--- +## Variable Calculation + +This property sets the type of calculation to be done in a [column footer](listbox_overview.md#list-box-footers) area. +> The calculation for footers can also be set using the `LISTBOX SET FOOTER CALCULATION` 4D command. + +There are several types of calculations available. The following table shows which calculations can be used according to the type of data found in each column and indicates the type automatically affected by 4D to the footer variable (if it is not typed by the code): + +| Calculation | Num | Text | Date | Time | Bool | Pict | footer var type | +| --------------------- | --- | ---- | ---- | ---- | ---- | ---- | ------------------- | +| Minimum | X | | X | X | X | | Same as column type | +| Maximum | X | | X | X | X | | Same as column type | +| Sum | X | | X | | X | | Same as column type | +| Count | X | X | X | X | X | X | Longint | +| Average | X | | | X | | | Real | +| Standard deviation(*) | X | | | X | | | Real | +| Variance(*) | X | | | X | | | Real | +| Sum squares(*) | X | | | X | | | Real | +| Custom ("none") | X | X | X | X | X | X | Any | + +(*) Only for array type list boxes. + +When an automatic calculation is set, it is applied to all the values found in the list box column. Note that the calculation does not take the shown/hidden state of list box rows into account. If you want to restrict a calculation to only visible rows, you must use a custom calculation. + +When **Custom** ("none" in JSON) is set, no automatic calculations are performed by 4D and you must assign the value of the variable in this area by programming. +> Automatic calculations are not supported with: * footers of columns based on formulas, * footers of [Collection and Entity selection](listbox_overview.md#collection-or-entity-selection-list-boxes) list boxes. You need to use custom calculations. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | ----------------------------------------------------------------------------------------------------- | +| variableCalculation | string | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" | + +#### Objects Supported + +[List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + diff --git a/website/translated_docs/es/FormObjects/properties_Picture.md b/website/translated_docs/es/FormObjects/properties_Picture.md new file mode 100644 index 00000000000000..d99fd0373cd3dd --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Picture.md @@ -0,0 +1,73 @@ +--- +id: propertiesPicture +0: title:Picture +--- + +--- +## Pathname + +Pathname of a static source picture for a [picture button](pictureButton_overview.md), [picture pop-up Menu](picturePopupMenu_overview.md), or [static picture](staticPicture.md). You must use the POSIX syntax. + +Two main locations can be used for static picture path: + +- in the **Resources** folder of the project database. Appropriate when you want to share static pictures between several forms in the database. In this case, the Pathname is "/RESOURCES/\". +- in an image folder (e.g. named **Images**) within the form folder. Appropriate when the static pictures are used only in the form and/or you want to be able to move or duplicate the whole form within the project or different projects. In this case, the Pathname is "\" and is resolved from the root of the form folder. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------:|:---------:| ------------------------------------------- | +| picture | text | Relative or filesystem path in POSIX syntax | + + +#### Objects Supported + +[Picture button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Static Picture](staticPicture.md) + + +--- +## Display + + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + + + +### Center / Truncated (non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Center** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. +> When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | -------------------------------------------------------- | +| pictureFormat | string | "scaled", "tiled", "truncatedCenter", "truncatedTopLeft" | + +#### Objects Supported + +[Static Picture](staticPicture.md) \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/properties_Plugins.md b/website/translated_docs/es/FormObjects/properties_Plugins.md new file mode 100644 index 00000000000000..ecea54bba79b4f --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Plugins.md @@ -0,0 +1,25 @@ +--- +id: propertiesPlugIns +0: title:Plug-ins +--- + +--- +## Advanced Properties + +If advanced options are provided by the author of the plug-in, an **Advanced Properties** button may be enabled in the Property list. In this case, you can click this button to set these options, usually through a custom dialog box. + +Because the Advanced properties feature is under the control of the author of the plug-in, information about these Advanced options is the responsibility of the distributor of the plug-in. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------- | +| customProperties | text | object | Plugin specific properties, passed to plugin as a JSON string if an object, or as a binary buffer if a base64 encoded string | + + +#### Objects Supported + +[Plug-in Area](pluginArea_overview.md) + diff --git a/website/translated_docs/es/FormObjects/properties_Print.md b/website/translated_docs/es/FormObjects/properties_Print.md new file mode 100644 index 00000000000000..32114b2665dab2 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Print.md @@ -0,0 +1,36 @@ +--- +id: propertiesPrint +0: title:Print +--- + +--- +## Print frame + +This property handles the print mode for objects whose size can vary from one record to another depending on their contents. These objects can be set to print with either a fixed or variable frame. Fixed frame objects print within the confines of the object as it was created on the form. Variable frame objects expand during printing to include the entire contents of the object. Note that the width of objects printed as a variable size is not affected by this property; only the height varies automatically based on the contents of the object. + +You cannot place more than one variable frame object side-by-side on a form. You can place non-variable frame objects on either side of an object that will be printed with a variable size provided that the variable frame object is at least one line longer than the object beside it and that all objects are aligned on the top. If this condition is not respected, the contents of the other fields will be repeated for every horizontal slice of the variable frame object. + +> The `Print object` and `Print form` commands do not support this property. + + +The print options are: + +- **Variable** option / **Print Variable Frame** checked: 4D enlarges or reduces the form object area in order to print all the subrecords. + +- **Fixed (Truncation)** option / **Print Variable Frame** unchecked: 4D only prints the contents that appear in the object area. The form is only printed once and the contents not printed are ignored. + +- **Fixed (Multiple Records)** (subforms only): the initial size of the subform area is kept but 4D prints the form several times in order to print all the records. + +> This property can be set by programming using the `OBJECT SET PRINT VARIABLE FRAME` command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----------:|:---------:| --------------------------------------------------- | +| printFrame | string | "fixed", "variable", (subform only) "fixedMultiple" | + + +#### Objects Supported + +[Input](input_overview.md) - [Subforms](subform_overview.md) (list subforms only) - [4D Write Pro areas](writeProArea_overview.md) diff --git a/website/translated_docs/es/FormObjects/properties_RangeOfValues.md b/website/translated_docs/es/FormObjects/properties_RangeOfValues.md new file mode 100644 index 00000000000000..41f6be2cb6d239 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_RangeOfValues.md @@ -0,0 +1,83 @@ +--- +id: propertiesRangeOfValues +title: Range of Values +--- + +--- +## Default value + +You can assign a default value to be entered in an input object. This property is useful for example when the input [data source](properties_Object.md#variable-or-expression) is a field: the default value is entered when a new record is first displayed. You can change the value unless the input area has been defined as [non-enterable](properties_Entry.md#enterable). + +The default value can only be used if the [data source type](properties_Object.md#expression-type) is: +- text/string +- number/integer +- date +- time +- boolean + +4D provides stamps for generating default values for the date, time, and sequence number. The date and time are taken from the system date and time. 4D automatically generates any sequence numbers needed. The table below shows the stamp to use to generate default values automatically: + +| Stamp | Meaning | +| ----- | --------------- | +| #D | Current date | +| #H | Current time | +| #N | Sequence number | + +You can use a sequence number to create a unique number for each record in the table for the current data file. A sequence number is a longint that is generated for each new record. The numbers start at one (1) and increase incrementally by one (1). A sequence number is never repeated even if the record it is assigned to is deleted from the table. Each table has its own internal counter of sequence numbers. For more information, refer to the [Autoincrement](https://doc.4d.com/4Dv17R6/4D/17-R6/Field-properties.300-4354738.en.html#976029) paragraph. + +> Do not make confusion between this property and the "[default values](properties_DataSource.md#default-list-of-values)" property that allows to fill a list box column with static values. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | ----------------------------------- | ------------------------------------------ | +| defaultValue | string, number, date, time, boolean | Any value and/or a stamp: "#D", "#H", "#N" | + +#### Objects Supported + +[Input](input_overview.md) + + + +--- + +## Excluded List + +Allows setting a list whose values cannot be entered in the object. If an excluded value is entered, it is not accepted and an error message is displayed. +> If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | -------------------------------- | +| excludedList | list | A list of values to be excluded. | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + +--- + +## Required List + +Restricts the valid entries to the items on the list. For example, you may want to use a required list for job titles so that valid entries are limited to titles that have been approved by management. + +Making a list required does not automatically display the list when the field is selected. If you want to display the required list, assign the same list to the [Choice List](properties_DataSource.md#choice-list) property. However, unlike the [Choice List](properties_DataSource.md#choice-list) property, when a required list is defined, keyboard entry is no longer possible, only the selection of a list value using the pop-up menu is allowed. If different lists are defined using the [Choice List](properties_DataSource.md#choice-list) and Required List properties, the Required List property has priority. +> If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------------------- | +| requiredList | list | A list of mandatory values. | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + + diff --git a/website/translated_docs/es/FormObjects/properties_Reference.md b/website/translated_docs/es/FormObjects/properties_Reference.md new file mode 100644 index 00000000000000..79153ed8effc4f --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Reference.md @@ -0,0 +1,280 @@ +--- +id: propertiesReference +title: JSON property list +--- + +## A + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | +| [action](properties_Action.md#standard-action) | Typical activity to be performed. | The name of a valid standard action. | +| [allowFontColorPicker](properties_Text.md#allow-font-color-picker) | Allows displaying system font picker or color picker to edit object attributes | true, false (default) | +| [alternateFill](properties_BackgroundAndBorder.md#alternate-background-color) | Allows setting a different background color for odd-numbered rows/columns in a list box. | Any CSS value; "transparent"; "automatic" | +| [automaticInsertion](properties_DataSource.md#automatic-insertion) | Enables automatically adding a value to a list when a user enters a value that is not in the object's associated choice list. | true, false | + +## B + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------- | +| [booleanFormat](properties_Display.md#boolean-format) | Specifies only two possible values. | true, false | +| [borderRadius](properties_CoordinatesAndSizing.md#corner-radius) | The radius value for round rectangles. | minimum: 0 | +| [borderStyle](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) | Allows setting a standard style for the object border. | "system", "none", "solid", "dotted", "raised", "sunken", "double" | +| [bottom](properties_CoordinatesAndSizing.md#bottom) | Positions an object at the bottom (centered). | minimum: 0 | + +## C + +| Property | Description | Possible Values | +| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| [choiceList](properties_DataSource.md#choice-list) | A list of choices associated with an object | A list of choices | +| [class](properties_Object.md#class) | A list of space-separated words used as class selectors in css files. | A list of class names | +| [columnCount](properties_Crop.md#columns) | Number of columns. | minimum: 1 | +| [columns](properties_ListBox.md#columns) | A collection of list box columns | Collection of column objects with defined column properties | +| [contextMenu](properties_Entry.md#context-menu) | Provides the user access to a standard context menu in the selected area. | "automatic", "none" | +| [continuousExecution](properties_Action.md#execute-object-method) | Designates whether or not to run the method of an object while the user is tracking the control. | true, false | +| [controlType](properties_Display.md#display-type) | Specifies how the value should be rendered in a list box cell. | "input", "checkbox" (for boolean / numeric columns), "automatic", "popup" (only for boolean columns) | +| [currentItemSource](properties_DataSource.md#current-item) | The last selected item in a list box. | Object expression | +| [currentItemPositionSource](properties_DataSource.md#current-item-position) | The position of the last selected item in a list box. | Number expression | +| [customBackgroundPicture](properties_TextAndPicture.md#background-pathname) | Sets the picture that will be drawn in the background of a button. | Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option. | +| [customBorderX](properties_TextAndPicture.md#horizontal-margin) | Sets the size (in pixels) of the internal horizontal margins of an object. Must be used with the style property with the "custom" option. | minimum: 0 | +| [customBorderY](properties_TextAndPicture.md#vertical-margin) | Sets the size (in pixels) of the internal vertical margins of an object. Must be used with the style property with the "custom" option. | minimum: 0 | +| [customOffset](properties_TextAndPicture.md#icon-offset) | Sets a custom offset value in pixels. Must be used with the style property with the "custom" option. | minimum: 0 | + +## D + +| Property | Description | Possible Values | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [dataSource](properties_Object.md#variable-or-expression) (objects)
    [dataSource](properties_Subform.md#source) (subforms)
    [dataSource](properties_Object.md#data-source) (array list box)
    [dataSource](properties_Object.md#collection-or-entity-selection) (Collection or entity selection list box)
    [dataSource](properties_DataSource.md#expression) (list box column)
    [dataSource](properties_Hierarchy.md#hierarchical-list-box) (hierarchical list box) | Specifies the source of the data. | A 4D variable, field name, or an arbitrary complex language expression. | +| [dataSourceTypeHint](properties_Object.md#expression-type) (objects)
    [dataSourceTypeHint](properties_DataSource.md#data-type) (list box column) | Indicates the variable type. | "integer", "number", "boolean", "picture", "text", date", "time", "arrayText", "collection", "object", "undefined" | +| [dateFormat](properties_Display.md#date-format) | Controls the way dates appear when displayed or printed. Must only be selected among the 4D built-in formats. | "systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values) | +| [defaultButton](properties_Appearance.md#default-button) | Modifies a button's appearance in order to indicate the recommended choice to the user. | true, false | +| [defaultValue](properties_RangeOfValues.md#default-value) | Defines a value or a stamp to be entered by default in an input object | String or "#D", "#H", "#N" | +| [deletableInList](properties_Subform.md#allow-deletion) | Specifies if the user can delete subrecords in a list subform | true, false | +| [detailForm](properties_ListBox.md#detail-form-name) (list box)
    [detailForm](properties_Subform.md#detail-form) (subform) | Associates a detail form with a list subform. | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | +| [display](properties_Display.md#not-rendered) | The object is drawn or not on the form. | true, false | +| [doubleClickInEmptyAreaAction](properties_Subform.md#double-click-on-empty-row) | Action to perform in case of a double-click on an empty line of a list subform. | "addSubrecord" or "" to do nothing | +| [doubleClickInRowAction](properties_ListBox.md#double-click-on-row) (list box)
    [doubleClickInRowAction](properties_Subform.md#double-click-on-row) (subform) | Action to perform in case of a double-click on a record. | "editSubrecord", "displaySubrecord" | +| [dpi](properties_Appearance.md#resolution) | Screen resolution for the 4D Write Pro area contents. | 0=automatic, 72, 96 | +| [dragging](properties_Action.md#draggable) | Enables dragging function. | "none", "custom", "automatic" (excluding list, list box) | +| [dropping](properties_Action.md#droppable) | Enables dropping function. | "none", "custom", "automatic" (excluding list, list box) | + +## E + +| Property | Description | Possible Values | +| ---------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------- | +| [enterable](properties_Entry.md#enterable) | Indicates whether users can enter values into the object. | true, false | +| [enterableInList](properties_Subform.md#enterable-in-list) | Indicates whether users can modify record data directly in the list subform. | true, false | + + +[entryFiler](properties_Entry.md#entry-filter)|Associates an entry filter with the object or column cells. This property is not accessible if the Enterable property is not enabled.|Text to narrow entries | |[excludedList](properties_RangeOfValues.md#excluded-list)|Allows setting a list whose values cannot be entered in the column.|A list of values to be excluded.| |[events](XXX)|List of all events selected for the object or form|Collection of event names, e.g. ["onClick","onDataChange"...].| + + +## F + +| Property | Description | Possible Values | +| --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | +| [fill](properties_BackgroundAndBorder.md#background-color-fill-color) | Defines the background color of an object. | Any CSS value, "transparent", "automatic" | +| [focusable](properties_Entry.md#focusable) | Indicates whether the object can have the focus (and can thus be activated by the keyboard for instance) | true, false | +| [fontFamily](properties_Text.md#font) | Specifies the name of font family used in the object. | CSS font family name | +| [fontSize](properties_Text.md#font-size) | Sets the font size in points when no font theme is selected | minimum: 0 | +| [fontStyle](properties_Text.md#italic) | Sets the selected text to slant slightly to the right. | "normal", "italic" | +| [fontTheme](properties_Text.md#font-theme) | Sets the automatic style | "normal", "main", "additional" | +| [fontWeight](properties_Text.md#bold) | Sets the selected text to appear darker and heavier. | "normal", "bold" | +| [footerHeight](properties_Footers.md#height) | Used to set the row height | pattern (\\d+)(p|em)?$ (positive decimal + px/em ) | +| [frameDelay](properties_Animation.md#switch-every-x-ticks) | Enables cycling through the contents of the picture button at the specified speed (in ticks). | minimum: 0 | + +## G + +| Property | Description | Possible Values | +| ----------------------------------------------------- | -------------------------- | --------------- | +| [graduationStep](properties_Scale.md#graduation-step) | Scale display measurement. | minimum: 0 | + +## H + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| [header](properties_Headers.md#header) | Defines the header of a list box column | Object with properties "text", "name", "icon", "dataSource", "fontWeight", "fontStyle", "tooltip" | +| [headerHeight](properties_Headers.md#height) | Used to set the row height | pattern ^(\\d+)(px|em)?$ (positive decimal + px/em ) | +| [height](properties_CoordinatesAndSizing.md#height) | Designates an object's vertical size | minimum: 0 | +| [hideExtraBlankRows](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | Deactivates the visibility of extra, empty rows. | true, false | +| [hideFocusRing](properties_Appearance.md#hide-focus-rectangle) | Hides the selection rectangle when the object has the focus. | true, false | +| [hideSystemHighlight](properties_Appearance.md#hide-selection-highlight) | Used to specify hiding highlighted records in the list box. | true, false | +| [highlightSet](properties_ListBox.md#highlight-set) | string | Name of the set. | +| [horizontalLineStroke](properties_Gridlines.md#horizontal-line-color) | Defines the color of the horizontal lines in a list box (gray by default). | Any CSS value, "'transparent", "automatic" | + +## I + +| Property | Description | Possible Values | +| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------- | +| [icon](properties_TextAndPicture.md#picture-pathname) | The pathname of the picture used for buttons, check boxes, radio buttons, list box headers. | Relative or filesystem path in POSIX syntax. | +| [iconFrames](properties_TextAndPicture.md#number-of-states) | Sets the exact number of states present in the picture. | minimum: 1 | +| [iconPlacement](properties_TextAndPicture.md#icon-location) | Designates the placement of an icon in relation to the form object. | "none", "left", "right" | + +## K + +| Property | Description | Possible Values | +| ------------------------------------------------------ | ---------------------------------------------------- | ------------------------------------ | +| [keyboardDialect](properties_Entry.md#keyboardDialect) | To associate a specific keyboard layout to an input. | A keyboard code string, e.g. "ar-ma" | + + +## L + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| [labels](properties_DataSource.md#choice-list-static-list) | A list of values to be used as tab control labels | ex: "a", "b, "c", ... | +| [labelsPlacement](properties_Scale.md#label-location) (objects)
    [labelsPlacement](properties_Appearance.md#tab-control-direction) (splitter / tab control) | Specifies the location of an object's displayed text. | "none", "top", "bottom", "left", "right" | +| [layoutMode](properties_Appearance.md#view-mode) | Mode for displaying the 4D Write Pro document in the form area. | "page", "draft", "embedded" | +| [left](properties_CoordinatesAndSizing.md#left) | Positions an object on the left. | minimum: 0 | +| list, see [choiceList](properties_DataSource.md#choice-list) | A list of choices associated with a hierarchical list | A list of choices | +| [listboxType](properties_Object.md#data-source) | The list box data source. | "array", "currentSelection", "namedSelection", "collection" | +| [listForm](properties_Subform.md#list-form) | List form to use in the subform. | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | +| [lockedColumnCount](properties_ListBox.md#number-of-locked-columns) | Number of columns that must stay permanently displayed in the left part of a list box. | minimum: 0 | +| [loopBackToFirstFrame](properties_Animation.md#loop-back-to-first-frame) | Pictures are displayed in a continuous loop. | true, false | + +## M + +| Property | Description | Possible Values | +| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- | +| [max](properties_Scale.md#maximum) | The maximum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. | minimum: 0 (for numeric data types) | +| [maxWidth](properties_CoordinatesAndSizing.md#maximum-width) | Designates the largest size allowed for list box columns. | minimum: 0 | +| [metaSource](properties_Text.md#meta-info-expression) | A meta object containing style and selection settings. | An object expression | +| [method](properties_Action.md#method) | A project method name. | The name of an existing project method | +| [methodsAccessibility](properties_WebArea.md#access-4d-methods) | Which 4D methods can be called from a Web area | "none" (default), "all" | +| [min](properties_Scale.md#minimum) | The minimum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. | minimum: 0 (for numeric data types) | +| [minWidth](properties_CoordinatesAndSizing.md#minimum-width) | Designates the smallest size allowed for list box columns. | minimum: 0 | +| [movableRows](properties_Action.md#movable-rows) | Authorizes the movement of rows during execution. | true, false | +| [multiline](properties_Entry.md#multiline) | Handles multiline contents. | "yes", "no", "automatic" | + +## N + +| Property | Description | Possible Values | +| --------------------------------------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------- | +| [name](properties_Object.md#object-name) | The name of the form object. (Optional for the form) | Any name which does not belong to an already existing object | +| [numberFormat](properties_Display.md#number-format) | Controls the way the alphanumeric fields and variables appear when displayed or printed. | Numbers (including a decimal point or minus sign if necessary) | + +## P + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [picture](properties_Picture.md#pathname) | The pathname of the picture for picture buttons, picture pop-up menus, or static pictures | Relative or filesystem path in POSIX syntax. | +| [pictureFormat](properties_Display.md#picture-format) (input, list box column or footer)
    [pictureFormat](properties_Picture.md#display) (static picture) | Controls how pictures appear when displayed or printed. | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft" (excluding static pictures), "proportionalCenter"(excluding static pictures) | +| [placeholder](properties_Entry.md#placeholder) | Grays out text when the data source value is empty. | Text to be grayed out. | +| [pluginAreaKind](properties_Object.md#plug-in-kind) | Describes the type of plug-in. | The type of plug-in. | +| [popupPlacement](properties_TextAndPicture.md#with-pop-up-menu) | Allows displaying a symbol that appears as a triangle in the button, which indicates that there is a pop-up menu attached. | "None", Linked", "Separated" | +| [printFrame](properties_Print.md#print-frame) | Print mode for objects whose size can vary from one record to another depending on their contents | "fixed", "variable", (subform only) "fixedMultiple" | +| [progressSource](properties_WebArea.md#progression) | A value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually. | minimum: 0 | + +## R + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | +| [radioGroup](properties_Object.md#radio-group) | Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set. | Radio group name | +| [requiredList](properties_RangeOfValues.md#required-list) | Allows setting a list where only certain values can be inserted. | A list of mandatory values. | +| [resizable](properties_ResizingOptions.md#resizable) | Designates if the size of an object can be modified by the user. | "true", "false" | +| [resizingMode](properties_ResizingOptions.md#column-auto-resizing) | Specifies if a list box column should be automatically resized | "rightToLeft", "legacy" | +| [right](properties_CoordinatesAndSizing.md#right) | Positions an object on the right. | minimum: 0 | +| [rowControlSource](properties_ListBox.md#row-control-array) | A 4D array defining the list box rows. | Array | +| [rowCount](properties_Crop.md#rows) | Sets the number of rows. | minimum: 1 | +| [rowFillSource](properties_BackgroundAndBorder.md#row-background-color-array) (array list box)
    [rowFillSource](properties_BackgroundAndBorder.md#background-color-expression) (selection or collection list box) | The name of an array or expression to apply a custom background color to each row of a list box. | The name of an array or expression. | +| [rowHeight](properties_CoordinatesAndSizing.md#row-height) | Sets the height of list box rows. | CSS value unit "em" or "px" (default) | +| [rowHeightAuto](properties_CoordinatesAndSizing.md#automatic-row-height) | boolean | "true", "false" | +| [rowHeightAutoMax](properties_CoordinatesAndSizing.md#maximum-width) | Designates the largest height allowed for list box rows. | CSS value unit "em" or "px" (default). minimum: 0 | +| [rowHeightAutoMin](properties_CoordinatesAndSizing.md#minimum-width) | Designates the smallest height allowed for list box rows. | CSS value unit "em" or "px" (default). minimum: 0 | +| [rowHeightSource](properties_CoordinatesAndSizing.md#row-height-array) | An array defining different heights for the rows in a list box. | Name of a 4D array variable. | +| [rowStrokeSource](properties_Text.md#row-font-color-array) (array list box)
    [rowStrokeSource](properties_Text.md#font-color-expression) (selection or collection/entity selection list box) | An array or expression for managing row colors. | Name of array or expression. | +| [rowStyleSource](properties_Text.md#row-style-array) (array list box)
    [rowStyleSource](properties_Text.md#style-expression) (selection or collection/entity selection list box) | An array or expression for managing row styles. | Name of array or expression. | + +## S + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [scrollbarHorizontal](properties_Appearance.md#horizontal-scroll-bar) | A tool allowing the user to move the viewing area to the left or right. | "visible", "hidden", "automatic" | +| [scrollbarVertical](properties_Appearance.md#vertical-scroll-bar) | A tool allowing the user to move the viewing area up or down. | "visible", "hidden", "automatic" | +| [selectedItemsSource](properties_DataSource.md#selected-items) | Collection of the selected items in a list box. | Collection expression | +| [selectionMode](properties_Action.md#multi-selectable) (hierarchical list)
    [selectionMode](properties_ListBox.md#selection-mode) (list box)
    [selectionMode](properties_Subform.md#selection-mode) (subform) | Allows the selection of multiple records/rows. | "multiple", "single", "none" | +| [shortcutAccel](properties_Entry.md#shortcut) | Specifies the system to use, Windows or Mac. | true, false | +| [shortcutAlt](properties_Entry.md#shortcut) | Designates the Alt key | true, false | +| [shortcutCommand](properties_Entry.md#shortcut) | Designates the Command key (macOS) | true, false | +| [shortcutControl](properties_Entry.md#shortcut) | Designates the Control key (Windows) | true, false | +| [shortcutKey](properties_Entry.md#shortcut) | The letter or name of a special meaning key. | "[F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | +| [shortcutShift](properties_Entry.md#shortcut) | Designates the Shift key | true, false | +| [showFooters](properties_Footers.md#display-headers) | Displays or hides column footers. | true, false | +| [showGraduations](properties_Scale.md#display-graduation) | Displays/Hides the graduations next to the labels. | true, false | +| [showHeaders](properties_Headers.md#display-headers) | Displays or hides column headers. | true, false | +| [showHiddenChars](properties_Appearance.md#show-hidden-characters) | Displays/hides invisible characters. | true, false | +| [showHorizontalRuler](properties_Appearance.md#show-horizontal-ruler) | Displays/hides the horizontal ruler when the document view is in Page view mode | true, false | +| [showHTMLWysiwyg](properties_Appearance.md#show-html-wysiwyg) | Enables/disables the HTML WYSIWYG view | true, false | +| [showPageFrames](properties_Appearance.md#show-page-frame) | Displays/hides the page frame when the document view is in Page view mode | true, false | +| [showReferences](properties_Appearance.md#show-references) | Displays all 4D expressions inserted in the 4D Write Pro document as *references* | true, false | +| [showSelection](properties_Entry.md#selection-always-visible) | Keeps the selection visible within the object after it has lost the focus | true, false | +| [showVerticalRuler](properties_Appearance.md#show-vertical-ruler) | Displays/hides the vertical ruler when the document view is in Page view mode | true, false | +| [singleClickEdit](properties_Entry.md#single-click-edit) | Enables direct passage to edit mode. | true, false | +| [sizingX](properties_ResizingOptions.md#horizontal-sizing) | Specifies if the horizontal size of an object should be moved or resized when a user resizes the form. | "grow", "move", "fixed" | +| [sizingY](properties_ResizingOptions.md#horizontal-sizing) | Specifies if the vertical size of an object should be moved or resized when a user resizes the form. | "grow", "move", "fixed" | +| [sortable](properties_Action.md#sortable) | Allows sorting column data by clicking the header. | true, false | +| [spellcheck](properties_Entry.md#auto-spellcheck) | Activates the spell-check for the object | true, false | +| [splitterMode](properties_ResizingOptions.md#pusher) | When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop. | "grow", "move", "fixed" | +| [startPoint](shapes_overview.md#startpoint-property) | Starting point for drawing a line object (only available in JSON Grammar). | "bottomLeft", topLeft" | +| [staticColumnCount](properties_ListBox.md#number-of-static-columns) | Number of columns that cannot be moved during execution. | minimum: 0 | +| [step](properties_Scale.md#step) | Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value. | minimum: 1 | +| [storeDefaultStyle](properties_Text.md#store-with-default-style-tags) | Store the style tags with the text, even if no modification has been made | true, false | +| [stroke](properties_Text.md#font-color) (text)
    [stroke](properties_BackgroundAndBorder.md#line-color) (lines)
    [stroke](properties_BackgroundAndBorder.md#transparent) (list box) | Specifies the color of the font or line used in the object. | Any CSS value, "transparent", "automatic" | +| [strokeDashArray](properties_BackgroundAndBorder.md#dotted-line-type) | Describes dotted line type as a sequence of black and white points | Number array or string | +| [strokeWidth](properties_BackgroundAndBorder.md#line-width) | Designates the thickness of a line. | An integer or 0 for smallest width on a printed form | +| [style](properties_TextAndPicture.md#multi-style) | Enables the possibility of using specific styles in the selected area. | true, false | +| [styledText](properties_Text.md#style) | Allows setting the general appearance of the button. See Button Style for more information. | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" | +| [switchBackWhenReleased](properties_Animation.md#switch-back-when-released) | Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released. | true, false | +| [switchContinuously](properties_Animation.md#switch-continuously-on-clicks) | Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation). | true, false | +| [switchWhenRollover](properties_Animation.md#switch-when-roll-over) | Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area. | true, false | + + +## T + +| Property | Description | Possible Values | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [table](properties_Subform.md#source) | Table that the list subform belongs to (if any). | 4D table name, or "" | +| [text](properties_Object.md#title) | The title of the form object | Any text | +| [textAlign](properties_Text.md#horizontal-alignment) | Horizontal location of text within the area that contains it. | "automatic", "right", "center", "justify", "left" | +| [textAngle](properties_Text.md#orientation) | Modifies the orientation (rotation) of the text area. | 0, 90, 180, 270 | +| [textDecoration](properties_Text.md#underline) | Sets the selected text to have a line running beneath it. | "normal", "underline" | +| [textFormat](properties_Display.md#alpha-format) | Controls the way the alphanumeric fields and variables appear when displayed or printed. | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats | +| [textPlacement](properties_TextAndPicture.md#title-picture-position) | Relative location of the button title in relation to the associated icon. | "left", "top", "right", "bottom", "center" | +| [threeState](properties_Display.md#three-states) | Allows a check box object to accept a third state. | true, false | +| [timeFormat](properties_Display.md#time-format) | Controls the way times appear when displayed or printed. Must only be selected among the 4D built-in formats. | "systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values) | +| [truncateMode](properties_Display.md#trucate-with-ellipsis) | Controls the display of values when list box columns are too narrow to show their full contents. | "withEllipsis", "none" | +| [type](properties_Object.md#type) | Mandatory. Designates the data type of the form object. | "text", "rectangle", "groupBox", "tab", "line", "button", "checkbox", "radio", "dropdown", "combo", "webArea", "write", "subform", "plugin", "splitter", "buttonGrid", "progress", "ruler", "spinner", "stepper", "list", "pictureButton", "picturePopup", "listbox", "input", "view" | +| [tooltip](properties_Help.md) | Provide users with additional information about a field. | Additional information to help a user | +| [top](properties_CoordinatesAndSizing.md#top) | Positions an object at the top (centered). | minimum: 0 | + +## U + +| Property | Description | Possible Values | +| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------- | +| [urlSource](properties_WebArea.md#url) | Designates the the URL loaded or being loading by the associated Web area. | A URL. | +| [useLastFrameAsDisabled](properties_Animation.md#use-last-frame-as-disabled) | Enables setting the last thumbnail as the one to display when the button is disabled. | true, false | +| [userInterface](properties_Appearance.md#user-interface) | 4D View Pro area interface. | "none" (default), "ribbon", "toolbar" | + +## V + +| Property | Description | Possible Values | +| ----------------------------------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | +| [values](properties_DataSource.md#default-list-values) | List of default values for an array listbox column | ex: "A","B","42"... | +| [variableCalculation](properties_Object.md#variable-calculation) | Allows mathematical calculations to be performed. | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" | +| [verticalAlign](properties_Text.md#vertical-alignment) | Vertical location of text within the area that contains it. | "automatic", "top", "middle", "bottom" | +| [verticalLineStroke](properties_Gridlines.md#vertical-line-color) | Defines the color of the vertical lines in a list box (gray by default). | Any CSS value, "'transparent", "automatic" | +| [visibility](properties_Display.md#visibility) | Allows hiding the object in the Application environment. | "visible", "hidden", "selectedRows", "unselectedRows" | + +## W + +| Property | Description | Possible Values | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | +| [webEngine](properties_WebArea.md#use-embedded-web-rendering-engine) | Used to choose between two rendering engines for the Web area, depending on the specifics of the application. | "embedded", "system" | +| [width](properties_CoordinatesAndSizing.md#width) | Designates an object's horizontal size | minimum: 0 | +| [withFormulaBar](properties_Appearance.md#show-formula-bar) | Manages the display of a formula bar with the Toolbar interface in the 4D View Pro area. | true, false | +| [wordwrap](properties_Display.md#wordwrap) | Manages the display of contents when it exceeds the width of the object. | "automatic" (excluding list box), "normal", "none" | + + +## Z + +| Property | Description | Possible Values | +| ------------------------------------- | ------------------------------------------------ | ------------------ | +| [zoom](properties_Appearance.md#zoom) | Zoom percentage for displaying 4D Write Pro area | number (minimum=0) | diff --git a/website/translated_docs/es/FormObjects/properties_ResizingOptions.md b/website/translated_docs/es/FormObjects/properties_ResizingOptions.md new file mode 100644 index 00000000000000..cd7774f0466a8b --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_ResizingOptions.md @@ -0,0 +1,144 @@ +--- +id: propertiesResizingOptions +0: title:Resizing Options +--- + +--- +## Column Auto-Resizing + +When this property is enabled (`rightToLeft` value in JSON), list box columns are automatically resized along with the list box, within the limits of the [minimum](properties_CoordinatesAndSizing.md#minimum-width) and [maximum](properties_CoordinatesAndSizing.md#maximum-width) widths defined. + +When this property is disabled (`legacy` value in JSON), only the rightmost column of the list box is resized, even if its width exceeds the maximum value defined. + +### How column auto-resizing works + +* As the list box width increases, its columns are enlarged, one by one, starting from right to left, until each reaches its [maximum width](properties_CoordinatesAndSizing.md#maximum-width). Only columns with the [Resizable](#resizable) property selected are resized. + +* The same procedure applies when the list box width decreases, but in reverse order (*i.e.*, columns are resized starting from left to right). When each column has reached its [minimum width](properties_CoordinatesAndSizing.md#minimum-width), the horizontal scroll bar becomes active again. + +* Columns are resized only when the horizontal scroll bar is not "active"; *i.e.*, all columns are fully visible in the list box at its current size. **Note**: If the horizontal scroll bar is hidden, this does not alter its state: a scroll bar may still be active, even though it is not visible. + +* After all columns reach their maximum size, they are no longer enlarged and instead a blank (fake) column is added on the right to fill the extra space. If a fake (blank) column is present, when the list box width decreases, this is the first area to be reduced. + +![](assets/en/FormObjects/property_columnAutoResizing.png) + +#### About the fake (blank) column + +The appearance of the fake column matches that of the existing columns; it will have a fake header and/or footer if these elements are present in the existing list box columns and it will have the same background color(s) applied. + +The fake header and/or footer can be clicked but this does not have any effect on the other columns (e.g.: no sort is performed); nevertheless, the `On Clicked`, `On Header Click` and `On Footer Click` events are generated accordingly. + +If a cell in the fake column is clicked, the [LISTBOX GET CELL POSITION](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-GET-CELL-POSITION.301-4311145.en.html) command returns "X+1" for its column number (where X is the number of existing columns). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ----------------------- | +| resizingMode | string | "rightToLeft", "legacy" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Horizontal Sizing + +This property specifies if the horizontal size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +| Option | JSON value | Result | +| ------ | ---------- | ---------------------------------------------------------------------------------------------------------------------- | +| Grow | "grow" | The same percentage is applied to the object’s width when the user resizes the width of the window, | +| Move | "move" | The object is moved the same amount left or right as the width increase when the user resizes the width of the window, | +| None | "fixed" | The object remains stationary when the form is resized | +> This property works in conjunction with the [Vertical Sizing](#vertical-sizing) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | ----------------------- | +| sizingX | string | "grow", "move", "fixed" | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Vertical Sizing + +This property specifies if the vertical size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +| Option | JSON value | Result | +| ------ | ---------- | -------------------------------------------------------------------------------------------------------------------- | +| Grow | "grow" | The same percentage is applied to the object's height when the user resizes the width of the window, | +| Move | "move" | The object is moved the same amount up or down as the height increase when the user resizes the width of the window, | +| None | "fixed" | The object remains stationary when the form is resized | +> This property works in conjunction with the [Horizontal Sizing](#horizontal-sizing) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | ----------------------- | +| sizingY | string | "grow", "move", "fixed" | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Pusher + +When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop. + +Here is the result of a “pusher” splitter being moved: ![](assets/en/FormObjects/splitter_pusher1.png) + +![](assets/en/FormObjects/splitter_pusher3.png) + +When this property is not applied to the splitter, the result is as follows: + +![](assets/en/FormObjects/splitter_pusher2.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:------------ |:---------:|:------------------------------------:| +| splitterMode | string | "move" (pusher), "resize" (standard) | + +#### Objects Supported + +[Splitter](splitterTabControlOverview#splitters) + + + + +--- +## Resizable + +Designates if the size of the column can be modified by the user. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:--------- |:---------:|:---------------:| +| resizable | boolean | "true", "false" | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + diff --git a/website/translated_docs/es/FormObjects/properties_Scale.md b/website/translated_docs/es/FormObjects/properties_Scale.md new file mode 100644 index 00000000000000..c5fec5f7494574 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Scale.md @@ -0,0 +1,137 @@ +--- +id: propertiesScale +title: Scale +--- + +--- +## Barber shop + +Enables the "barber shop" variant for the thermometer. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| ----------------------------------------------------------- | +| [max](#maximum) | number | NOT passed = enabled; passed = disabled (basic thermometer) | + +#### Objects Supported + +[Barber shop](progressIndicator.md#barber-shop) + + + +--- +## Display graduation + +Displays/Hides the graduations next to the labels. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| --------------- | +| showGraduations | boolean | "true", "false" | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Graduation step + +Scale display measurement. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:--------------:|:---------:| --------------- | +| graduationStep | integer | minimum: 0 | + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Label Location + +Specifies the location of an object's displayed text. + +* None - no label is displayed +* Top - Displays labels to the left of or above an indicator +* Bottom - Displays labels to the right of or below an indicator + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| ---------------------------------------- | +| labelsPlacement | string | "none", "top", "bottom", "left", "right" | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Maximum + +Maximum value of an indicator. + +- For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. +- To enable [Barber shop thermometers](progressIndicator.md#barber-shop), this property must be omitted. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------------:| ----------------------------------- | +| max | string / number | minimum: 0 (for numeric data types) | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + +--- +## Minimum + +Minimum value of an indicator. For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------------:| ----------------------------------- | +| min | string / number | minimum: 0 (for numeric data types) | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + +--- +## Step + +Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------:| --------------- | +| step | integer | minimum: 1 | + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + + + diff --git a/website/translated_docs/es/FormObjects/properties_Subform.md b/website/translated_docs/es/FormObjects/properties_Subform.md new file mode 100644 index 00000000000000..b50e4a773b427e --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Subform.md @@ -0,0 +1,169 @@ +--- +id: propertiesSubform +title: Subform +--- + +--- +## Allow Deletion + +Specifies if the user can delete subrecords in a list subform. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------------- | +| deletableInList | boolean | true, false (default: true) | + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## Detail Form + +You use this property to declare the detail form to use in the subform. It can be: + +- a widget, i.e. a page-type subform endowed with specific functions. In this case, the [list subform](#list-form) and [Source](#source) properties must be empty or not present. You can select a component form name when it is published in the component. +> You can generate [components](Concepts/components.md) providing additional functionalities through subforms. + +- the detail form to associate a with the [list subform](#list-form). The detail form can be used to enter or view subrecords. It generally contains more information than the list subform. Naturally, the detail form must belong to the same table as the subform. You normally use an Output form as the list form and an Input form as the detail form. If you do not specify the form to use for full page entry, 4D automatically uses the default Input format of the table. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| detailForm | string | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Double-click on empty row + +Action to perform in case of a double-click on an empty line of a list subform. The following options are available: +- Do nothing: Ignores double-click. +- Add Record: Creates a new record in the subform and changes to editing mode. The record will be created directly in the list if the [Enterable in List] property is enabled. Otherwise, it will be created in page mode, in the [detail form](detail-form) associated with the subform. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------------- | --------- | ---------------------------------- | +| doubleClickInEmptyAreaAction | string | "addSubrecord" or "" to do nothing | + +#### Objects Supported + +[Subform](subform_overview.md) + +#### See also +[Double click on row](#double-click-on-row) + +--- +## Double-click on row + +`List subform` + +Sets the action to be performed when a user double-clicks on a row in a list subform. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the [detail form defined for the list subform](#detail-form). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | ----------------------------------- | +| doubleClickInRowAction | string | "editSubrecord", "displaySubrecord" | + +#### Objects Supported + +[Subform](subform_overview.md) + + +#### See also +[Double click on empty row](#double-click-on-empty-row) + +--- +## Enterable in list + +When a list subform has this property enabled, the user can modify record data directly in the list, without having to use the [associated detail form](#detail-form). + +> To do this, simply click twice on the field to be modified in order to switch it to editing mode (make sure to leave enough time between the two clicks so as not to generate a double-click). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------- | +| enterableInList | boolean | true, false | + + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## List Form + +You use this property to declare the list form to use in the subform. A list subform lets you enter, view, and modify data in other tables. + +List subforms can be used for data entry in two ways: the user can enter data directly in the subform, or enter it in an [input form](#detail-form). In this configuration, the form used as the subform is referred to as the List form. The input form is referred to as the Detail form. + +You can also allow the user to enter data in the List form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| listForm | string | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + + + +--- +## Source + +Specifies the table that the list subform belongs to (if any). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------------------------- | +| table | string | 4D table name, or "" if no table. | + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Enterable in list](subform_overview.md#enterable-in-list) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + - The selected subrecords are returned by the `GET HIGHLIGHTED RECORDS` command. + - Clicking on the record will select it, but it does not modify the current record. + - A **Ctrl+click** (Windows) or **Command+click** (macOS) on a record toggles its state (between selected or not). The Up and Down arrow keys select the previous/next record in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the selected record is changed. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | string | "multiple", "single", "none" | + +#### Objects Supported + +[Subform](subform_overview.md) diff --git a/website/translated_docs/es/FormObjects/properties_Text.md b/website/translated_docs/es/FormObjects/properties_Text.md new file mode 100644 index 00000000000000..3607d96415dfde --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_Text.md @@ -0,0 +1,754 @@ +--- +id: propertiesText +0: title:Text +--- + +--- +## Allow font/color picker + +When this property is enabled, the [OPEN FONT PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-FONT-PICKER.301-4505612.en.html) and [OPEN COLOR PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-COLOR-PICKER.301-4505611.en.html) commands can be called to display the system font and color picker windows. Using these windows, the users can change the font or color of a form object that has the focus directly by clicking. When this property is disabled (default), the open picker commands have no effect. + + +#### JSON Grammar + +| Property | Data Type | Possible Values | +| -------------------- | --------- | --------------------- | +| allowFontColorPicker | boolean | false (default), true | + +#### Objects Supported + +[Input](input_overview.md) + +--- +## Bold + +Sets the selected text to appear darker and heavier. + +You can set this property using the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. +> This is normal text.
    **This is bold text.** + +#### JSON Grammar + +| Property | Data Type | Possible Values | +| ---------- | --------- | ---------------- | +| fontWeight | text | "normal", "bold" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Italic + +Sets the selected text to slant slightly to the right. + +You can also set this property via the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. +> This is normal text.
    *This is text in italics.* + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------ | +| fontStyle | string | "normal", "italic" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +--- +## Underline +Sets the text to have a line running beneath it. +> This is normal text.
    This is underlined text. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | --------------------- | +| textDecoration | string | "normal", "underline" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + + +--- +## Font + +This property allows you to specify either the **font theme** or the **font family** used in the object. +> **Font theme** and **font family** properties are mutually exclusive. A font theme takes hold of font attributes, including size. A font family allows you to define font name, font size and font color. + + +### Font Theme + +The font theme property designates an automatic style name. Automatic styles determine the font family, font size and font color to be used for the object dynamically according to system parameters. These parameters depend on: + +- the platform, +- the system language, +- and the type of form object. + +With the font theme, you are guaranteed that titles are always displayed in accordance with the current interface standards of the system. However, their size may vary from one machine to another. + +Three font themes are available: +- **normal**: automatic style, applied by default to any new object created in the Form editor. +- **main** and **additional** font themes are only supported by [text areas](text.md) and [inputs](input_overview.md). These themes are primarily intended for designing dialog boxes. They refer to font styles used, respectively, for main text and additional information in your interface windows. Here are typical dialog boxes (macOS and Windows) using these font themes: + +![](assets/en/FormObjects/fontThemes.png) + +> Font themes manage the font as well as its size and color. If you modify one of the properties managed by a font theme, it no longer works dynamically. However, you can apply custom style properties (Bold, Italic or Underline) without altering its functioning. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------ | +| fontTheme | string | "normal", "main", "additional" | + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +### Font Family + +There are two types of font family names: + +* *family-name:* The name of a font-family, like "times", "courier", "arial", etc. +* *generic-family:* The name of a generic-family, like "serif", "sans-serif", "cursive", "fantasy", "monospace". + +You can set this using the [**OBJECT SET FONT**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT.301-4054834.en.html) command. +> This is Times New Roman font.
    This is Calibri font.
    This is Papyrus font. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------- | +| fontFamily | string | CSS font family name | +> 4D recommends using only [web safe](https://www.w3schools.com/cssref/css_websafe_fonts.asp) fonts. + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + +--- +## Font Size + +> This property is only available when no [font theme](#font-theme) is selected. + +Allows defining the object's font size in points. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------- | +| fontSize | integer | Font size in points. Minimum value: 0 | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Font Color + +This property specifies the color of the font used in the object. The color can be specified by: + +* a color name - like "red" +* a HEX value - like "#ff0000" +* an RGB value - like "rgb(255,0,0)" + +You can also set this property using the [**OBJECT SET RGB COLORS**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-RGB-COLORS.301-4128232.en.html) command. +> This font is red. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ----------------------------------------- | +| stroke | string | any css value, "transparent", "automatic" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + +--- + +## Font Color Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom font color to each row of the list box. You must use RGB color values. For more information about this, refer to the description of the [OBJECT SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-RGB-COLORS.301-4311385.en.html) command in the 4D Language Reference manual. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. +> This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +The following example uses a variable name: enter *CompanyColor* for the **Font Color Expression** and, in the form method, write the following code: + +```code4d +CompanyColor:=Choose([Companies]ID;Background color;Light shadow color; +Foreground color;Dark shadow color) +``` + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------- | +| rowStrokeSource | string | Font color expression | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + +--- +## Style Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom character style to each row of the list box or each cell of the column. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed (if applied to the list box) or each cell displayed (if applied to a column). You can use the constants of the [Font Styles](https://doc.4d.com/4Dv17R6/4D/17-R6/Font-Styles.302-4310343.en.html) theme. + +Example: + +```code4d +Choose([Companies]ID;Bold;Plain;Italic;Underline) +``` +> This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | ----------------------------------------------- | +| rowStyleSource | string | Style expression to evaluate for each row/cell. | + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Horizontal Alignment + +Horizontal location of text within the area that contains it. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------------------------- | +| textAlign | string | "automatic", "right", "center", "justify", "left" | + +#### Objects Supported + +[Group Box](groupBox.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Header](listbox_overview.md#list-box-footers) - [Text Area](text.md) + + +--- +## Vertical Alignment + +Vertical location of text within the area that contains it. + +The **Default** option (`automatic` JSON value) sets the alignment according to the type of data found in each column: +- `bottom` for all data (except pictures) and +- `top` for picture type data. + +This property can also be handled by the [OBJECT Get vertical alignment](https://doc.4d.com/4Dv18/4D/18/OBJECT-Get-vertical-alignment.301-4505442.en.html) and [OBJECT SET VERTICAL ALIGNMENT](https://doc.4d.com/4Dv18/4D/18/OBJECT-SET-VERTICAL-ALIGNMENT.301-4505430.en.html) commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | -------------------------------------- | +| verticalAlign | string | "automatic", "top", "middle", "bottom" | + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) + + + + + + + + + +--- +## Meta Info Expression +`Collection or entity selection type list boxes` + +Specifies an expression or a variable which will be evaluated for each row displayed. It allows defining a whole set of row text attributes. You must pass an **object variable** or an **expression that returns an object**. The following properties are supported: + +| Property name | Type | Description | +| ------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| stroke | string | Font color. Any CSS color (ex: "#FF00FF"), "automatic", "transparent" | +| fill | string | Background color. Any CSS color (ex: "#F00FFF"), "automatic", "transparent" | +| fontStyle | string | "normal","italic" | +| fontWeight | string | "normal","bold" | +| textDecoration | string | "normal","underline" | +| unselectable | boolean | Designates the corresponding row as not being selectable (*i.e.*, highlighting is not possible). Enterable areas are no longer enterable if this option is enabled unless the "Single-Click Edit" option is also enabled. Controls such as checkboxes and lists remain functional. This setting is ignored if the list box selection mode is "None". Default value: False. | +| disabled | boolean | Disables the corresponding row. Enterable areas are no longer enterable if this option is enabled. Text and controls (checkboxes, lists, etc.) appear dimmed or grayed out. Default value: False. | +| cell.\ | object | Allows applying the property to a single column. Pass in \ the object name of the list box column. **Note**: "unselectable" and "disabled" properties can only be defined at row level. They are ignored if passed in the "cell" object | + +> Style settings made with this property are ignored if other style settings are already defined through expressions (*i.e.*, [Style Expression](#style-expression), [Font Color Expression](#font-color-expression), [Background Color Expression](#background-color-expression)). + +The following example uses the *Color* project method. + +In the form method, write the following code: + +```code4d +//form method +Case of + :(Form event=On Load) + Form.meta:=New object +End case +``` + + +In the *Color* method, write the following code: + +```code4d +//Color method +//Sets font color for certain rows and the background color for a specific column: +C_OBJECT($0) +If(This.ID>5) //ID is an attribute of collection objects/entities + Form.meta.stroke:="purple" + Form.meta.cell:=New object("Column2";New object("fill";"black")) +Else + Form.meta.stroke:="orange" +End if +$0:=Form.meta +``` +> See also the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------ | +| metaSource | string | Object expression to evaluate for each row/cell. | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + + +--- +## Multi-style + +This property enables the possibility of using specific styles in the selected area. When this option is checked, 4D interprets any \ HTML tags found in the area.

    + +

    + By default, this option is not enabled. +

    + + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + styledText + + boolean + + true, false +
    + +

    + Objects Supported +

    + +

    + List Box Column - Input +

    + + + + + + + + +
    +

    + Orientation +

    + +

    + Modifies the orientation (rotation) of a text area. Text areas can be rotated by increments of 90°. Each orientation value is applied while keeping the same lower left starting point for the object: +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Orientation value + + Result +
    + 0 (default) + + +
    + 90 + + +
    + 180 + + +
    + 270 + + +
    + +

    + In addition to static text areas, input text objects can be rotated when they are non-enterable. When a rotation property is applied to an input object, the enterable property is removed (if any). This object is then excluded from the entry order. +

    + + + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + textAngle + + number + + 0, 90, 180, 270 +
    + +

    + Objects Supported +

    + +

    + Input (non-enterable) - Text Area +

    + + + + + +
    +

    + Row Font Color Array +

    + +

    + Array type list boxes +

    + +

    + Allows setting a custom font color to each row of the list box or cell of the column. +

    + +

    + The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the SET RGB COLORS theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. +

    + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + rowStrokeSource + + string + + The name of a longint array +
    + +

    + Objects Supported +

    + +

    + List Box - List Box Column +

    + + + + + +
    +

    + Row Style Array +

    + +

    + Array type list boxes +

    + +

    + Allows setting a custom font style to each row of the list box or each cell of the column. +

    + +

    + The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. To fill the array (using a method), use the constants of the Font Styles theme. You can add constants together to combine styles. If you want the cell to inherit the style defined at the higher level, pass the value -255 to the corresponding array element. +

    + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + rowStyleSource + + string + + The name of a longint array. +
    + +

    + Objects Supported +

    + +

    + List Box - List Box Column +

    + + + +
    +

    + Store with default style tags +

    + +

    + This property is only available for a Multi-style input area. When this property is enabled, the area will store the style tags with the text, even if no modification has been made. In this case, the tags correspond to the default style. When this property is disabled, only modified style tags are stored. +

    + +

    + For example, here is a text that includes a style modification: +

    + +

    + +

    + +

    + When the property is disabled, the area only stores the modification. The stored contents are therefore: +

    + +
    What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!
    +
    + +

    + When the property is enabled, the area stores all the formatting information. The first generic tag describes the default style then each variation is the subject of a pair of nested tags. The contents stored in the area are therefore: +

    + +
    <SPAN STYLE="font-family:'Arial';font-size:9pt;text-align:left;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background-color:#FFFFFF">What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!</SPAN>
    +
    + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + storeDefaultStyle + + boolean + + true, false (default). +
    + +

    + Objects Supported +

    + +

    + Input +

    + + + + + + + + + + + + + + + + + + + + + diff --git a/website/translated_docs/es/FormObjects/properties_TextAndPicture.md b/website/translated_docs/es/FormObjects/properties_TextAndPicture.md new file mode 100644 index 00000000000000..423aba0e270cc1 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_TextAndPicture.md @@ -0,0 +1,252 @@ +--- +id: propertiesTextAndPicture +0: title:Text and Picture +--- + +--- +## Background pathname + +Sets the path of the picture that will be drawn in the background of the object. If the object uses an [icon](#picture-pathname) with [different states](#number-of-states), the background picture will automatically support the same number of states. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------------- | --------- | ------------------------------------------------------------------------------------------------------------ | +| customBackgroundPicture | string | Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option. | + + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## Button Style + +General appearance of the button. The button style also plays a part in the availability of certain options. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-----:|:---------:| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| style | text | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" | + + +#### Objects Supported + +[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Horizontal Margin + +This property allows setting the size (in pixels) of the horizontal margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders: + +| With / Without | Example | +| -------------------- | --------------------------------------------------------- | +| Without margin | ![](assets/en/FormObjects/property_horizontalMargin1.png) | +| With 13-pixel margin | ![](assets/en/FormObjects/property_horizontalMargin2.png) | +> This property works in conjunction with the [Vertical Margin](#vertical-margin) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------------------------------- | +| customBorderX | number | For use with "custom" style. Minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- + +## Icon Location + +Designates the placement of an icon in relation to the form object. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------- | +| iconPlacement | string | "none", "left", "right" | + +#### Objects Supported + +[List Box Header](listbox_overview.md#list-box-headers) + + + + + +--- +## Icon Offset + +Sets a custom offset value in pixels, which will be used when the button is clicked + +The title of the button will be shifted to the right and toward the bottom for the number of pixels entered. This allows applying a customized 3D effect when the button is clicked. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| customOffset | number | minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + +--- +## Number of States + +This property sets the exact number of states present in the picture used as the icon for a [button with icon](button_overview.md), a [check box](checkbox_overview.md) or a custom [radio button](radio_overview.md). In general, a button icon includes four states: active, clicked, mouse over and inactive. + +Each state is represented by a different picture. In the source picture, the states must be stacked vertically: + +![](assets/en/property_numberOfStates.png) + +The following states are represented: +1. button not clicked / check box unchecked (variable value=0) +2. button clicked / check box checked (variable value=1) +3. roll over +4. disabled + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| iconFrames | number | minimum: 1 | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + + +--- +## Picture pathname + +Sets the path of the picture that will be used as icon for the object. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +> When used as icon for active objects, the picture must be designed to support a variable [number of states](#number-of-states). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------- | +| icon | picture | Relative or filesystem path in POSIX syntax. | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) + + + + +--- +## Title/Picture Position + +This property allows modifying the relative location of the button title in relation to the associated icon. This property has no effect when the button contains only a title (no associated picture) or a picture (no title). By default, when a button contains a title and a picture, the text is placed below the picture. + +Here are the results using the various options for this property: + +| Option | Description | Example | +| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- | +| **Left** | The text is placed to the left of the icon. The contents of the button are aligned to the right. | ![](assets/en/FormObjects/property_titlePosition_left.en.png) | +| **Top** | The text is placed above the icon. The contents of the button are centered. | ![](assets/en/FormObjects/property_titlePosition_top.png) | +| **Right** | The text is placed to the right of the icon. The contents of the button are aligned to the left. | ![](assets/en/FormObjects/property_titlePosition_right.png) | +| **Bottom** | The text is placed below the icon. The contents of the button are centered. | ![](assets/en/FormObjects/property_titlePosition_bottom.png) | +| **Centered** | The text of the icon is centered vertically and horizontally in the button. This parameter is useful, for example, for text included in an icon. | ![](assets/en/FormObjects/property_titlePosition_centered.png) | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ------------------------------------------ | +| textPlacement | string | "left", "top", "right", "bottom", "center" | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Vertical Margin + +This property allows setting the size (in pixels) of the vertical margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders. + +> This property works in conjunction with the [Horizontal Margin](#horizontal-margin) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------------------------------- | +| customBorderY | number | For use with "custom" style. Minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## With pop-up menu + +This property allows displaying a symbol that appears as a triangle in the button to indicate the presence of an attached pop-up menu: + +![](assets/en/FormObjects/property_popup.png) + +The appearance and location of this symbol depends on the button style and the current platform. + + +### Linked and Separated + +To attach a pop-up menu symbol to a button, there are two display options available: + +| Linked | Separated | +|:----------------------------------------------------:|:-------------------------------------------------------:| +| ![](assets/en/FormObjects/property_popup_linked.png) | ![](assets/en/FormObjects/property_popup_separated.png) | +> The actual availability of a "separated" mode depends on the style of the button and the platform. + +Each option specifies the relation between the button and the attached pop-up menu: + +
  • When the pop-up menu is **separated**, clicking on the left part of the button directly executes the current action of the button; this action can be modified using the pop-up menu accessible in the right part of the button.
  • When the pop-up menu is **linked**, a simple click on the button only displays the pop-up menu. Only the selection of the action in the pop-up menu causes its execution. + + +### Managing the pop-up menu + +It is important to note that the "With Pop-up Menu" property only manages the graphic aspect of the button. The display of the pop-up menu and its values must be handled entirely by the developer, more particularly using `form events` and the **[Dynamic pop up menu](https://doc.4d.com/4Dv18/4D/18/Dynamic-pop-up-menu.301-4505524.en.html)** and **[Pop up menu](https://doc.4d.com/4Dv17R5/4D/17-R5/Pop-up-menu.301-4127438.en.html)** commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------------- | --------- | ---------------------------------------------------------------------------------------------------- | +| popupPlacement | string |
  • "none"
  • "linked"
  • "separated" | + + +#### Objects Supported + +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#Rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-XP) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/properties_WebArea.md b/website/translated_docs/es/FormObjects/properties_WebArea.md new file mode 100644 index 00000000000000..a690347b17a8e4 --- /dev/null +++ b/website/translated_docs/es/FormObjects/properties_WebArea.md @@ -0,0 +1,103 @@ +--- +id: propertiesWebArea +title: Web Area +--- + +--- +## Access 4D methods + +You can call 4D methods from the JavaScript code executed in a Web area and get values in return. To be able to call 4D methods from a Web area, you must activate the 4D methods accessibility property ("all"). + +> This property is only available if the Web area [uses the embedded Web rendering engine](#use-embedded-web-rendering-engine). + +When this property is on, a special JavaScript object named `$4d` is instantiated in the Web area, which you can [use to manage calls to 4D project methods](webArea_overview.md#4d-object). + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | ----------------------- | +| methodsAccessibility | string | "none" (default), "all" | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + +--- +## Progression + +Name of a Longint type variable. This variable will receive a value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | -------------------------- | +| progressSource | string | Name of a Longint variable | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + + + +--- +## URL + +A String type variable that designates the URL loaded or being loading by the associated Web area. The association between the variable and the Web area works in both directions: + +* If the user assigns a new URL to the variable, this URL is automatically loaded by the Web area. +* Any browsing done within the Web area will automatically update the contents of the variable. + +Schematically, this variable functions like the address area of a Web browser. You can represent it via a text area above the Web area. + +### URL Variable and WA OPEN URL command + +The URL variable produces the same effects as the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. The following differences should nevertheless be noted: +- For access to documents, this variable only accepts URLs that are RFC-compliant ("file://c:/My%20Doc") and not system pathnames ("c:\MyDoc"). The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command accepts both notations. +- If the URL variable contains an empty string, the Web area does not attempt to load the URL. The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command generates an error in this case. +- If the URL variable does not contain a protocol (http, mailto, file, etc.), the Web area adds "http://", which is not the case for the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. +- When the Web area is not displayed in the form (when it is located on another page of the form), executing the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command has no effect, whereas assigning a value to the URL variable can be used to update the current URL. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| urlSource | string | A URL. | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + + + + + +--- +## Use embedded Web rendering engine + +This option allows choosing between two rendering engines for the Web area, depending on the specifics of your application: + +* **unchecked** - `JSON value: system` (default): In this case, 4D uses the "best" engine corresponding to the system. On Windows, 4D automatically uses the most recent version of the browser found on the machine (IE11, MS Edge, etc.). On macOS, 4D uses the current version of WebKit (Safari). This means that you automatically benefit from the latest advances in Web rendering, through HTML5 or JavaScript. However, you may notice some rendering differences between Internet Explorer/Edge implementations and Web Kit ones. +* **checked** - `JSON value: embedded`: In this case, 4D uses Blink engine from Google. Using the embedded Web engine means that Web area rendering and their functioning in your application are identical regardless of the platform used to run 4D (slight variations of pixels or differences related to network implementation may nevertheless be observed). When this option is chosen, you no longer benefit from automatic updates of the Web engine performed by the operating system; however, new versions of the engines are provided through 4D. + + Note that the Blink engine has the following limitations: + * [WA SET PAGE CONTENT](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PAGE-CONTENT.301-4310783.en.html): using this command requires that at least one page is already loaded in the area (through a call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or an assignment to the URL variable associated to the area). + * Execution of Java applets, JavaScripts and plug-ins is always enabled and cannot be disabled in Web areas in Blink. The following selectors of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) and [WA GET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-GET-PREFERENCE.301-4310763.en.html) commands are ignored: + * `WA enable Java applets` + * `WA enable JavaScript` + * `WA enable plugins` + * When URL drops are enabled by the `WA enable URL drop` selector of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command, the first drop must be preceded by at least one call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or one assignment to the URL variable associated to the area. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | -------------------- | +| webEngine | string | "embedded", "system" | + +#### Objects Supported + +[Web Area](webArea_overview.md) \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/radio_overview.md b/website/translated_docs/es/FormObjects/radio_overview.md new file mode 100644 index 00000000000000..aec5e481eabe2c --- /dev/null +++ b/website/translated_docs/es/FormObjects/radio_overview.md @@ -0,0 +1,162 @@ +--- +id: radiobuttonOverview +title: Radio Button +--- + +## Overview + +Radio buttons are objects that allow the user to select one of a group of buttons. + +Usually, a radio button shows a small bullseye with text. However, radio buttons can have [various appearances](#button-styles). + +![](assets/en/FormObjects/radio1.png) + +A radio button is selected: +- when the user clicks on it +- when it has the focus and the user presses the **Space bar** key. + + + +## Configuring radio buttons + +Radio buttons are used in coordinated sets: only one button at a time can be selected in the set. In order to operate in a coordinated manner, a set of radio buttons must share the same [Radio Group](properties_Object.md#radio-group) property. + +Radio buttons are controlled with methods. Like all buttons, a radio button is set to 0 when the form is first opened. A method associated with a radio button executes when the button is selected. The following is an example of a group of radio buttons used in a video collection database to enter the speed of the recording (SP, LP, or EP): + +![](assets/en/FormObjects/radio2.png) + +Selecting one radio button in a group sets that button to 1 and all of the others in the group to 0. Only one radio button can be selected at a time. +> You can associate [Boolean type expressions](properties_Object.md#variable-or-expression) with radio buttons. In this case, when a radio button in a group is selected, its variable is True and the variables for the group's other radio buttons are False. + +The value contained in a radio button object is not saved automatically (except if it is the representation of a Boolean field); radio button values must be stored in their variables and managed with methods. + + + + +## Button Styles + +Radio [button styles](properties_TextAndPicture.md#button-style) control radio button's general appearance as well as its available properties. It is possible to apply different predefined styles to radio buttons. However, the same button style must be applied to all radio buttons in a group so that they work as expected. + +4D provides radio buttons in the following predefined styles: + + +### Regular + +The Regular radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_regular.png) + +In addition to initiating code execution, the Regular radio button style changes bullsey color when being hovered. + + +### Flat + +The Flat radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_flat.png) + +By default, the Flat style has a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + + +### Toolbar + +The Toolbar radio button style is primarily intended for integration in a toolbar. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + +![](assets/en/FormObjects/radio_toolbar.png) + + - *macOS* - the highlight of the button never appears. + + + +### Bevel + +The Bevel radio button style is similar to the [Toolbar](#toolbar) style's behavior, except that it has a light gray background and a gray outline. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + + ![](assets/en/FormObjects/radio_bevel.png) + + - *macOS* - the highlight of the button never appears. + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the corners of the button are rounded. ![](assets/en/FormObjects/roundedBevel.png) + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the button is displayed as a two-tone system button. + + + +### OS X Textured + +The OS X Textured radio button style is nearly identical to the [Toolbar](#toolbar) style except, depending on the OS, it may have a different appearance and does not display hover. + +By default, the OS X Textured style appears as: + + - *Windows* - a toolbar-like button with a label in the center and the background is always displayed. + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/OSXTextured.png) + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + + ![](assets/en/FormObjects/radio_xp.png) + + - *macOS* - its background is always displayed. + + + +### Collapse / Expand + +This button style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. In Windows, the button looks like a [+] or a [-]; in macOS, it looks like a triangle pointing right or down. + +![](assets/en/FormObjects/checkbox_collapse.png) + + + +### Disclosure Button + +The disclosure radio button style displays the radio button as a standard disclosure button, usually used to show/hide additional information. The button symbol points downwards with value 0 and upwards with value 1. + +![](assets/en/FormObjects/checkbox_disclosure.png) + + +### Custom + +The Custom radio button style accepts a personalized background picture and allows managing additional parameters such as [icon offset](properties_TextAndPicture.md#icon-offset) and [margins](properties_TextAndPicture.md#horizontalMargin). + + +## Supported properties + +All radio buttons share the same set of basic properties: + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Radio Group](properties_Object.md#radio-group) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +Additional specific properties are available depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/website/translated_docs/es/FormObjects/shapes_overview.md b/website/translated_docs/es/FormObjects/shapes_overview.md new file mode 100644 index 00000000000000..ff3ad307660bc6 --- /dev/null +++ b/website/translated_docs/es/FormObjects/shapes_overview.md @@ -0,0 +1,109 @@ +--- +id: shapesOverview +title: Shapes +--- + +Shapes are [static objects](formObjects_overview.md#active-and-static-objects) that can be added to 4D forms. + +4D forms support the following basic shapes: + +- rectangles +- lines +- ovals + + +## Rectangle + +A static rectangle is a decorative object for forms. Rectangles are constrained to squared shapes. + +The design of rectangles is controlled through many properties (color, line thickness, pattern, etc.). Specifically, the [roundness](properties_CoordinatesAndSizing.md#corner-radius) of its corners can be defined. + +![](assets/en/FormObjects/shapes_rectangle2.png) + +#### JSON Example: + +```code4d + "myRectangle": { + "type": "rectangle", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "borderRadius": 20 //define the roundness of the corners + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Corner radius](properties_CoordinatesAndSizing.md#corner-radius) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Line + +A static line is a decorative object for forms, drawn between two plots. Lines can be horizontal, vertical, or of any angle shapes. + +The design of lines is controlled through many properties (color, line thickness, etc.). + + +### startPoint property +The `startPoint` JSON property defines from which coordinate to draw the line (see example). + +> the `startPoint` property is not exposed in the Property List, where the line drawing direction is visible. + + + +#### JSON Examples: + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "topLeft", //first direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: ![](assets/en/FormObjects/shape_line1.png) + + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "bottomLeft", //2nd direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: ![](assets/en/FormObjects/shape_line2.png) + + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [startPoint](#startpoint-property) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Oval + +A static oval is a decorative object for forms. Oval objects can be used to draw circular shapes (when [width](properties_CoordinatesAndSizing.md#width) and [height](properties_CoordinatesAndSizing.md#height) properties are equal). + +![](assets/en/FormObjects/shape_oval.png) + +#### JSON Example: + +```code4d + "myOval": { + "type": "oval", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "fill": "blue" //define the background color + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/website/translated_docs/es/Project/architecture.md b/website/translated_docs/es/Project/architecture.md index 0328abafded2cb..8f83ae580be225 100644 --- a/website/translated_docs/es/Project/architecture.md +++ b/website/translated_docs/es/Project/architecture.md @@ -190,7 +190,7 @@ This folder contains files that memorize user configurations, e.g. break point p This folder contains the components to be available in the project database only. It must be stored at the same level as the Project folder. -> A project database can be used itself as a component: - for development: put an alias of the .4dproject file in the Components folder of the host database. - for deployment: put the component as .4dz file (see [Building a project package](building.md)) in a .4dbase folder, just like with .4db/.4dc files. +> A project database can be used itself as a component: - for development: put an alias of the .4dproject file in the Components folder of the host database. - for deployment: build the component (see [Building a project package](building.md)) and put the resulting .4dz file in a .4dbase folder in the Components folder of the host database. ## Plugins folder diff --git a/website/translated_docs/fr/FormObjects/buttonGrid_overview.md b/website/translated_docs/fr/FormObjects/buttonGrid_overview.md new file mode 100644 index 00000000000000..95d18109eb58ff --- /dev/null +++ b/website/translated_docs/fr/FormObjects/buttonGrid_overview.md @@ -0,0 +1,35 @@ +--- +id: buttonGridOverview +title: Button Grid +--- + +## Aperçu + +A button grid is a transparent object that is placed on top of a graphic. The graphic should depict a row-by-column array. When one of the graphics is clicked on, it will have a sunken or pressed appearance: + +![](assets/en/FormObjects/buttonGrid_smileys.png) + +You can use a button grid object to determine where the user clicks on the graphic. The object method would use the `On Clicked` event and take appropriate action depending on the location of the click. + + +## Creating button grids + +To create the button grid, add a background graphic to the form and place a button grid on top of it. Specify the number of [rows](properties_Crop.md#rows) and [columns](properties_Crop.md#columns). + +In 4D, a button grid is used as a color palette: + +![](assets/en/FormObjects/button_buttonGrid.png) + +## Using button grids + +The buttons on the grid are numbered from top left to bottom right. In the above example, the grid is 16 columns across by 16 rows down. The button in the top-left position returns 1 when clicked. If the red button at the far right of the second row is selected, the button grid returns 32. If no element is selected, the value is 0 + + +### Goto page + +You can assign the `gotoPage` [standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) to a button grid. When this action is selected, 4D will automatically display the page of the form that corresponds to the number of the button that is selected in the button grid. For example, if the user selects the tenth button of the grid, 4D will display the tenth page of the current form (if it exists). + + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Standard action](properties_Action.md#standard-action) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Width](properties_CoordinatesAndSizing.md#width) - [Visibility](properties_Display.md#visibility) \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/button_overview.md b/website/translated_docs/fr/FormObjects/button_overview.md new file mode 100644 index 00000000000000..72ed394a8facba --- /dev/null +++ b/website/translated_docs/fr/FormObjects/button_overview.md @@ -0,0 +1,366 @@ +--- +id: buttonOverview +title: Button +--- + +A button is an active object that can be assigned an action (*e.g.*, a database task or an interface function) to perform when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +Buttons can fulfill a variety of roles, depending on their style and the action assigned to it. For example, buttons could lead a user through a questionnaire or form to complete, or to make choices. Depending on its settings, a button may be designed to be clicked only once and execute a command, while others may require the user to click more than once to receive the desired result. + +

    + +## Handling buttons + +The actions assigned to buttons can originate from predefined [standard actions](properties_Action.md#standard-action) or from custom object methods. Examples of typical actions include letting the user accept, cancel, or delete records, copy or paste data, move from page to page in a multi-page form, open, delete, or add records in a subform, handle font attributes in text areas, etc. + +Buttons with standard actions are dimmed when appropriate during form execution. For example, if the first record of a table is displayed, a button with the `firstRecord` standard action would appear dimmed. + +If you want a button to perform an action that's not available as a standard action, leave the standard action field empty and write an object method to specify the button’s action. For more information about object methods and how to create and associate them, see [Using object methods](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-object-methods.300-4163733.en.html). Normally, you would activate the `On Clicked` event and the method would run only when the button is clicked. You can associate a method with any button. + +The [variable](properties_Object.md#variable-or-expression) associated with a button is automatically set to **0** when the form is executed for the first time in Design or Application mode. When the user clicks a button, its variable is set to **1**. + +> A button can be assigned both a standard action and a method. In this case, if the button is not disabled by the standard action, the method is executed before the standard action. + + + +## Button Styles + +Button styles control a button's general appearance as well as its available properties. It is possible to apply different predefined styles to buttons or to associate pop-up menus with them. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many button objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides buttons in the following predefined styles: + + + +### Regular + +The Regular button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +By default, the Regular style has a light gray background with a label in the center. When the cursor hovers over the Regular button style, the border and background color change to demonstrate that it has the focus. In addition to initiating code execution, the Regular button style mimics a mechanical button by quickly changing background color when being clicked. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", //define the type of object + "style":"regular", //define the style of the button + "defaultButton":"true" //define button as the default choice + "text": "OK", //text to appear on the button + "action": "Cancel", //action to be be performed + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the button + "height": 20 //height of the button + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + + +### Flat + +The Flat button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_flat.png) + +By default, the Flat style has a white background with a label in the center, rounded corners, and a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + +#### JSON Example: + +```code4d + + "myButton": { + "type": "button", + "style":"flat", + "defaultButton":"true" + "text": "OK", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + +### Toolbar + +The Toolbar button style is primarily intended for integration in a toolbar. It includes the option to add a pop-up menu (indicated by an inverted triangle) which is generally used to display additional choices for the user to select. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted when it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_toolbar.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"toolbar", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel button style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive label) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_bevel.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"bevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Rounded Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + + ![](assets/en/FormObjects/button_roundedbevel.png) + + - *macOS* - the corners of the button are rounded. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"roundedBevel", + "text": "OK", + "popupPlacement":"none" / + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Gradient style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_osxgradient.png) + + - *macOS* - the button is displayed as a two-tone system button. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"gradientBevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### OS X Textured + +The OS X Textured button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light gray background with a label in the center. It has the special feature of being transparent in Vista. + + ![](assets/en/FormObjects/button_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"texturedBevel", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's transparency and pop-up menu property option. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + +![](assets/en/FormObjects/button_officexp.png) + + - *macOS* - its background is always displayed. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"office", + "text": "OK", + "popupPlacement":"none" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Help + + +The Help button style can be used to display a standard system help button. By default, the Help style is displayed as a question mark within a circle. + +![](assets/en/FormObjects/button_help.png) + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"help", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + +> The Help style does not support [Number of States](properties_TextAndPicture.md#number-of-states), [Picture pathname](properties_TextAndPicture.md#picture-pathname), and [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) basic properties. + + +### Circle + +The Circle button style appears as a round system button. This button style is designed for macOS. + +![](assets/en/FormObjects/button_circleM.png) + +On Windows, it is identical to the “None” style (the circle in the background is not taken into account). + + +#### JSON Example: + +``` + "myButton": { + "type": "button", + "style":"circular", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Custom + +The Custom button style accepts a personalized background picture and allows managing additional parameters such as icon and margin offset. + +![](assets/en/FormObjects/button_custom.png) + + +#### JSON Example: + +```code + "myButton": { + "type": "button", + "style":"custom", + "text": "", + "customBackgroundPicture": "/RESOURCES/bkgnd.png", + "icon": "/RESOURCES/custom.png", + "textPlacement": "center", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +## Supported Properties + +All buttons share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Not rendered](properties_Display.md#not-rendered) - [Number of States](properties_TextAndPicture.md#number-of-states)(1) - [Object Name](properties_Object.md#object-name) - [Picture pathname](properties_TextAndPicture.md#picture-pathname)(1) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position)(1) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +> (1) Not supported by the [Help](#help) style. + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Default Button](properties_Appearance.md#default-button) (Flat, Regular) +- [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) - [With pop-up menu](properties_TextAndPicture.md#with-popup-menu) (Toolbar, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Circle, Custom) + diff --git a/website/translated_docs/fr/FormObjects/checkbox_overview.md b/website/translated_docs/fr/FormObjects/checkbox_overview.md new file mode 100644 index 00000000000000..80042c568a6516 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/checkbox_overview.md @@ -0,0 +1,420 @@ +--- +id: checkboxOverview +title: Check Box +--- + +## Aperçu + +A check box is a type of button used to enter or display binary (true-false) data. Basically, it is either checked or unchecked, but a third state can be defined (see below). + +![](assets/en/FormObjects/checkbox.png) + +Check boxes are controlled by methods. Like all buttons, a check box variable is set to 0 when the form is first opened. The method associated with it executes when the check box is selected. + +A check box displays text next to a small square. This text is set in the [Title](properties_Object.md#title) property of the check box. You can enter a title in the form of an XLIFF reference in this area (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + + +## Using check boxes + +A check box can be associated to a [variable or expression](properties_Object.md#variable-or-expression) of type integer or boolean. + +- **integer:** if the box is checked, the variable has the value 1. When not checked, it has the value 0. If check box is in third state (see below), it has the value 2. +- **boolean:** if the box is checked, the variable has the value `True`. When not checked, it has the value `False`. + +Any or all check boxes in a form can be checked or unchecked. A group of check boxes allows the user to select multiple options. + + +### Three-States check box + +Check box objects with style [Regular](checkbox_overview.md#regular) and [Flat](checkbox_overview.md#flat) accept a third state. This third state is an intermediate status, which is generally used for display purposes. For example, it allows indicating that a property is present in a selection of objects, but not in each object of the selection. + +![](assets/en/FormObjects/checkbox_3states.png) + +To enable this third state, you must select the [Three-States](properties_Display.md#three-states) property. + +This property is only available for regular and flat check boxes associated with numeric [variables or expressions](properties_Object.md#variable-or-expression) — check boxes for Boolean expressions cannot use the [Three-States](properties_Display.md#three-states) property (a Boolean expression cannot be in an intermediary state). + +The variable associated with the check box returns the value 2 when the check box is in the third state. +> In entry mode, the Three-States check boxes display each state sequentially, in the following order: unchecked / checked / intermediary / unchecked, etc. The intermediary state is generally not very useful in entry mode; in the code, simply force the value of the variable to 0 when it takes the value of 2 in order to pass directly from the checked state to the unchecked state. + + +## Using a standard action + +You can assign a [standard action](properties_Action.md#standard-action) to a check box to handle attributes of text areas. For example, if you assign the `fontBold` standard action, at runtime the check box will manage the "bold" attribute of the selected text in the current area. + +Only actions that can represent a true/false status ("checkable" actions) are supported by this object: + +| Supported actions | Usage condition (if any) | +| ----------------------------------- | ------------------------ | +| avoidPageBreakInsideEnabled | 4D Write Pro areas only | +| fontItalic | | +| fontBold | | +| fontLinethrough | | +| fontSubscript | 4D Write Pro areas only | +| fontSuperscript | 4D Write Pro areas only | +| fontUnderline | | +| font/showDialog | Mac only | +| htmlWYSIWIGEnabled | 4D Write Pro areas only | +| section/differentFirstPage | 4D Write Pro areas only | +| section/differentLeftRightPages | 4D Write Pro areas only | +| spell/autoCorrectionEnabled | | +| spell/autoDashSubstitutionsEnabled | Mac only | +| spell/autoLanguageEnabled | Mac only | +| spell/autoQuoteSubstitutionsEnabled | Mac only | +| spell/autoSubstitutionsEnabled | | +| spell/enabled | | +| spell/grammarEnabled | Mac only | +| spell/showDialog | Mac only | +| spell/visibleSubstitutions | | +| visibleBackground | 4D Write Pro areas only | +| visibleFooters | 4D Write Pro areas only | +| visibleHeaders | 4D Write Pro areas only | +| visibleHiddenChars | 4D Write Pro areas only | +| visibleHorizontalRuler | 4D Write Pro areas only | +| visiblePageFrames | 4D Write Pro areas only | +| visibleReferences | | +| widowAndOrphanControlEnabled | 4D Write Pro areas only | + +For detailed information on these actions, please refer to the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section. + +## Check box button styles + +Check box styles control a check box's general appearance as well as its available properties. It is possible to apply different predefined styles to check boxes. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many check box objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides check boxes in the following predefined styles: + +### Regular + +The Regular check box style is a standard system check box (*i.e.*, a rectangle with a descriptive title): + +![](assets/en/FormObjects/checkbox_regular.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"regular", + "text": "Cancel", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + "dataSourceTypeHint":"boolean" + } +``` + + + +### Flat + +The Flat check box style is a minimalist appearance. The Flat style's graphic nature is particularly useful for forms that will be printed. + +![](assets/en/FormObjects/checkbox_flat.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"flat", + "text": "Cancel", + "action": "cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Toolbar button + +The Toolbar button check box style is primarily intended for integration in a toolbar. + +The Toolbar style has a transparent background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_toolbar.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"toolbar", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel check box style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive title) style with the [Toolbar](#toolbar) style's behavior. + +The Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_bevel.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"bevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The Rounded Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example on macOS: + + ![](assets/en/FormObjects/checkbox_roundedbevel_mac.png) + +> on Windows, the Rounded Bevel style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +```code4d + "myCheckBox": { + "type": "checkbox", + "style":"roundedBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The OS X Gradient style has a light gray background with a title and is displayed as a two-tone system button on macOS. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + + ![](assets/en/FormObjects/checkbox_osxgradient_mac.png) + +> On Windows, this style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"gradientBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### OS X Textured + +The OS X Textured checkbox style is similar to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light blue background with a title in the center. + + ![](assets/en/FormObjects/checkbox_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/checkbox_osxtextured_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"texturedBevel", + "text": "Checkbox", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### Office XP + +The Office XP check box style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. Example with states unchecked / checked / highlighted: + + ![](assets/en/FormObjects/checkbox_officexp.png) + + - *macOS* - its background is always displayed. Example with states unchecked / checked: + + ![](assets/en/FormObjects/checkbox_officexp_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"office", + "text": "Checkbox", + "action": "fontBold", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Collapse / Expand + +This check box style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. + + - *Windows* - the button looks like a [+] or a [-] + + ![](assets/en/FormObjects/checkbox_collapse.png) + + - *macOS* - it looks like a triangle pointing right or down. + + ![](assets/en/FormObjects/checkbox_collapse_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"disclosure", + "method": "m_collapse", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Disclosure Button + +In macOS and Windows, a check box with the "Disclosure" style appears as a standard disclosure button, usually used to show/hide additional information. When used as a radio button, the button symbol points downwards with value 0 and upwards with value 1. + + - *Sous Windows* + + ![](assets/en/FormObjects/checkbox_disclosure.png) + + - *macOS* + + ![](assets/en/FormObjects/checkbox_disclosure_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"roundedDisclosure", + "method": "m_disclose", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### Custom + +The Custom check box style accepts a personalized background picture and allows managing specific properties: + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) +- [Icon Offset](properties_TextAndPicture.md#icon-offset) +- [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) and [Vertical Margin](properties_TextAndPicture.md#verticalMargin) + +It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states), that can be used in conjunction with a [4-state](properties_TextAndPicture.md#number-of-states) [background picture](properties_TextAndPicture.md#backgroundPathname). + +#### JSON Example: + +``` + "myCheckbox": { + "type": "checkbox", + "style":"custom", + "text": "OK", + "icon": "/RESOURCES/smiley.jpg", + "iconFrame": 4, + "customBackgroundPicture": "/RESOURCES/paper.jpg", + "iconOffset": 5, //custom icon offset when clicked + "left": 60, + "top": 160, + "width": 100, + "height": 20, + "customBorderX": 20, + "customBorderY": 5 + } +``` + + + + +## Supported Properties + +All check boxes share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Three-States](properties_Display.md#three-states) (Flat, Regular) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/input_overview.md b/website/translated_docs/fr/FormObjects/input_overview.md new file mode 100644 index 00000000000000..8dc610d5877e51 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/input_overview.md @@ -0,0 +1,44 @@ +--- +id: inputOverview +title: Input +--- + +## Aperçu + +Inputs allow you to add enterable or non-enterable expressions such as database [fields](Concepts/identifiers.md#fields) and [variables](Concepts/variables.md) to your forms. Inputs can handle character-based data (text, dates, numbers...) or pictures: + +![](assets/en/FormObjects/input.png) + +Inputs can contain [assignable or non-assignable expressions](Concepts/quick-tour.md#assignable-vs-non-assignable-expressions). + +In addition, inputs can be [enterable or non-enterable](properties_Entry.md#enterable). An enterable input accepts data. You can set data entry controls for the object. A non-enterable input can only display values but cannot be edited by the user. + +You can manage the data with object or form [methods](Concepts/methods.md). + + +### JSON Example: + +```code4d + "myText": { + "type": "input", //define the type of object + "spellcheck": true, //enable spelling verification + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20 //height of the object + } +``` + + +## Supported Properties +[Alpha Format](properties_Display.md#alpha-format) - [Auto Spellcheck](properties_Entry.md#auto-spellcheck) - [Border Line Style](properties_BackgroundAndBorder.md) - [Bold](properties_Text.md#bold) - [Boolean Format](properties_Display.md#boolean-format) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#class) - [Context Menu](properties_Entry.md#context-menu) - [Date Format](properties_Display.md#date-format) - [Default value](properties_RangeOfValues.md#default-value) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression type](properties_Object.md#expression-type) - [Fill Color](properties_BackgroundAndBorder.md#fill-color) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Multiline](properties_Entry.md#multiline) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Orientation](properties_Text.md#orientation) - [Picture Format](properties_Display.md#picture-format) - [Placeholder](properties_Entry.md#placeholder) - [Print Frame](properties_Print.md#print-frame) - [Required List](properties_RangeOfValues.md#required-list) - [Right](properties_CoordinatesAndSizing.md#right) - [Save as](properties_DataSource.md#save-as) - [Selection always visible](properties_Entry.md#selection-always-visible) - [Store with default style tags](properties_Text.md#store-with-default-style-tags) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - \[Vertical Sizing\](properties_ResizingOptions.md#vertical -sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +--- +## Input alternatives + +You can also represent field and variable expressions in your forms using alternative objects, more particularly: + +* You can display and enter data from database fields directly in columns of [selection type List boxes](listbox_overview.md). +* You can represent a list field or variable directly in a form using [Pop-up Menus/Drop-down Lists](popupMenuDropdownList_overview) and [Combo Boxes](comboBox_overview.md) objects. +* You can represent a boolean expression as a [check box](checkbox_overview.md) or as a [radio button](radio_overview.md) object. \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/listbox_overview.md b/website/translated_docs/fr/FormObjects/listbox_overview.md new file mode 100644 index 00000000000000..01386e6c4d177b --- /dev/null +++ b/website/translated_docs/fr/FormObjects/listbox_overview.md @@ -0,0 +1,1089 @@ +--- +id: listboxOverview +title: List Box +--- + +## Aperçu + +List boxes are complex active objects that allow displaying and entering data as synchronized columns. They can be bound to database contents such as entity selections and record sections, or to any language contents such as collections and arrays. They include advanced features regarding data entry, column sorting, event managemet, customized appearance, moving of columns, etc. + +![](assets/en/FormObjects/listbox.png) + +A list box contains one or more columns whose contents are automatically synchronized. The number of columns is, in theory, unlimited (it depends on the machine resources). + +### Basic user features + +During execution, list boxes allow displaying and entering data as lists. To make a cell editable ([if entry is allowed for the column](#managing-entry)), simply click twice on the value that it contains: + +![](assets/en/FormObjects/listbox_edit.png) + +Users can enter and display the text on several lines within a list box cell. To add a line break, press **Ctrl+Carriage return** on Windows or **Option+Carriage return** on macOS. + +Booleans and pictures can be displayed in cells, as well as dates, times, or numbers. It is possible to sort column values by clicking on a header ([standard sort](#managing-sorts)). All columns are automatically synchronized. + +It is also possible to resize each column, and the user can modify the order of [columns](properties_ListBox.md#locked-columns-and-static-columns) and [rows](properties_Action.md#movable-rows) by moving them using the mouse, if this action is authorized. Note that list boxes can be used in [hierarchical mode](#hierarchical-list-boxes). + +The user can select one or more rows using the standard shortcuts: **Shift+click** for an adjacent selection and **Ctrl+click** (Windows) or **Command+click** (macOS) for a non-adjacent selection. + + +### List box parts + +A list box is composed of four distinct parts: + +* the list box object in its entirety, +* columns, +* column headers, and +* column footers. + +![](assets/en/FormObjects/listbox_parts.png) + +Each part has its own name as well as specific properties. For example, the number of columns or the alternating color of each row is set in the list box object properties, the width of each column is set in the column properties, and the font of the header is set in the header properties. + +It is possible to add an object method to the list box object and/or to each column of the list box. Object methods are called in the following order: + +1. Object method of each column +2. Object method of the list box + +The column object method gets events that occur in its [header](#list-box-headers) and [footer](#list-box-footers). + + + +### List box types + +There are several types of list boxes, with their own specific behaviors and properties. The list box type depends on its [Data Source property](properties_Object.md#data-source): + +- **Arrays**: each column is bound to a 4D array. Array-based list boxes can be displayed as [hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes). +- **Selection** (**Current selection** or **Named selection**): each column is bound to an expression (e.g. a field) which is evaluated for every record of the selection. +- **Collection or Entity selection**: each column is bound to an expression which is evaluated for every element of the collection or every entity of the entity selection. +> It is not possible to combine different list box types in the same list box object. The data source is set when the list box is created. It is then no longer possible to modify it by programming. + + +### Managing list boxes + +You can completely configure a list box object through its properties, and you can also manage it dynamically through programming. + +The 4D Language includes a dedicated "List Box" theme for list box commands, but commands from various other themes, such as "Object properties" commands or `EDIT ITEM`, `Displayed line number` commands can also be used. Refer to the [List Box Commands Summary](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box-Commands-Summary.300-4311159.en.html) page of the *4D Language reference* for more information. + + + +## List box objects + +### Array list boxes + +In an array list box, each column must be associated with a one-dimensional 4D array; all array types can be used, with the exception of pointer arrays. The number of rows is based on the number of array elements. + +By default, 4D assigns the name “ColumnX” to each column variable, and thus to each associated array. You can change it, as well as other column properties, in the [column properties](listbox_overview.md#column-specific-properties). The display format for each column can also be defined using the `OBJECT SET FORMAT` command +> Array type list boxes can be displayed in [hierarchical mode](listbox_overview.md#hierarchical-list-boxes), with specific mechanisms. + +With array type list box, the values entered or displayed are managed using the 4D language. You can also associate a [choice list](properties_DataSource.md#choice-list) with a column in order to control data entry. The values of columns are managed using high-level List box commands (such as `LISTBOX INSERT ROWS` or `LISTBOX DELETE ROWS`) as well as array manipulation commands. For example, to initialize the contents of a column, you can use the following instruction: + +```code4d +ARRAY TEXT(ColumnName;size) +``` + +You can also use a list: + +```code4d +LIST TO ARRAY("ListName";ColumnName) +``` +> **Warning**: When a list box contains several columns of different sizes, only the number of items of the smallest array (column) will be displayed. You should make sure that each array has the same number of elements as the others. Also, if a list box column is empty (this occurs when the associated array was not correctly declared or sized using the language), the list box displays nothing. + + + + +### Selection list boxes + +In this type of list box, each column can be associated with a field (for example `[Employees]LastName)` or an expression. The expression can be based on one or more fields (for example, `[Employees]FirstName+" "[Employees]LastName`) or it may simply be a formula (for example `String(Milliseconds)`). The expression can also be a project method, a variable or an array item. You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +The contents of each row is then evaluated according to a selection of records: the **current selection** of a table or a **named selection**. + +In the case of a list box based on the current selection of a table, any modification done from the database side is automatically reflected in the list box, and vice versa. The current selection is therefore always the same in both places. + + +### Collection or Entity selection list boxes + +In this type of list box, each column must be associated to an expression. The contents of each row is then evaluated per collection element or per entity of the entity selection. + +Each element of the collection or each entity is available as an object that can be accessed through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. A column expression can be a project method, a variable, or any formula, accessing each entity or collection element object through `This`, for example `This.` (or `This.value` in case of a collection of scalar values). You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +When the data source is an entity selection, any modifications made on the list box side are automatically saved in the database. On the other hand, modifications made on the database side are visible in the list box after touched entities have been reloaded. + +When the data source is a collection, any modifications made in the list box values are reflected in the collection. On the other hand, if modifications are done on the collection using for example the various methods of the *Collections* theme, you will need to explicitely notify 4D by reassigning the collection variable to itself, so that the list box contents is refreshed. Par exemple: + +```code4d +myCol:=myCol.push("new value") //display new value in list box +``` + + + +### Supported Properties + +Supported properties depend on the list box type. + + +| Property | Array list box | Selection list box | Collection or Entity Selection list box | +| -------------------------------------------------------------------------------------------- | -------------- | ------------------ | --------------------------------------- | +| [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) | X | X | X | +| [Background Color](properties_BackgroundAndBorder.md#background-color) | X | X | X | +| [Bold](properties_Text.md#bold) | X | X | X | +| [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) | | X | X | +| [Border Line Style](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) | X | X | X | +| [Bottom](properties_CoordinatesAndSizing.md#bottom) | X | X | X | +| [Class](properties_Object.md#class) | X | X | X | +| [Collection or entity selection](properties_Object.md#collection-or-entity-selection) | | X | X | +| [Column Auto-Resizing](properties_ResizingOptions.md#column-auto-resizing) | X | X | X | +| [Current item](properties_DataSource.md#current-item) | | | X | +| [Current item position](properties_DataSource.md#current-item-position) | | | X | +| [Data Source](properties_Object.md#data-source) | X | X | X | +| [Detail Form Name](properties_ListBox.md#detail-form-name) | | X | | +| [Display Headers](properties_Headers.md#display-headers) | X | X | X | +| [Display Footers](properties_Footers.md#display-footers) | X | X | X | +| [Double-click on row](properties_ListBox.md#double-click-on-row) | | X | | +| [Draggable](properties_Action.md#droppable) | X | X | X | +| [Droppable](properties_Action.md#droppable) | X | X | X | +| [Focusable](properties_Entry.md#focusable) | X | X | X | +| [Font](properties_Text.md#font) | X | X | X | +| [Font Color](properties_Text.md#font_color) | X | X | X | +| [Font Color Expression](properties_Text.md#font-color-expression) | | X | X | +| [Font Size](properties_Text.md#font-size) | X | X | X | +| [Height (list box)](properties_CoordinatesAndSizing.md#height) | X | X | X | +| [Height (headers)](properties_Headers.md#height) | X | X | X | +| [Height (footers)](properties_Footers.md#height) | X | X | X | +| [Hide extra blank rows](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | X | X | X | +| [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) | X | X | X | +| [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) | X | X | X | +| [Hierarchical List Box](properties_Object.md#hierarchical-list-box) | X | | | +| [Highlight Set](properties_ListBox.md#highlight-set) | | X | | +| [Horizontal Alignment](properties_Text.md#horizontal-alignment) | X | X | X | +| [Horizontal Line Color](properties_Gridlines.md#horizontal-line-color) | X | X | X | +| [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) | X | X | X | +| [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) | X | X | X | +| [Italic](properties_Text.md#italic) | X | X | X | +| [Left](properties_CoordinatesAndSizing.md#left) | X | X | X | +| [Master Table](properties_DataSource.md#table) | | X | | +| [Meta info expression](properties_Text.md#meta-info-expression) | | | X | +| [Method](properties_Action.md#method) | X | X | X | +| [Movable Rows](properties_Action.md#movable-rows) | X | | | +| [Sélection temporaire](properties_DataSource.md#selectionName) | | X | | +| [Number of Columns](properties_ListBox.md#number-of-columns) | X | X | X | +| [Number of Locked Columns](properties_ListBox.md#number-of-locked-columns) | X | X | X | +| [Number of Static Columns](properties_ListBox.md#number-of-static-columns) | X | X | X | +| [Nom d'objet](properties_Object.md#object-name) | X | X | X | +| [Right](properties_CoordinatesAndSizing.md#right) | X | X | X | +| [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) | X | | | +| [Row Control Array](properties_ListBox.md#row-control-array) | X | | | +| [Row Font Color Array](properties_Text.md#row-font-color-array) | X | | | +| [Row Height](properties_CoordinatesAndSizing.md#row-height) | X | | | +| [Row Height Array](properties_CoordinatesAndSizing.md#row-height-array) | X | | | +| [Row Style Array](properties_Text.md#row-style-array) | X | | | +| [Selected Items](properties_DataSource.md#selected-items) | | | X | +| [Selection Mode](properties_ListBox.md#selection-mode) | X | X | X | +| [Single-Click Edit](properties_Entry.md#single-click-edit) | X | X | X | +| [Sortable](properties_Action.md#sortable) | X | X | X | +| [Standard action](properties_Action.md#standard-action) | X | | | +| [Style Expression](properties_Text.md#style-expression) | | X | X | +| [Top](properties_CoordinatesAndSizing.md#top) | X | X | X | +| [Transparent](properties_BackgroundAndBorder.md#transparent) | X | X | X | +| [Type](properties_Object.md#type) | X | X | X | +| [Underline](properties_Text.md#underline) | X | X | X | +| [Variable or Expression](properties_Object.md#variable-or-expression) | X | X | | +| [Vertical Alignment](properties_Text.md#vertical-alignment) | X | X | X | +| [Vertical Line Color](properties_Gridlines.md#vertical-line-color) | X | X | X | +| [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) | X | X | X | +| [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) | X | X | X | +| [Visibility](properties_Display.md#visibility) | X | X | X | +| [Width](properties_CoordinatesAndSizing.md#width) | X | X | X | + + +> List box columns, headers and footers support specific properties. + + + + + +## List box columns + +A list box is made of one or more column object(s) which have specific properties. You can select a list box column in the Form editor by clicking on it when the list box object is selected: + +![](assets/en/FormObjects/listbox_column.png) + +You can set standard properties (text, background color, etc.) for each column of the list box; these properties take priority over those of the list box object properties. +> You can define the [Expression type](properties_Object.md#expression-type) for array list box columns (String, Text, Number, Date, Time, Picture, Boolean, or Object). The use of object arrays requires a 4D View Pro licence (see [Using object arrays in columns (4D View Pro)](#using-object-arrays-in-columns-4d-view-pro)). + + +### Column Specific Properties + +[Alpha Format](properties_Display.md#alpha-format) - [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) - [Automatic Row Height](properties_CoordinatesAndSizing.md#automatic-row-height) - [Background Color](properties_Text.md#background-color) - [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) - [Bold](properties_Text.md#bold) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#class) - [Data Type (selection and collection list box column)](properties_DataSource.md#data-type) - [Date Format](properties_Display.md#date-format) - [Default Values](properties_DataSource.md#default-values) - [Display Type](properties_Display.md#display-type) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression](properties_DataSource.md#expression) - [Expression Type (array list box column)](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Invisible](properties_Display.md#visibility) - [Maximum Width](properties_CoordinatesAndSizing.md#maximum-width) - [Method](properties_Action.md#method) - [Minimum Width](properties_CoordinatesAndSizing.md#minimum-width) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Resizable](properties_ResizingOptions.md#resizable) - [Required List](properties_RangeOfValues.md#required-list) - [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) - [Row Font Color Array](properties_Text.md#row-font-color-array) - [Row Style Array](properties_Text.md#row-style-array) - [Save as](properties_DataSource.md#save-as) - [Style Expression](properties_Text.md#style-expression) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## List box headers + +> To be able to access the header properties of a list box, you must enable the [Display Headers](properties_Headers.md#display-headers) option of the list box. + +When headers are displayed, you can select a header in the Form editor by clicking it when the list box object is selected: + +![](assets/en/FormObjects/listbox_header.png) + +You can set standard text properties for each column header of the list box; in this case, these properties have priority over those of the column or of the list box itself. + +In addition, you have access to the specific properties for headers. Specifically, an icon can be displayed in the header next to or in place of the column title, for example when performing [customized sorts](#managing-sorts). + +![](assets/en/FormObjects/lbHeaderIcon.png) + +At runtime, events that occur in a header are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a header, it is applied to all headers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"header3";False)` will hide all headers in the list box object to which *header3* belongs and not simply this header. + +### Header Specific Properties + +[Bold](properties_Text.md#bold) - [Class](properties_Object.md#class) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Icon Location](properties_TextAndPicture.md#icon-location) - [Italic](properties_Text.md#italic) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_TextAndPicture.md#picture-pathname) - [Title](properties_Object.md#title) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) + + + + + +## List box footers +> To be able to access footer properties for a list box, you must enable the [Display Footers](properties_Footers.md#display-footers) option. + +List boxes can contain non-enterable "footers" displaying additional information. For data shown in table form, footers are usually used to display calculations such as totals or averages. + +When footers are displayed, you can click to select one when the list box object is selected in the Form editor: + +![](assets/en/FormObjects/listbox_footers.png) + +For each List box column footer, you can set standard text properties: in this case, these properties take priority over those of the column or of the list box. You can also access specific properties for footers. In particular, you can insert a [custom or automatic calculation](properties_Object.md#variable-calculation). + +At runtime, events that occur in a footer are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a footer, it is applied to all footers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"footer3";False)` will hide all footers in the list box object to which *footer3* belongs and not simply this footer. + +### Footer Specific Properties + + +[Alpha Format](properties_Display.md#alpha-format) - [Background Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Bold](properties_Text.md#bold) - [Class](properties_Object.md#class) - [Date Format](properties_Display.md#date-format) - [Expression Type](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable Calculation](properties_Object.md#variable-calculation) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## Managing entry + +For a list box cell to be enterable, both of the following conditions must be met: + +- The cell’s column must have been set as [Enterable](properties_Entry.md#enterable) (otherwise, the cells of the column can never be enterable). +- In the `On Before Data Entry` event, $0 does not return -1. When the cursor arrives in the cell, the `On Before Data Entry` event is generated in the column method. If, in the context of this event, $0 is set to -1, the cell is considered as not enterable. If the event was generated after **Tab** or **Shift+Tab** was pressed, the focus goes to either the next cell or the previous one, respectively. If $0 is not -1 (by default $0 is 0), the cell is enterable and switches to editing mode. + +Let’s consider the example of a list box containing two arrays, one date and one text. The date array is not enterable but the text array is enterable if the date has not already past. + +![](assets/en/FormObjects/listbox_entry.png) + +Here is the method of the *arrText* column: + +```code4d + Case of + :(Form event=On Before Data Entry) // a cell gets the focus + LISTBOX GET CELL POSITION(*;"lb";$col;$row) + // identification of cell + If(arrDate{$row} Data entry in collection/entity selection type list boxes has a limitation when the expression evaluates to null. In this case, it is not possible to edit or remove the null value in the cell. + + + +## Managing selections + +Selections are managed differently depending on whether the list box is based on an array, on a selection of records, or on a collection/entity selection: + +- **Selection list box**: Selections are managed by a set, which you can modify if necessary, called `$ListboxSetX` by default (where X starts at 0 and is incremented based on the number of list boxes in the form). This set is [defined in the properties](properties_ListBox.md#highlight-set) of the list box. It is automatically maintained by 4D: If the user selects one or more rows in the list box, the set is immediately updated. On the other hand, it is also possible to use the commands of the "Sets" theme in order to modify the selection of the list box via programming. + +- **Collection/Entity selection list box**: Selections are managed through dedicated list box properties: + - [Current item](properties_DataSource.md#current-item) is an object that will receive the selected element/entity + - [Selected Items](properties_DataSource.md#selected-items) is a collection of selected items + - [Current item position](properties_DataSource.md#current-item-position) returns the position of the selected element or entity. + +- **Array list box**: The `LISTBOX SELECT ROW` command can be used to select one or more rows of the list box by programming. The [variable linked to the List box object](properties_Object.md#variable-or-expression) is used to get, set or store selections of object rows. This variable corresponds to a Boolean array that is automatically created and maintained by 4D. The size of this array is determined by the size of the list box: it contains the same number of elements as the smallest array linked to the columns. Each element of this array contains `True` if the corresponding line is selected and `False` otherwise. 4D updates the contents of this array depending on user actions. Inversely, you can change the value of array elements to change the selection in the list box. On the other hand, you can neither insert nor delete rows in this array; you cannot retype rows either. The `Count in array` command can be used to find out the number of selected lines. For example, this method allows inverting the selection of the first row of the (array type) list box: +```code4d + ARRAY BOOLEAN(tBListBox;10) + //tBListBox is the name of the list box variable in the form + If(tBListBox{1}=True) + tBListBox{1}:=False + Else + tBListBox{1}:=True + End if +``` + +> The `OBJECT SET SCROLL POSITION` command scrolls the list box rows so that the first selected row or a specified row is displayed. + + +### Customizing appearance of selected rows + +When the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is selected, you need to make list box selections visible using available interface options. Since selections are still fully managed by 4D, this means: + +- For array type list boxes, you must parse the Boolean array variable associated with the list box to determine which rows are selected or not. +- For selection type list boxes, you have to check whether the current record (row) belongs to the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. + +You can then define specific background colors, font colors and/or font styles by programming to customize the appearance of selected rows. This can be done using arrays or expressions, depending on the type of list box being displayed (see the following sections). + +> You can use the `lk inherited` constant to mimic the current appearance of the list box (e.g., font color, background color, font style, etc.). + +#### Selection list boxes + +To determine which rows are selected, you have to check whether they are included in the set indicated in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. You can then define the appearance of selected rows using one or more of the relevant [color or style expression property](#using-arrays-and-expressions). + +Keep in mind that expressions are automatically re-evaluated each time the: +- list box selection changes. +- list box gets or loses the focus. +- form window containing the list box becomes, or ceases to be, the frontmost window. + + +#### Array list boxes +You have to parse the Boolean array [Variable or Expression](properties_Object.md#variable-or-expression) associated with the list box to determine whether rows are selected or not selected. + +You can then define the appearance of selected rows using one or more of the relevant [color or style array property](#using-arrays-and-expressions). + +Note that list box arrays used for defining the appearance of selected rows must be recalculated during the `On Selection Change` form event; however, you can also modify these arrays based on the following additional form events: +- `On Getting Focus` (list box property) +- `On Losing Focus` (list box property) +- `On Activate` (form property) +- `On Deactivate` (form property) ...depending on whether and how you want to visually represent changes of focus in selections. + +##### Exemple + +You have chosen to hide the system highlight and want to display list box selections with a green background color, as shown here: + +![](assets/en/FormObjects/listbox_styles7.png) + +For an array type list box, you need to update the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) by programming. In the JSON form, you have defined the following Row Background Color Array for the list box: + +``` + "rowFillSource": "_ListboxBackground", +``` + +In the object method of the list box, you can write: + +```code4d + Case of + :(Form event=On Selection Change) + $n:=Size of array(LB_Arrays) + ARRAY LONGINT(_ListboxBackground;$n) // row background colors + For($i;1;$n) + If(LB_Arrays{$i}=True) // selected + _ListboxBackground{$i}:=0x0080C080 // green background + Else // not selected + _ListboxBackground{$i}:=lk inherited + End if + End for + End case +``` + +For a selection type list box, to produce the same effect you can use a method to update the [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) based on the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property. + +For example, in the JSON form, you have defined the following Highlight Set and Background Color Expression for the list box: + +``` + "highlightSet": "$SampleSet", + "rowFillSource": "UI_SetColor", +``` +You can write in the *UI_SetColor* method: + +```code4d + If(Is in set("$SampleSet")) + $color:=0x0080C080 // green background + Else + $color:=lk inherited + End if + + $0:=$color +``` + +> In hierarchical list boxes, break rows cannot be highlighted when the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is checked. Since it is not possible to have distinct colors for headers of the same level, there is no way to highlight a specific break row by programming. + + +## Managing sorts + +By default, a list box automatically handles standard column sorts when the header is clicked. A standard sort is an alphanumeric sort of column values, alternately ascending/descending with each successive click. All columns are always synchronized automatically. + +You can prevent standard user sorts by deselecting the [Sortable](properties_Action.md#sortable) property of the list box. + +The developer can set up custom sorts using the `LISTBOX SORT COLUMNS` command and/or combining the `On Header Click` and `On After Sort` form events (see the `FORM Event` command) and relevant 4D commands. + +> The [Sortable](properties_Action.md#sortable) property only affects the standard user sorts; the `LISTBOX SORT COLUMNS` command does not take this property into account. + +The value of the [column header variable](properties_Object.md#variable-or-expression) allows you to manage additional information: the current sort of the column (read) and the display of the sort arrow. + +- If the variable is set to 0, the column is not sorted and the sort arrow is not displayed; ![](assets/en/FormObjects/sorticon0.png) + +- If the variable is set to 1, the column is sorted in ascending order and the sort arrow is displayed; ![](assets/en/FormObjects/sorticon1.png) + +- If the variable is set to 2, the column is sorted in descending order and the sort arrow is displayed. ![](assets/en/FormObjects/sorticon2.png) + +You can set the value of the variable (for example, Header2:=2) in order to “force” the sort arrow display. The column sort itself is not modified in this case; it is up to the developer to handle it. + +> The `OBJECT SET FORMAT` command offers specific support for icons in list box headers, which can be useful when you want to work with a customized sort icon. + + +## Managing row colors, styles, and display + +There are several different ways to set background colors, font colors and font styles for list boxes: + +- at the level of the [list box object properties](#list-box-objects), +- at the level of the [column properties](#list-box-columns), +- using [arrays or expressions properties](#using-arrays-and-expressions) for the list box and/or for each column, +- at the level of the text of each cell (if [multi-style text](properties_Text.md#multi-style)). + + +### Priority & inheritance + +Priority and inheritance principles are observed when the same property is set at more than one level. + +| Priority level | Setting location | +| -------------- | -------------------------------------------------------------------- | +| high priority | Cell (if multi-style text) | +| | Column arrays/methods | +| | List box arrays/methods | +| | Column properties | +| | List box properties | +| low priority | Meta Info expression (for collection or entity selection list boxes) | + +For example, if you set a font style in the list box properties and another using a style array for the column, the latter one will be taken into account. + +For each attribute (style, color and background color), an **inheritance** is implemented when the default value is used: + +- for cell attributes: attribute values of rows +- for row attributes: attribute values of columns +- for column attributes: attribute values of the list box + +This way, if you want an object to inherit the attribute value from a higher level, you can use pass the `lk inherited` constant (default value) to the definition command or directly in the element of the corresponding style/color array. For example, given an array list box containing a standard font style with alternating colors: ![](assets/en/FormObjects/listbox_styles3.png) + +You perform the following modifications: + +- change the background of row 2 to red using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property of the list box object, +- change the style of row 4 to italics using the [Row Style Array](properties_Text.md#row-style-array) property of the list box object, +- two elements in column 5 are changed to bold using the [Row Style Array](properties_Text.md#row-style-array) property of the column 5 object, +- the 2 elements for column 1 and 2 are changed to dark blue using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property for the column 1 and 2 objects: + +![](assets/en/FormObjects/listbox_styles3.png) + +To restore the original appearance of the list box, you can: + +- pass the `lk inherited` constant in element 2 of the background color arrays for columns 1 and 2: then they inherit the red background color of the row. +- pass the `lk inherited` constant in elements 3 and 4 of the style array for column 5: then they inherit the standard style, except for element 4, which changes to italics as specified in the style array of the list box. +- pass the `lk inherited` constant in element 4 of the style array for the list box in order to remove the italics style. +- pass the `lk inherited` constant in element 2 of the background color array for the list box in order to restore the original alternating color of the list box. + + +### Using arrays and expressions + +Depending of the list box type, you can use different properties to customize row colors, styles and display: + +| Property | Array list box | Selection list box | Collection or Entity Selection list box | +| ---------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Background color | [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) | [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) | [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression) | +| Font color | [Row Font Color Array](properties_Text.md#row-font-color-array) | [Font Color Expression](properties_Text.md#font-color-expression) | [Font Color Expression](properties_Text.md#font-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression) | + Font style| + +[Row Style Array](properties_Text.md#row-style-array)|[Style Expression](properties_Text.md#style-expression)|[Style Expression](properties_Text.md#style-expression) or [Meta info expression](properties_Text.md#meta-info-expression)| Display|[Row Control Array](properties_ListBox.md#row-control-array)|-|-| + + + + +## Printing list boxes + +Two printing modes are available: **preview mode** - which can be used to print a list box like a form object, and **advanced mode** - which lets you control the printing of the list box object itself within the form. Note that the "Printing" appearance is available for list box objects in the Form editor. + +### Preview mode + +Printing a list box in preview mode consists of directly printing the list box and the form that contains it using the standard print commands or the **Print** menu command. The list box is printed as it is in the form. This mode does not allow precise control of the printing of the object; in particular, it does not allow you to print all the rows of a list box that contains more rows than it can display. + +### Mode avancé + +In this mode, the printing of list boxes is carried out by programming, via the `Print object` command (project forms and table forms are supported). The `LISTBOX GET PRINT INFORMATION` command is used to control the printing of the object. + +In this mode: + +- The height of the list box object is automatically reduced when the number of rows to be printed is less than the original height of the object (there are no "blank" rows printed). On the other hand, the height does not automatically increase according to the contents of the object. The size of the object actually printed can be obtained via the `LISTBOX GET PRINT INFORMATION` command. +- The list box object is printed "as is", in other words, taking its current display parameters into account: visibility of headers and gridlines, hidden and displayed rows, etc. These parameters also include the first row to be printed: if you call the `OBJECT SET SCROLL POSITION` command before launching the printing, the first row printed in the list box will be the one designated by the command. +- An automatic mechanism facilitates the printing of list boxes that contain more rows than it is possible to display: successive calls to `Print object` can be used to print a new set of rows each time. The `LISTBOX GET PRINT INFORMATION` command can be used to check the status of the printing while it is underway. + + + + + +## Hierarchical list boxes + +A hierarchical list box is a list box in which the contents of the first column appears in hierarchical form. This type of representation is adapted to the presentation of information that includes repeated values and/or values that are hierarchically dependent (country/region/city and so on). + +> Only [array type list boxes](#array-list-boxes) can be hierarchical. + +Hierarchical list boxes are a particular way of representing data but they do not modify the data structure (arrays). Hierarchical list boxes are managed exactly the same way as regular list boxes. + + +### Defining the hierarchy + +To specify a hierarchical list box, there are several possibilities: + +* Manually configure hierarchical elements using the Property list of the form editor (or edit the JSON form). +* Visually generate the hierarchy using the list box management pop-up menu, in the form editor. +* Use the [LISTBOX SET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-SET-HIERARCHY.301-4127969.en.html) and [LISTBOX GET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-GET-HIERARCHY.301-4127970.en.html) commands, described in the *4D Language Reference* manual. + + +#### Hierarchical List Box property + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +The first variable always corresponds to the name of the variable for the first column of the list box (the two values are automatically bound). This first variable is always visible and enterable. For example: country. The second variable is also always visible and enterable; it specifies the second hierarchical level. For example: regions. Beginning with the third field, each variable depends on the one preceding it. For example: counties, cities, and so on. A maximum of ten hierarchical levels can be specified. If you remove a value, the whole hierarchy moves up a level. + +The last variable is never hierarchical even if several identical values exists at this level. For example, referring to the configuration illustrated above, imagine that arr1 contains the values A A A B B B, arr2 has the values 1 1 1 2 2 2 and arr3 the values X X Y Y Y Z. In this case, A, B, 1 and 2 could appear in collapsed form, but not X and Y: + +![](assets/en/FormObjects/property_hierarchicalListBox.png) + +This principle is not applied when only one variable is specified in the hierarchy: in this case, identical values may be grouped. +> If you specify a hierarchy based on the first columns of an existing list box, you must then remove or hide these columns (except for the first), otherwise they will appear in duplicate in the list box. If you specify the hierarchy via the pop-up menu of the editor (see below), the unnecessary columns are automatically removed from the list box. + + +#### Create hierarchy using the contextual menu + +When you select at least one column in addition to the first one in a list box object (of the array type) in the form editor, the **Create hierarchy** command is available in the context menu: + +![](assets/en/FormObjects/listbox_hierarchy1.png) + +This command is a shortcut to define a hierarchy. When it is selected, the following actions are carried out: + +* The **Hierarchical list box** option is checked for the object in the Property List. +* The variables of the columns are used to specify the hierarchy. They replace any variables already specified. +* The columns selected no longer appear in the list box (except for the title of the first one). + +Example: given a list box whose first columns contain Country, Region, City and Population. When Country, Region and City are selected, if you choose **Create hierarchy** in the context menu, a three-level hierarchy is created in the first column, columns 2 and 3 are removed and the Population column becomes the second: + +![](assets/en/FormObjects/listbox_hierarchy2.png) + +##### Cancel hierarchy +When the first column is selected and already specified as hierarchical, you can use the **Cancel hierarchy** command. When you choose this command, the following actions are carried out: + +* The **Hierarchical list box** option is deselected for the object, +* The hierarchical levels 2 to X are removed and transformed into columns added to the list box. + + +### How it works + +When a form containing a hierarchical list box is opened for the first time, by default all the rows are expanded. + +A break row and a hierarchical "node" are automatically added in the list box when values are repeated in the arrays. For example, imagine a list box containing four arrays specifying cities, each city being characterized by its country, its region, its name and its number of inhabitants: + +![](assets/en/FormObjects/hierarch1.png) + +If this list box is displayed in hierarchical form (the first three arrays being included in the hierarchy), you obtain: + +![](assets/en/FormObjects/hierarch2.png) + +The arrays are not sorted before the hierarchy is constructed. If, for example, an array contains the data AAABBAACC, the hierarchy obtained is: + + > A B A C + +To expand or collapse a hierarchical "node," you can just click on it. If you **Alt+click** (Windows) or **Option+click** (macOS) on the node, all its sub-elements will be expanded or collapsed as well. These operations can also be carried out by programming using the `LISTBOX EXPAND` and `LISTBOX COLLAPSE` commands. + +When values of the date or time type are included in a hierarchical list box, they are displayed in the short system format. + +#### Sorts in hierarchical list boxes + +In a list box in hierarchical mode, a standard sort (carried out by clicking on the header of a list box column) is always constructed as follows: + +- In the first place, all the levels of the hierarchical column (first column) are automatically sorted by ascending order. +- The sort is then carried out by ascending or descending order (according to the user action) on the values of the column that was clicked. +- All the columns are synchronized. +- During subsequent sorts carried out on non-hierarchical columns of the list box, only the last level of the first column is sorted. It is possible to modify the sorting of this column by clicking on its header. + +Given for example the following list box, in which no specific sort is specified: + +![](assets/en/FormObjects/hierarch3.png) + +If you click on the "Population" header to sort the populations by ascending (or alternately descending) order, the data appear as follows: + +![](assets/en/FormObjects/hierarch4.png) + +As for all list boxes, you can [disable the standard sort mechanism](properties_Action.md#sortable) and manage sorts using programming. + + +#### Selections and positions in hierarchical list boxes + +A hierarchical list box displays a variable number of rows on screen according to the expanded/collapsed state of the hierarchical nodes. This does not however mean that the number of rows of the arrays vary. Only the display is modified, not the data. It is important to understand this principle because programmed management of hierarchical list boxes is always based on the data of the arrays, not on the displayed data. In particular, the break rows added automatically are not taken into account in the display options arrays (see below). + +Let’s look at the following arrays for example: + +![](assets/en/FormObjects/hierarch5.png) + +If these arrays are represented hierarchically, the row "Quimper" will not be displayed on the second row, but on the fourth, because of the two break rows that are added: + +![](assets/en/FormObjects/hierarch6.png) + +Regardless of how the data are displayed in the list box (hierarchically or not), if you want to change the row containing "Quimper" to bold, you must use the statement Style{2} = bold. Only the position of the row in the arrays is taken into account. + +This principle is implemented for internal arrays that can be used to manage: + +- colors +- background colors +- styles +- hidden rows +- selections + +For example, if you want to select the row containing Rennes, you must pass: + +```code4d + ->MyListbox{3}:=True +``` + +Non-hierarchical representation: ![](assets/en/FormObjects/hierarch7.png) Hierarchical representation: ![](assets/en/FormObjects/hierarch8.png) + +> If one or more rows are hidden because their parents are collapsed, they are no longer selected. Only the rows that are visible (either directly or by scrolling) can be selected. In other words, rows cannot be both hidden and selected. + +As with selections, the `LISTBOX GET CELL POSITION` command will return the same values for a hierarchical list box and a non-hierarchical list box. This means that in both of the examples below, `LISTBOX GET CELL POSITION` will return the same position: (3;2). + +*Non-hierarchical representation:* ![](assets/en/FormObjects/hierarch9.png) + +*Hierarchical representation:* ![](assets/en/FormObjects/hierarch10.png) + +When all the rows of a sub-hierarchy are hidden, the break line is automatically hidden. In the above example, if rows 1 to 3 are hidden, the "Brittany" break row will not appear. + +#### Break rows + +If the user selects a break row, `LISTBOX GET CELL POSITION` returns the first occurrence of the row in the corresponding array. In the following case: + +![](assets/en/FormObjects/hierarch11.png) + + +... `LISTBOX GET CELL POSITION` returns (2;4). To select a break row by programming, you will need to use the `LISTBOX SELECT BREAK` command. + +Break rows are not taken into account in the internal arrays used to manage the graphic appearance of list boxes (styles and colors). It is however possible to modify these characteristics for break rows via the graphic management commands for objects. You simply need to execute the appropriate commands on the arrays that constitute the hierarchy. + +Given for example the following list box (the names of the associated arrays are specified in parentheses): + +*Non-hierarchical representation:* ![](assets/en/FormObjects/hierarch12.png) + +*Hierarchical representation:* ![](assets/en/FormObjects/hierarch13.png) + +In hierarchical mode, break levels are not taken into account by the style modification arrays named `tStyle` and `tColors`. To modify the color or style of break levels, you must execute the following statements: + +```code4d + OBJECT SET RGB COLORS(T1;0x0000FF;0xB0B0B0) + OBJECT SET FONT STYLE(T2;Bold) +``` +> In this context, only the syntax using the array variable can function with the object property commands because the arrays do not have any associated object. + +Result: + +![](assets/en/FormObjects/hierarch14.png) + + +#### Optimized management of expand/collapse + +You can optimize hierarchical list boxes display and management using the `On Expand` and `On Collapse` form events. + +A hierarchical list box is built from the contents of its arrays so it can only be displayed when all these arrays are loaded into memory. This makes it difficult to build large hierarchical list boxes based on arrays generated from data (through the `SELECTION TO ARRAY` command), not only because of the display speed but also the memory used. + +Using the `On Expand` and `On Collapse` form events can overcome these constraints: for example, you can display only part of the hierarchy and load/unload the arrays on the fly, based on user actions. In the context of these events, the `LISTBOX GET CELL POSITION` command returns the cell where the user clicked in order to expand or collapse a row. + +In this case, you must fill and empty arrays through the code. The principles to be implemented are: +- When the list box is displayed, only the first array must be filled. However, you must create a second array with empty values so that the list box displays the expand/collapse buttons: ![](assets/en/FormObjects/hierarch15.png) + +- When a user clicks on an expand button, you can process the `On Expand` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned and lets you build the appropriate hierarchy: you fill the first array with the repeated values and the second with the values sent from the `SELECTION TO ARRAY` command and you insert as many rows as needed in the list box using the `LISTBOX INSERT ROWS` command. ![](assets/en/FormObjects/hierarch16.png) + +- When a user clicks on a collapse button, you can process the `On Collapse` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned: you remove as many rows as needed from the list box using the `LISTBOX DELETE ROWS` command. + + + +## Object arrays in columns (4D View Pro) + +List box columns can handle object arrays. Since object arrays can contain different kinds of data, this powerful new feature allows you to mix different input types in the rows of a single column, and display various widgets as well. For example, you could insert a text input in the first row, a check box in the second, and a drop-down list in the third. Object arrays also provide access to new kinds of widgets, such as buttons or color pickers. + +The following list box was designed using an object array: + +![](assets/en/FormObjects/listbox_column_objectArray.png) +> **Note about Licensing**: The ability to use object arrays in list boxes is a first step to the upcoming "4D View Pro" tool that will progressively replace the 4D View plug-in. Using this feature requires you to have a valid 4D View license. For more information, please refer to the 4D Web site. + +### Configuring an object array column + +To assign an object array to a list box column, you just need to set the object array name in either the Property list ("Variable Name" field), or using the [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-INSERT-COLUMN.301-4311153.en.html) command, like with any array-based column. In the Property list, you can now select Object as a "Expression Type" for the column: + +![](assets/en/FormObjects/listbox_column_objectArray_config.png) + +Standard properties related to coordinates, size, and style are available for object columns. You can define them using the Property list, or by programming the style, font color, background color and visibility for each row of an object-type list box column. These types of columns can also be hidden. + +However, the Data Source theme is not available for object-type list box columns. In fact, the contents of each column cell are based on attributes found in the corresponding element of the object array. Each array element can define: + +the value type (mandatory): text, color, event, etc. the value itself (optional): used for input/output. the cell content display (optional): button, list, etc. additional settings (optional): depend on the value type To define these properties, you need to set the appropriate attributes in the object (available attributes are listed below). For example, you can write "Hello World!" in an object column using this simple code: + +```code4d +ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob) //first element + OB SET($ob;"valueType";"text") //defines the value type (mandatory) + OB SET($ob;"value";"Hello World!") //defines the value + APPEND TO ARRAY(obColumn;$ob) +``` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld.png) +> Display format and entry filters cannot be set for an object column. They automatically depend on the value type. + +#### valueType and data display + +When a list box column is associated with an object array, the way a cell is displayed, entered, or edited, is based on the valueType attribute of the array element. Supported valueType values are: + +* "text": for a text value +* "real": for a numeric value that can include separators like a \, <.>, or <,> +* "integer": for an integer value +* "boolean": for a True/False value +* "color": to define a background color +* "event": to display a button with a label. + +4D uses default widgets with regards to the "valueType" value (i.e., a "text" is displayed as a text input widget, a "boolean" as a check box), but alternate displays are also available through options (*e.g.*, a real can also be represented as a drop-down menu). The following table shows the default display as well as alternatives for each type of value: + +| valueType | Default widget | Alternative widget(s) | +| --------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| Texte | text input | drop-down menu (required list) or combo box (choice list) | +| réel | controlled text input (numbers and separators) | drop-down menu (required list) or combo box (choice list) | +| integer | controlled text input (numbers only) | drop-down menu (required list) or combo box (choice list) or three-states check box | +| boolean | check box | drop-down menu (required list) | +| color | background color | Texte | +| event | button with label | | +| | | All widgets can have an additional unit toggle button or ellipsis button attached to the cell. | + +You set the cell display and options using specific attributes in each object (see below). + +#### Display formats and entry filters + +You cannot set display formats or entry filters for columns of object-type list boxes. They are automatically defined according to the value type. These are listed in the following table: + +| Value type | Default format | Entry control | +| ---------- | ---------------------------------------------------------- | ----------------------- | +| Texte | same as defined in object | any (no control) | +| réel | same as defined in object (using system decimal separator) | "0-9" and "." and "-" | +| | | "0-9" and "." if min>=0 | +| integer | same as defined in object | "0-9" and "-" | +| | | "0-9" if min>=0 | +| Booléen | check box | N/A | +| color | N/A | N/A | +| event | N/A | N/A | + +### Attributes + +Each element of the object array is an object that can contain one or more attributes that will define the cell contents and data display (see example above). + +The only mandatory attribute is "valueType" and its supported values are "text", "real", "integer", "boolean", "color", and "event". The following table lists all the attributes supported in list box object arrays, depending on the "valueType" value (any other attributes are ignored). Display formats are detailed and examples are provided below. + +| | valueType | Texte | réel | integer | boolean | color | event | +| --------------------- | --------------------------------------- | ----- | ---- | ------- | ------- | ----- | ----- | +| *Attributes* | *Description* | | | | | | | +| value | cell value (input or output) | x | x | x | | | | +| min | minimum value | | x | x | | | | +| max | maximum value | | x | x | | | | +| behavior | "threeStates" value | | | x | | | | +| requiredList | drop-down list defined in object | x | x | x | | | | +| choiceList | combo box defined in object | x | x | x | | | | +| requiredListReference | 4D list ref, depends on "saveAs" value | x | x | x | | | | +| requiredListName | 4D list name, depends on "saveAs" value | x | x | x | | | | +| saveAs | "reference" or "value" | x | x | x | | | | +| choiceListReference | 4D list ref, display combo box | x | x | x | | | | +| choiceListName | 4D list name, display combo box | x | x | x | | | | +| unitList | array of X elements | x | x | x | | | | +| unitReference | index of selected element | x | x | x | | | | +| unitsListReference | 4D list ref for units | x | x | x | | | | +| unitsListName | 4D list name for units | x | x | x | | | | +| alternateButton | add an alternate button | x | x | x | x | x | | + +#### value + +Cell values are stored in the "value" attribute. This attribute is used for input as well as output. It can also be used to define default values when using lists (see below). + +````code4d + ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob1) + $entry:="Hello world!" + OB SET($ob1;"valueType";"text") + OB SET($ob1;"value";$entry) // if the user enters a new value, $entry will contain the edited value + C_OBJECT($ob2) + OB SET($ob2;"valueType";"real") + OB SET($ob2;"value";2/3) + C_OBJECT($ob3) + OB SET($ob3;"valueType";"boolean") + OB SET($ob3;"value";True) + + APPEND TO ARRAY(obColumn;$ob1) + APPEND TO ARRAY(obColumn;$ob2) + APPEND TO ARRAY(obColumn;$ob3) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_value.png) +> Null values are supported and result in an empty cell. + +#### min and max + +When the "valueType" is "real" or "integer", the object also accepts min and max attributes with appropriate values (values must be of the same type as the valueType). + +These attributes can be used to control the range of input values. When a cell is validated (when it loses the focus), if the input value is lower than the min value or greater than the max value, then it is rejected. In this case, the previous value is maintained and a tip displays an explanation. + +````code4d + C_OBJECT($ob3) + $entry3:=2015 + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";$entry3) + OB SET($ob3;"min";2000) + OB SET($ob3;"max";3000) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_minMax.png) + +#### behavior + +The behavior attribute provides variations to the regular representation of values. In 4D v15, a single variation is proposed: + +| Attribute | Available value(s) | valueType(s) | Description | +| --------- | ------------------ | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| behavior | threeStates | integer | Represents a numeric value as a three-states check box.
    2=semi-checked, 1=checked, 0=unchecked, -1=invisible, -2=unchecked disabled, -3=checked disabled, -4=semi-checked disabled | + +````code4d + C_OBJECT($ob3) + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";-3) + C_OBJECT($ob4) + OB SET($ob4;"valueType";"integer") + OB SET($ob4;"value";-3) + OB SET($ob4;"behavior";"threeStates") +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_behavior.png) + +#### requiredList and choiceList + +When a "choiceList" or a "requiredList" attribute is present inside the object, the text input is replaced by a drop-down list or a combo box, depending of the attribute: + +* If the attribute is "choiceList", the cell is displayed as a combo box. This means that the user can select or type a value. +* If the attribute is "requiredList" then the cell is displayed as a drop-down list and the user can only select one of the values provided in the list. + +In both cases, a "value" attribute can be used to preselect a value in the widget. +> The widget values are defined through an array. If you want to assign an existing 4D list to the widget, you need to use the "requiredListReference", "requiredListName", "choiceListReference", or "choiceListName" attributes. + +Voici quelques exemples : + +* You want to display a drop-down list with only two options: "Open" or "Closed". "Closed" must be preselected: + + ````code4d + ARRAY TEXT($RequiredList;0) + APPEND TO ARRAY($RequiredList;"Open") + APPEND TO ARRAY($RequiredList;"Closed") + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"Closed") + OB SET ARRAY($ob;"requiredList";$RequiredList) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_openClosed.png) + +* You want to accept any integer value, but display a combo box to suggest the most common values: + + ````code4d + ARRAY LONGINT($ChoiceList;0) + APPEND TO ARRAY($ChoiceList;5) + APPEND TO ARRAY($ChoiceList;10) + APPEND TO ARRAY($ChoiceList;20) + APPEND TO ARRAY($ChoiceList;50) + APPEND TO ARRAY($ChoiceList;100) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"value";10) //10 as default value + OB SET ARRAY($ob;"choiceList";$ChoiceList) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_commonValues.png) + +#### requiredListName and requiredListReference + +The "requiredListName" and "requiredListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Lists editor of the Tool box) or by programming (using the New list command). The cell will then be displayed as a drop-down list. This means that the user can only select one of the values provided in the list. + +Use "requiredListName" or "requiredListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. +> * If you want to define these values through a simple array, you need to use the "requiredList" attribute. +> * If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Voici quelques exemples : + +* You want to display a drop-down list based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green"), save it as a value and display "blue" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + + ````code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"saveAs";"value") + OB SET($ob;"value";"blue") + OB SET($ob;"requiredListName";"colors") + ```` +![](assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + +* You want to display a drop-down list based on a list defined by programming and save it as a reference: + + ````code4d + <>List:=New list + APPEND TO LIST(<>List;"Paris";1) + APPEND TO LIST(<>List;"London";2) + APPEND TO LIST(<>List;"Berlin";3) + APPEND TO LIST(<>List;"Madrid";4) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"saveAs";"reference") + OB SET($ob;"value";2) //displays London by default + OB SET($ob;"requiredListReference";<>List) + ```` + ![](assets/en/FormObjects/listbox_column_objectArray_cities.png) + +#### choiceListName and choiceListReference + +The "choiceListName" and "choiceListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Tool box) or by programming (using the New list command). The cell is then displayed as a combo box, which means that the user can select or type a value. + +Use "choiceListName" or "choiceListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. +> * If you want to define these values through a simple array, you need to use the "choiceList" attribute. +> * If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Exemple : + +You want to display a combo box based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green") and display "green" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + +````code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"blue") + OB SET($ob;"choiceListName";"colors") +```` + +![](../assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + + +#### unitsList, unitsListName, unitsListReference and unitReference + +You can use specific attributes to add units associated with cell values (*e.g.*: "10 cm", "20 pixels", etc.). To define the unit list, you can use one of the following attributes: + +* "unitsList": an array containing the x elements used to define the available units (e.g.: "cm", "inches", "km", "miles", etc.). Use this attribute to define units within the object. +* "unitsListReference": a reference to a 4D list containing available units. Use this attribute to define units with a 4D list created with the [New list](https://doc.4d.com/4Dv15/4D/15.6/New-list.301-3818474.en.html) command. +* "unitsListName": a name of a design-based 4D list that contains available units. Use this attribute to define units with a 4D list created in the Tool box. + +Regardless of the way the unit list is defined, it can be associated with the following attribute: + +* "unitReference": a single value that contains the index (from 1 to x) of the selected item in the "unitList", "unitsListReference" or "unitsListName" values list. + +The current unit is displayed as a button that cycles through the "unitList", "unitsListReference" or "unitsListName" values each time it is clicked (e.g., "pixels" -> "rows" -> "cm" -> "pixels" -> etc.) + +Exemple : + +We want to set up a numeric input followed by two possible units: "rows" or "pixels". The current value is "2" + "lines". We use values defined directly in the object ("unitsList" attribute): + +````code4d +ARRAY TEXT($_units;0) +APPEND TO ARRAY($_units;"lines") +APPEND TO ARRAY($_units;"pixels") +C_OBJECT($ob) +OB SET($ob;"valueType";"integer") +OB SET($ob;"value";2) // 2 "units" +OB SET($ob;"unitReference";1) //"lines" +OB SET ARRAY($ob;"unitsList";$_units) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_unitList.png) + +#### alternateButton + +If you want to add an ellipsis button [...] to a cell, you just need to pass the "alternateButton" with the True value in the object. The button will be displayed in the cell automatically. + +When this button is clicked by a user, an `On Alternate Click` event will be generated, and you will be able to handle it however you want (see the "Event management" paragraph for more information). +> `On Alternate Click` is the new name of the `On Arrow Click` event, renamed in 4D v15 to highlight its extended scope. + +Exemple : + +````code4d +C_OBJECT($ob1) +$entry:="Hello world!" +OB SET($ob;"valueType";"text") +OB SET($ob;"alternateButton";True) +OB SET($ob;"value";$entry) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_alternateButton.png) + + +#### color valueType + +The "color" valueType allows you to display either a color or a text. + +* If the value is a number, a colored rectangle is drawn inside the cell. Exemple : + + ````code4d + C_OBJECT($ob4) + OB SET($ob4;"valueType";"color") + OB SET($ob4;"value";0x00FF0000) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_colorValue.png) + + +* If the value is a text, then the text is displayed (*e.g.*: "value";"Automatic"). + + +#### event valueType + +The "event" valueType displays a simple button that generates an `On Clicked` event when clicked. No data or value can be passed or returned. + +Optionally, you can pass a "label" attribute. + +Exemple : + +````code4d +C_OBJECT($ob) +OB SET($ob;"valueType";"event") +OB SET($ob;"label";"Edit...") +```` + +![](assets/en/FormObjects/listbox_column_objectArray_eventValueType.png) + + +### Event management +Several events can be handled while using an object list box array: + +* **On Data Change**: An `On Data Change` event is triggered when any value has been modified either: + * in a text input zone + * in a drop-down list + * in a combo box area + * in a unit button (switch from value x to value x+1) + * in a check box (switch between checked/unchecked) +* **On Clicked**: When the user clicks on a button installed using the "event" *valueType* attribute, an `On Clicked` event will be generated. This event is managed by the programmer. +* **On Alternative Click**: When the user clicks on an ellipsis button ("alternateButton" attribute), an `On Alternative Click` event will be generated. This event is managed by the programmer. +> `On Alternative Click` is the new name of the `On Arrow Click` event that was available in previous versions of 4D. This event has been renamed in 4D v15 since its scope has been extended. + + + diff --git a/website/translated_docs/fr/FormObjects/pictureButton_overview.md b/website/translated_docs/fr/FormObjects/pictureButton_overview.md new file mode 100644 index 00000000000000..f5b537b00cbdc8 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/pictureButton_overview.md @@ -0,0 +1,63 @@ +--- +id: pictureButtonOverview +title: Picture Button +--- + +## Aperçu + +A picture button is similar to a [standard button](button_overview.md). However unlike a standard button (which accepts three states: enabled, disabled and clicked), a picture button has a different image to represent each state. + +Picture buttons can be used in two ways: + +* As command buttons in a form. In this case, the picture button generally includes four different states: enabled, disabled, clicked and rolled over. For example, a table of thumbnails that has one row of four columns, each thumbnail corresponds to the Default, Clicked, Roll over, and Disabled states. + + | Property | JSON name | Valeur | + | -------------------------- | ---------------------- | ------ | + | Rows | rowCount | 1 | + | Columns | columnCount | 4 | + | Switch back when Released | switchBackWhenReleased | true | + | Switch when Roll Over | switchWhenRollover | true | + | Use Last Frame as Disabled | useLastFrameAsDisabled | true | + +* As a picture button letting the user choose among several choices. In this case, a picture button can be used in place of a pop-up picture menu. With [Picture Pop-up Menus](picturePopupMenu_overview.md), all choices are displayed simultaneously (as the items in the pop-up menu), while the picture button displays the choices consecutively (as the user clicks the button). Here is an example of a picture button. Suppose you want to give the users of a custom application the opportunity to choose the interface language for the application. You implement the option as a picture button in a custom properties dialog box: + +![](assets/en/FormObjects/button_pictureButton.png) + +Clicking the object changes the picture. + + +## Using picture buttons + +You can implement a picture button in the following manner: + +1. First, prepare a single graphic in which the series of images are arranged in a row, a column, or a row-by-column grid. + + ![](assets/en/FormObjects/pictureButton_grid.png) + +You can organize pictures as columns, rows, or a row-by-column grid (as shown above). When organizing pictures as a grid, they are numbered from left to right, row by row, beginning with 0. For example, the second picture of the second row of a grid that consists of two rows and three columns, is numbered 4 (The UK flag in the example above). + +2. Next, make sure the image is in your project's Resources and enter the path in the [Pathname](properties_TextAndPicture.md#picture-pathname) property. + +3. Define the graphic's [Rows and Columns](properties_Crop.md) properties. + +4. Specify when the images change by selecting appropriate [animation](properties_Animation.md) properties. + + +## Animation + +In addition to the standard positioning and appearance settings, you can set some specific properties for picture buttons, especially concerning how and when the pictures are displayed. These property options can be combined to enhance your picture buttons. + +- By default (when no [animation option](properties_Animation.md) is selected), a picture button displays the next picture in the series when the user clicks; it displays the previous picture in the series when the user holds down the **Shift** key and clicks. When the user reaches the last picture in the series, the picture does not change when the user clicks again. In other words, it does not cycle back to the first picture in the series. + +The following other modes are available: +- [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) +- [Switch back when Released](properties_Animation.md#switch-back-when-released) +- [Switch when Roll Over](properties_Animation.md#switch-when-roll-over) +- [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) +- [Use Last Frame as Disabled](properties_Animation.md#use-last-frame-as-disabled) +- [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) +> The [associated variable](properties_Object.md#variable-or-expression) of the picture button returns the index number, in the thumbnail table, of the current picture displayed. The numbering of pictures in the table begins with 0. + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md) - [Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switchBackWhenReleased) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switchWhenRollOver) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/website/translated_docs/fr/FormObjects/properties_Action.md b/website/translated_docs/fr/FormObjects/properties_Action.md new file mode 100644 index 00000000000000..2da2bfbee4d43c --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Action.md @@ -0,0 +1,189 @@ +--- +id: propertiesAction +0: title:Action +--- + + +--- +## Draggable + +Control whether and how the user can drag the object. By default, no drag operation is allowed. + +Two drag modes are available: + +- **Custom**: In this mode, any drag operation performed on the object triggers the `On Begin Drag` form event in the context of the object. You then manage the drag action using a method. In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D **copies** text or pictures directly from the form object. It can then be used in the same 4D area, between two 4D areas, or between 4D and another application. For example, automatic drag (and drop) lets you copy a value between two fields without using programming: ![](assets/en/FormObjects/property_automaticDragDrop.png) ![](assets/en/FormObjects/property_automaticDragDrop2.png) In this mode, the `On Begin Drag` form event is NOT generated. If you want to "force" the use of the custom drag while automatic drag is enabled, hold down the **Alt** (Windows) or **Option** (macOS) key during the action. This option is not available for pictures. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------- | --------------- | ------------------------------------------------------------ | +| dragging | Texte | "none" (default), "custom", "automatic" (excluding list box) | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + + + +#### See also +[Droppable](#droppable) + + +--- +## Droppable + +Control whether and how the object can be the destination of a drag and drop operation. + +Two drop modes are available: + +- **Custom**: In this mode, any drop operation performed on the object triggers the `On Drag Over` and `On Drop` form events in the context of the object. You then manage the drop action using a method. In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D automatically manages — if possible — the insertion of dragged data of the text or picture type that is dropped onto the object (the data are pasted into the object). The `On Drag Over` and `On Drop` form events are NOT generated. On the other hand, the `On After Edit` (during the drop) and `On Data Change` (when the object loses the focus) events are generated. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------- | --------------- | ------------------------------------------------------------ | +| dropping | Texte | "none" (default), "custom", "automatic" (excluding list box) | + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + +#### See also +[Draggable](#draggable) + + +--- +## Execute object method +When this option is enabled, the object method is executed with the `On Data Change` event *at the same moment* the user changes the value of the indicator. When the option is disabled, the method is executed *after* the modification. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------- | --------------- | --------------- | +| continuousExecution | boolean | true, false | + +#### Objects Supported + +[Progress bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + + + + + +--- +## Method + +Reference of a method attached to the object. Object methods generally "manage" the object while the form is displayed or printed. You do not call an object method—4D calls it automatically when an event involves the object to which the object method is attached. + +Several types of method references are supported: + +- a standard object method file path, i.e. that uses the following pattern: `ObjectMethods/objectName.4dm` ... where `objectName` is the actual [object name](properties_Object.md#object-name). This type of reference indicates that the method file is located at the default location ("sources/forms/*formName*/ObjectMethods/"). In this case, 4D automatically handles the object method when operations are executed on the form object (renaming, duplication, copy/paste...) + +- a project method name: name of an existing project method without file extension, i.e.: `myMethod` In this case, 4D does not provide automatic support for object operations. + +- a custom method file path including the .4dm extension, e.g.: `ObjectMethods/objectName.4dm` You can also use a filesystem: `/RESOURCES/Buttons/bOK.4dm` In this case, 4D does not provide automatic support for object operations. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------ | --------------- | ------------------------------------------------------------------ | +| method | Texte | Object method standard or custom file path, or project method name | + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Movable Rows +`Array type list boxes` + +Authorizes the movement of rows during execution. This option is selected by default. It is not available for [selection type list boxes](listbox_overview.md#selection-list-boxes) nor for [list boxes in hierarchical mode](properties_Hierarchy.md#hierarchical-list-box). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------- | --------------- | --------------- | +| movableRows | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + + +--- +## Multi-selectable + +Allows the selection of multiple records/options in a [hierarchical list](list_overview.md). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | ---------------------------- | +| selectionMode | Texte | "multiple", "single", "none" | + +#### Objects Supported + +[Hierarchical List](list_overview.md) + + + + +--- +## Sortable + +Allows sorting column data by clicking a [listbox](listbox_overview.md) header. This option is selected by default. Picture type arrays (columns) cannot be sorted using this feature. + +In list boxes based on a selection of records, the standard sort function is available only: +* When the data source is *Current Selection*, +* With columns associated with fields (of the Alpha, Number, Date, Time or Boolean type). + +In other cases (list boxes based on named selections, columns associated with expressions), the standard sort function is not available. A standard list box sort changes the order of the current selection in the database. However, the highlighted records and the current record are not changed. A standard sort synchronizes all the columns of the list box, including calculated columns. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------- | --------------- | --------------- | +| sortable | boolean | true, false | + +#### Objects Supported +[List Box](listbox_overview.md) + + + + + + +--- +## Standard action +Typical activities to be performed by active objects (*e.g.*, letting the user accept, cancel, or delete records, move between records or from page to page in a multi-page form, etc.) have been predefined by 4D as standard actions. They are described in detail in the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section of the *Design Reference*. + +You can assign both a standard action and a project method to an object. In this case, the standard action is usually executed after the method and 4D uses this action to enable/disable the object according to the current context. When an object is deactivated, the associated project method cannot be executed. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------ | --------------- | ---------------------------------------------------------------------------------------------------------------- | +| action | string | The name of a [valid standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html). | + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [List Box](listbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Tab control](tabControl.md) diff --git a/website/translated_docs/fr/FormObjects/properties_Animation.md b/website/translated_docs/fr/FormObjects/properties_Animation.md new file mode 100644 index 00000000000000..bf9ccf2b0a6844 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Animation.md @@ -0,0 +1,122 @@ +--- +id: propertiesAnimation +0: title:Animation +--- + +--- +## Loop back to first frame + +Pictures are displayed in a continuous loop. When the user reaches the last picture and clicks again, the first picture appears, and so forth. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------------------- | --------------- | --------------- | +| loopBackToFirstFrame | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + +--- +## Switch back when released + +Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released. This mode allows you to create an action button with a different picture for each state (idle and clicked). You can use this mode to create a 3D effect or display any picture that depicts the action of the button. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------------------- | --------------- | --------------- | +| switchBackWhenReleased | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch continuously on clicks + +Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation). When the user reaches the last picture, the object does not cycle back to the first picture. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------ | --------------- | --------------- | +| switchContinuously | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + +--- +## Switch every x ticks + +Enables cycling through the contents of the picture button at the specified speed (in ticks). In this mode, all other options are ignored. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | --------------- | +| frameDelay | integer | minimum: 0 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch when roll over + +Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------ | --------------- | --------------- | +| switchWhenRollover | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + +--- +## Use Last frame as disabled + +Enables setting the last thumbnail as the one to display when the button is disabled. The thumbnail used when the button is disabled is processed separately by 4D: when you combine this option with "Switch Continuously" and "Loop Back to First Frame", the last picture is excluded from the sequence associated with the button and only appears when it is disabled. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:---------------------- | --------------- | --------------- | +| useLastFrameAsDisabled | boolean | true, false | + + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + diff --git a/website/translated_docs/fr/FormObjects/properties_Appearance.md b/website/translated_docs/fr/FormObjects/properties_Appearance.md new file mode 100644 index 00000000000000..56950cac27f6dc --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Appearance.md @@ -0,0 +1,427 @@ +--- +id: propertiesAppearance +0: title:Appearance +--- + +## Default Button + +The default button property modifies a button's appearance in order to indicate the recommended choice to the user. The difference in appearance depends on the OS. + +| Sous Windows | macOS | +|:--------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------:| +| The default button has a blue outline.

    ![](assets/en/FormObjects/property_defaultButtonWindows.en.png) | The default buttons are blue.

    ![](assets/en/FormObjects/property_defaultButtonmacOS.en.png) | +> There can only be one default button per form page. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + defaultButton|boolean|true, false | + +#### Objects Supported + +[Regular Button](button_overview.md#regular) - [Flat Button](button_overview.md#regular) + + + + + + +## Hide focus rectangle + +During execution, a field or any enterable area is outlined by a selection rectangle when it has the focus (via the Tab key or a single click). You can hide this rectangle by enabling this property. Hiding the focus rectangle may be useful in the case of specific interfaces. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | --------------- | +| hideFocusRing | boolean | true, false | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Subform](subform_overview.md) + + + + +## Hide selection highlight +`Selection type list boxes` + +This property is used to disable the selection highlight in list boxes. + +When this option is enabled, the selection highlight is no longer visible for selections made in list boxes. Selections themselves are still valid and work in exactly the same way as previously; however, they are no longer represented graphically onscreen, and you will need to [define their appearance programmatically](listbox_overview.md#customizing-appearance-of-selected-rows). + +By default, this option is not enabled. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------- | --------------- | --------------- | +| hideSystemHighlight | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + +## Horizontal Scroll Bar + +An interface tool allowing the user to move the viewing area to the left or right. + +Available values: + +| Property List | JSON value | Description | +| ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Oui | "visible" | The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame). | +| Non | "hidden" | The scrollbar is never visible | +| Automatic | "automatic" | The scrollbar appears automatically whenever necessary and the user can enter text larger than the object width | + + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------- | --------------- | -------------------------------- | +| scrollbarHorizontal | Texte | "visible", "hidden", "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also +[Vertical scroll bar](#vertical-scroll-bar) + + +## Resolution + +Sets the screen resolution for the 4D Write Pro area contents. By default, it is set to 72 dpi (macOS), which is the standard resolution for 4D forms on all platforms. Setting this property to 96 dpi will set a windows/web rendering on both macOS and Windows platforms. Setting this property to **automatic** means that document rendering will differ between macOS and Windows platforms. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + dpi|number|0=automatic, 72, 96 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show background + +Displays/hides both background images and background color. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + showBackground|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show footers + +Displays/hides the footers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + showFooters|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Show Formula Bar + +When enabled, the formula bar is visible below the Toolbar interface in the 4D View Pro area. If not selected, the formula bar is hidden. + +> This property is available only for the [Toolbar](#user-interface) interface. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + withFormulaBar|boolean|true (default), false| + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + + +## Show headers + +Displays/hides the headers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + showHeaders|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show hidden characters + +Displays/hides invisible characters + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + showHiddenChars|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Show horizontal ruler + +Displays/hides the horizontal ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + showHorizontalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + + + +## Show HTML WYSYWIG + +Enables/disables the HTML WYSIWYG view, in which any 4D Write Pro advanced attributes which are not compliant with all browsers are removed. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + showHTMLWysiwyg|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show page frame + +Displays/hides the page frame when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + showPageFrames|boolean|true, false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show references + +Displays all 4D expressions inserted in the 4D Write Pro document as *references*. When this option is disabled, 4D expressions are displayed as *values*. By default when you insert a 4D field or expression, 4D Write Pro computes and displays its current value. Select this property if you wish to know which field or expression is displayed. The field or expression references then appear in your document, with a gray background. + +For example, you have inserted the current date along with a format, the date is displayed: + +![](assets/en/FormObjects/writePro1.png) + +With the Show references property on, the reference is displayed: + +![](assets/en/FormObjects/writeProExpr.png) + +> 4D expressions can be inserted using the `ST INSERT EXPRESSION` command. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + showReferences|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show vertical ruler + +Displays/hides the vertical ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + showVerticalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Tab Control Direction + +You can set the direction of tab controls in your forms. This property is available on all the platforms but can only be displayed in macOS. You can choose to place the tab controls on top (standard) or on the bottom. + +When tab controls with a custom direction are displayed under Windows, they automatically return to the standard direction (top). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + labelsPlacement|boolean|"top", "bottom" | + +#### Objects Supported + +[Tab Control](tabControl.md) + + + +## User Interface + +You can add an interface to 4D View Pro areas to allow end users to perform basic modifications and data manipulations. 4D View Pro offers two optional interfaces to choose from, **Ribbon** and **Toolbar**. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + userInterface|text|"none" (default), "ribbon", "toolbar" | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + + +#### See also + +[4D View Pro reference guide](https://doc.4d.com/4Dv18/4D/18/4D-View-Pro-Reference.100-4522233.en.html) + + +## Vertical Scroll Bar + +An interface tool allowing the user to move the viewing area up and down. + +Available values: + +| Property List | JSON value | Description | +| ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Oui | "visible" | The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame). | +| Non | "hidden" | The scrollbar is never visible | +| Automatic | "automatic" | The scrollbar appears automatically whenever necessary (in other words, when the size of the object contents is greater than that of the frame) | + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +> If a text input object does not have a scroll bar, the user can scroll the information using the arrow keys. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------------- | --------------- | -------------------------------- | +| scrollbarVertical | Texte | "visible", "hidden", "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also + +[Horizontal scroll bar](#horizontal-scroll-bar) + + +## View mode + +Sets the mode for displaying the 4D Write Pro document in the form area. Three values are available: + +- **Page**: the most complete view mode, which includes page outlines, orientation, margins, page breaks, headers and footers, etc. +- **Draft**: draft mode with basic document properties +- **Embedded**: view mode suitable for embedded areas; it does not display margins, footers, headers, page frames, etc. This mode can also be used to produce a web-like view output (if you also select the [96 dpi resolution](#resolution) and the [Show HTML WYSIWYG](#show-html-wysiwyg) properties). + +> The View mode property is only used for onscreen rendering. Regarding printing settings, specific rendering rules are automatically used. + + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + layoutMode|text|"page", "draft", "embedded"| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Zoom + +Sets the zoom percentage for displaying 4D Write Pro area contents. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| | | | + zoom|number|minimum = 0 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + diff --git a/website/translated_docs/fr/FormObjects/properties_BackgroundAndBorder.md b/website/translated_docs/fr/FormObjects/properties_BackgroundAndBorder.md new file mode 100644 index 00000000000000..5e771e4febe419 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_BackgroundAndBorder.md @@ -0,0 +1,225 @@ +--- +id: propertiesBackgroundAndBorder +title: Background and Border +--- + +--- +## Alternate Background Color + +Allows setting a different background color for odd-numbered rows/columns in a list box. By default, *Automatic* is selected: the column uses the alternate background color set at the list box level. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | ----------------------------------------- | +| alternateFill | string | any css value; "transparent"; "automatic" | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + + + +--- +## Background Color / Fill Color + +Defines the background color of an object. + +In the case of a list box, by default *Automatic* is selected: the column uses the background color set at the list box level. + +#### JSON Grammar + + +| Name | Type de données | Possible Values | +| ------------ | --------------- | ----------------------------------------- | +| border-style | string | any css value; "transparent"; "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-footers) - [Oval](shapes_overview.md#oval) - [Rectangle](shapes_overview.md#rectangle) + +#### See also +[Transparent](#transparent) + + +--- +## Background Color Expression + +`Selection and collection type list boxes` + +An expression or a variable (array variables cannot be used) to apply a custom background color to each row of the list box. The expression or variable will be evaluated for each row displayed and must return a RGB color value. For more information, refer to the description of the `OBJECT SET RGB COLORS` command in the *4D Language Reference manual*. +> With collection or entity selection type list boxes, this property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | ----------------------------------------- | +| rowFillSource | string | An expression returning a RGB color value | + +#### Objects Supported +[List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Border Line Style / Dotted Line Type + +Allows setting a standard style for the object border. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------- | --------------- | ----------------------------------------------------------------- | +| borderStyle | Texte | "system", "none", "solid", "dotted", "raised", "sunken", "double" | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Rectangle](shapes_overview.md#rectangle) - [Plug-in Area](pluginArea_overview.md#overview) - [Subform](subform_overview.md#overview) - [Web Area](webArea_overview.md#overview) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [4D Write Pro areas](writeProArea_overview.md) + + + + +--- +## Dotted Line Type + +Describes dotted line type as a sequence of black and white points. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------------- | ---------------------- | ------------------------------------------------------------------------ | +| strokeDashArray | number array or string | Ex. "6 1" or \[6,1\] for a sequence of 6 black point and 1 white point | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + + +--- +## Hide extra blank rows + +Controls the display of extra blank rows added at the bottom of a list box object. By default, 4D adds such extra rows to fill the empty area: + +![](assets/en/FormObjects/property_hideExtraBlankRows1.png) + +You can remove these empty rows by selecting this option. The bottom of the list box object is then left blank: + +![](assets/en/FormObjects/property_hideExtraBlankRows2.png) + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------ | --------------- | --------------- | +| hideExtraBlankRows | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + +--- +## Font Color / Line Color + +For objects containing text (text, input, group box, list box header or footer), designates the font color. + +For shape objects (rectangle, line, oval), designates the color of the object's lines. + +#### JSON Grammar + + +| Name | Type de données | Possible Values | +| ------ | --------------- | ----------------------------------------- | +| stroke | string | any css value, "transparent", "automatic" | + +#### Objects Supported + +[Group box](groupBox.md) - [Text](text.md) - [Input](input_overview.md) - [List box header](listbox_overview.md#header) - [List box footer](listbox_overview.md#footer) - [Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + +--- +## Line Width + +Designates the thickness of a line. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------- | --------------- | ----------------------------------------------------------------- | +| strokeWidth | number | 0 for smallest width on a printed form, or any integer value < 20 | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + + + + + +--- +## Row Background Color Array + +`Array type list boxes` + +The name of an array to apply a custom background color to each row of the list box or column. + +The name of a Longint array must be entered. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. + +For example, given a list box where the rows have an alternating gray/light gray color, defined in the properties of the list box. A background color array has also been set for the list box in order to switch the color of rows where at least one value is negative to light orange: + +```code4d + <>_BgndColors{$i}:=0x00FFD0B0 // orange + <>_BgndColors{$i}:=-255 // default value +``` +![](assets/en/FormObjects/listbox_styles1.png) + +Next you want to color the cells with negative values in dark orange. To do this, you set a background color array for each column, for example <>_BgndColor_1, <>_BgndColor_2 and <>_BgndColor_3. The values of these arrays have priority over the ones set in the list box properties as well as those of the general background color array: + +```code4d + <>_BgndColorsCol_3{2}:=0x00FF8000 // dark orange + <>_BgndColorsCol_2{5}:=0x00FF8000 + <>_BgndColorsCol_1{9}:=0x00FF8000 + <>_BgndColorsCol_1{16}:=0x00FF8000 +``` +![](assets/en/FormObjects/listbox_styles2.png) + +You can get the same result using the `LISTBOX SET ROW FONT STYLE` and `LISTBOX SET ROW COLOR` commands. They have the advantage of letting you skip having to predefine style/color arrays for the columns: instead they are created dynamically by the commands. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | ---------------------------- | +| rowFillSource | string | The name of a longint array. | + +#### Objects Supported +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Transparent + +Sets the list box background to "Transparent". When set, any [alternate background color](#alternate-background-color) or [background color](#background-color-fill-color) defined for the column is ignored. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | --------------- | +| border-style | Texte | "transparent" | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + +#### See also +[Background Color / Fill Color](#background-color-fill-color) \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/properties_CoordinatesAndSizing.md b/website/translated_docs/fr/FormObjects/properties_CoordinatesAndSizing.md new file mode 100644 index 00000000000000..e9352a97f0a6d0 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_CoordinatesAndSizing.md @@ -0,0 +1,284 @@ +--- +id: propertiesCoordinatesAndSizing +0: title:Coordinates & Sizing +--- + +--- +## Automatic Row Height +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is only available for array-based, non-hierarchical list boxes. The property is not selected by default. + +When used, the height of every row in the column will automatically be calculated by 4D, and the column contents will be taken into account. Note that only columns with the option selected will be taken into account to calculate the row height. +> When resizing the form, if the "Grow" [horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + +When this property is enabled, the height of every row is automatically calculated in order to make the cell contents entirely fit without being truncated (unless the [Wordwrap](properties_Display.md#wordwrap) option is disabled. + +* The row height calculation takes into account: + * any content types (text, numerics, dates, times, pictures (calculation depends on the picture format), objects), + * any control types (inputs, check boxes, lists, dropdowns), + * fonts, fonts styles and font sizes, + * the [Wordwrap](properties_Display.md#wordwrap) option: if disabled, the height is based on the number of paragraphs (lines are truncated); if enabled, the height is based on number of lines (not truncated). + +* The row height calculation ignores: + * hidden column contents + * [Row Height](#row-height) and [Row Height Array](#row-height-array) properties (if any) set either in the Property list or by programming. +> Since it requires additional calculations at runtime, the automatic row height option could affect the scrolling fluidity of your list box, in particular when it contains a large number of rows. + + + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | --------------- | +| rowHeightAuto | boolean | true, false | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Bottom + +Bottom coordinate of the object in the form. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------ | --------------- | --------------- | +| bottom | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Left + +Left coordinate of the object on the form. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| left | number | minimum: 0 | + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Right + +Right coordinate of the object in the form. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----- | --------------- | --------------- | +| right | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Top + +Top coordinate of the object in the form. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | --------------- | +| top | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Corner Radius + +Defines the corner roundness (in pixels) of objects of the [rectangle](shapes_overview.md#rectangle) type. By default, the radius value for rectangles is 0 pixels. You can change this property to draw rounded rectangles with custom shapes: + +![](assets/en/FormObjects/shape_rectangle.png) + +Minimum value is 0, in this case a standard non-rounded rectangle is drawn. Maximum value depends on the rectangle size (it cannot exceed half the size of the shortest rectangle side) and is calculated dynamically. + +You can also set this property using the [OBJECT Get corner radius](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-Get-corner-radius.301-4311357.en.html) and [OBJECT SET CORNER RADIUS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-CORNER-RADIUS.301-4311356.en.html) commands. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | --------------- | +| borderRadius | integer | minimum: 0 | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) + + + + +--- +## Height + +This property designates an object's vertical size. +> Some objects may have a predefined height that cannot be altered. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------ | --------------- | --------------- | +| height | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Width + +This property designates an object's horizontal size. +> * Some objects may have a predefined height that cannot be altered. +> * If the [Resizable](properties_ResizingOptions.md#resizable) property is used for a [list box column](listbox_overview.md#list-box-columns), the user can also manually resize the column. +> * When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----- | --------------- | --------------- | +| width | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + + + + + + +--- +## Maximum Width + +The maximum width of the column (in pixels). The width of the column cannot be increased beyond this value when resizing the column or form. +> When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------- | --------------- | --------------- | +| maxWidth | number | minimum: 0 | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + +--- +## Minimum Width + +The minimum width of the column (in pixels). The width of the column cannot be reduced below this value when resizing the column or form. +> When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------- | --------------- | --------------- | +| minWidth | number | minimum: 0 | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + + + +--- +## Row Height + + +Sets the height of list box rows (excluding headers and footers). By default, the row height is set according to the platform and the font size. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------- | --------------- | ---------------------------------------- | +| rowHeight | string | css value in unit "em" or "px" (default) | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height Array](#row-height-array) + + + +--- +## Row Height Array +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is used to specify the name of a row height array that you want to associate with the list box. A row height array must be of the numeric type (longint by default). + +When a row height array is defined, each of its elements whose value is different from 0 (zero) is taken into account to determine the height of the corresponding row in the list box, based on the current Row Height unit. + +For example, you can write: + +```code4d +ARRAY LONGINT(RowHeights;20) +RowHeights{5}:=3 +``` + +Assuming that the unit of the rows is "lines," then the fifth row of the list box will have a height of three lines, while every other row will keep its default height. +> * The Row Height Array property is not taken into account for hierarchical list boxes. +> * For array-based list boxes, this property is available only if the [Automatic Row Height](#automatic-row-height) option is not selected. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------------- | --------------- | ---------------------------- | +| rowHeightSource | string | Name of a 4D array variable. | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height](#row-height) + + + + diff --git a/website/translated_docs/fr/FormObjects/properties_Crop.md b/website/translated_docs/fr/FormObjects/properties_Crop.md new file mode 100644 index 00000000000000..d38ddd75826a84 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Crop.md @@ -0,0 +1,47 @@ +--- +id: propertiesCrop +0: title:Crop +--- + +--- +## Columns + +Sets the number of columns in a thumbnail table. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:----------- |:---------------:| --------------- | +| columnCount | integer | minimum: 1 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + +--- +## Rows + +Sets the number of rows in a thumbnail table. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:-------- |:---------------:| --------------- | +| rowCount | integer | minimum: 1 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + + + + + + + diff --git a/website/translated_docs/fr/FormObjects/properties_DataSource.md b/website/translated_docs/fr/FormObjects/properties_DataSource.md new file mode 100644 index 00000000000000..22a196d952e8a2 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_DataSource.md @@ -0,0 +1,290 @@ +--- +id: propertiesDataSource +title: Data Source +--- + +--- +## Automatic Insertion + +When this option is selected, if a user enters a value that is not found in the choice list associated with the object, this value is automatically added to the list stored in memory. You can associate choice lists to objects using: +- the [Choice List](properties_DataSource.md#choice-list) JSON property +- the [OBJECT SET LIST BY NAME](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-NAME.301-4128227.en.html) or [OBJECT SET LIST BY REFERENCE](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-REFERENCE.301-4128237.en.html) commands. +- the form editor's Property List. + +For example, given a choice list containing "France, Germany, Italy" that is associated with a "Countries" combo box: if the **automatic insertion** property is set and a user enters "Spain", then the value "Spain" is automatically added to the list in memory: + +![](assets/en/FormObjects/comboBox_AutomaticInsertion_example.png) + +Naturally, the value entered must not belong to the list of [excluded values](properties_RangeOfValues.md#excluded-list) associated with the object, if one has been set. +> If the list was created from a list defined in Design mode, the original list is not modified. + +When the **automatic insertion** option is not selected (default), the value entered is stored in the object but not in the list in memory. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------ | --------------- | --------------- | +| automaticInsertion | boolean | true, false | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Choice List + +Associates a choice list with an object. It can be a choice list name (a list reference) or a collection of default values. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | ---------------- | --------------------------------------------------- | +| choiceList | list, collection | A list of possible values | +| list | list, collection | A list of possible values (hierarchical lists only) | + + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Choice List (static list) + +List of static values to use as labels for the tab control object. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------ | ---------------- | ---------------------------------------- | +| labels | list, collection | A list of values to fill the tab control | + +#### Objects Supported + +[Tab Control](tabControl.md) + + +--- +## Current item +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the collection element/entity selected by the user. You must use an object variable or an assignable expression that accepts objects. If the user does not select anything or if you used a collection of scalar values, the Null value is assigned. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------------- | --------------- | ----------------- | +| currentItemSource | string | Object expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + + + +--- + +## Current item position +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned a longint indicating the position of the collection element/entity selected by the user. + +* if no element/entity is selected, the variable or expression receives zero, +* if a single element/entity is selected, the variable or expression receives its location, +* if multiple elements/entities are selected, the variable or expression receives the position of element/entity that was last selected. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------------- | --------------- | ----------------- | +| currentItemPositionSource | string | Number expression | + +#### Objects Supported +[List Box ](listbox_overview.md) + + + + + +--- +## Type de données + +Please refer to [Expression Type](properties_Object.md#expression-type) section. + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- + +## Default (list of) values + +List of values that will be used as default values for the list box column (array type only). These values are automatically available in the [array variable](properties_Object.md#variable-or-expression) associated with this column when the form is executed. Using the language, you can manage the object by referring to this array. + +> Do not make confusion between this property and the "[default value](properties_RangeOfValues.md#default-list-of-values)" property that allows to define a field value in new records. + +You must enter a list of values. In the Form editor, a specific dialog box allows you to enter values separated by carriage returns: + +![](assets/en/FormObjects/defaultValues.png) + +> You can also define a [choice list](properties_DataSource.md#choice-list) with the list box column. However, a choice list will be used as list of selectable values for each column row, whereas the default list fill all column rows. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------ | --------------- | ---------------------------------------------------------------- | +| values | collection | A collection of default values (strings), ex: "a", "b", "c", "d" | + +#### Objects Supported + +[List Box Column (array type only)](listbox_overview.md#list-box-columns) + + + + +--- +## Expression + +This description is specific to [selection](listbox_overview.md#selection-list-boxes) and [collection](listbox_overview.md#collection-or-entity-selection-list-boxes) type list box columns. See also **[Variable or Expression](properties_Object.md#variable-or-expression)** section. + +A 4D expression to be associated with a column. You can enter: + +- A **simple variable** (in this case, it must be explicitly declared for compilation). You can use any type of variable except BLOBs and arrays. The value of the variable will be generally calculated in the `On Display Detail` event. + +- A **field** using the standard [Table]Field syntax ([selection type list box](listbox_overview.md#selection-list-boxes) only), for example: `[Employees]LastName`. The following types of fields can be used: + * Chaine + * Numeric + * Date + * Heure + * Image + * Boolean You can use fields from the Master Table or from other tables. + +- A **4D expression** (simple expression, formula or 4D method). The expression must return a value. The value will be evaluated in the `On Display Detail` and `On Data Change` events. The result of the expression will be automatically displayed when you switch to Application mode. The expression will be evaluated for each record of the selection (current or named) of the Master Table (for selection type list boxes), each element of the collection (for collection type list boxes) or each entity of the selection (for entity selection list boxes). If it is empty, the column will not display any results. The following expression types are supported: + * Chaine + * Numeric + * Date + * Image + * Booléen + + For collection/entity selection list boxes, Null or unsupported types are displayed as empty strings. When using collections or entity selections, you will usually declare the element property or entity attribute associated to a column within an expression containing [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html). `This` is a dedicated 4D command that returns a reference to the currently processed element. For example, you can use **This.\** where **\** is the path of a property in the collection or an entity attribute path to access the current value of each element/entity. If you use a collection of scalar values, 4D will create an object for each collection element with a single property (named "value"), filled with the element value. In this case, you will use **This.value** as expression. + + If a [non-assignable expression](Concepts/quick-tour.md#expressions) is used (e.g. `[Person]FirstName+" "+[Person]LastName`), the column is never enterable even if the [Enterable](properties_Entry.md#enterable) property is enabled. + +If a field, a variable, or an assignable expression (*e.g. Person.lastName*) is used, the column can be enterable or not depending on the [Enterable](properties_Entry.md#enterable) property. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | ----------------------------------------------------------------------- | +| dataSource | string | A 4D variable, field name, or an arbitrary complex language expression. | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Master Table +`Current selection list boxes` + +Specifies the table whose current selection will be used. This table and its current selection will form the reference for the fields associated with the columns of the list box (field references or expressions containing fields). Even if some columns contain fields from other tables, the number of rows displayed will be defined by the master table. + +All database tables can be used, regardless of whether the form is related to a table (table form) or not (project form). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----- | --------------- | --------------- | +| table | number | Table number | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + + + +--- + +## Save as + + +This property is available in the following conditions: + +- a [choice list](#choice-list) is associated with the object +- for [inputs](input_overview.md) and [list box columns](listbox_overview.md#list-box-columns), a [required list](properties_RangeOfValues.md#required-list) is also defined for the object (both options should use usually the same list), so that only values from the list can be entered by the user. + +This property specifies, in the context of a field or variable associated with a list of values, the type of contents to save: + +- **Save as Value** (default option): the value of the item chosen in the list by the user is saved directly. For example, if the user chooses the value "Blue", then this value is saved in the field. +- **Save as Reference**: the reference of the choice list item is saved in the object. This reference is the numeric value associated with each item either through the *itemRef* parameter of the `APPEND TO LIST` or `SET LIST ITEM` commands, or in the lists editor. + +This option lets you optimize memory usage: storing numeric values in fields uses less space than storing strings. It also makes it easier to translate applications: you just create multiple lists in different languages but with the same item references, then load the list based on the language of the application. + +Using this property requires compliance with the following principles: + +- To be able to store the reference, the field or variable data source must be of the Number type (regardless of the type of value displayed in the list). +- Valid and unique references must be associated with list items. +- If you use this property for a [drop-down list](dropdownList_Overview.md), it must be associated with a field. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------ | --------------- | -------------------- | +| saveAs | string | "value", "reference" | + +#### Objects Supported +[Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Selected Items +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the elements or entities selected by the user. + +* for a collection list box, you must use a collection variable or an assignable expression that accepts collections, +* for an entity selection list box, an entity selection object is built. You must use an object variable or an assignable expression that accepts objects. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------- | --------------- | --------------------- | +| selectedItemsSource | string | Collection expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + +--- +## Selection Name +`Named selection list boxes` + +Specifies the named selection to be used. You must enter the name of a valid named selection. It can be a process or interprocess named selection. The contents of the list box will be based on this selection. The named selection chosen must exist and be valid at the time the list box is displayed, otherwise the list box will be displayed blank. + +> Named selections are ordered lists of records. They are used to keep the order and current record of a selection in memory. For more information, refer to **Named Selections** section in the *4D Language Reference manual*. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------------- | --------------- | -------------------- | +| namedSelection | string | Named selection name | + +#### Objects Supported +[List Box](listbox_overview.md#overview) diff --git a/website/translated_docs/fr/FormObjects/properties_Display.md b/website/translated_docs/fr/FormObjects/properties_Display.md new file mode 100644 index 00000000000000..8b03c8c3256044 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Display.md @@ -0,0 +1,611 @@ +--- +id: propertiesDisplay +0: title:Display +--- + +--- +## Alpha Format + +Alpha formats control the way the alphanumeric fields and variables appear when displayed or printed. Here is a list of formats provided for alphanumeric fields: + +![](assets/en/FormObjects/property_alphaFormat.png) + +You can choose a format from this list or use any custom format. The default list contains formats for some of the most common alpha fields that require formats: US telephone numbers (local and long distance), Social Security numbers, and zip codes. You can also enter a custom format name set in the Filters and formats editor of the tool box. In this case, the format cannot be modified in the object properties. Any custom formats or filters that you have created are automatically available, preceded by a vertical bar (|). + +The number sign (#) is the placeholder for an alphanumeric display format. You can include the appropriate dashes, hyphens, spaces, and any other punctuation marks that you want to display. You use the actual punctuation marks you want and the number sign for each character you want to display. + +For example, consider a part number with a format such as "RB-1762-1". + +The alpha format would be: + + ##-####-# + +When the user enters "RB17621," the field displays: + + RB-1762-1 + +The field actually contains "RB17621". + +If the user enters more characters than the format allows, 4D displays the last characters. For example, if the format is: + + (#######) + +and the user enters "proportion", the field displays: + + (portion) + +The field actually contains "proportion". 4D accepts and stores the entire entry no matter what the display format. No information is lost. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | ------------------------------------------------------------------------------------ | +| textFormat | string | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats | + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + + + +--- + +## Date Format + +Date formats control the way dates appear when displayed or printed. For data entry, you enter dates in the MM/DD/YYYY format, regardless of the display format you have chosen. +> Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for dates must only be selected among the 4D built-in formats. + +The table below shows choices available: + +| Format name | JSON String | Example (US system) | +| ------------------------------- | ------------ | ----------------------------- | +| System date short | - (default) | 03/25/20 | +| System date abbreviated *(1)* | systemMedium | Wed, Mar 25, 2020 | +| System date long | systemLong | Wednesday, March 25, 2020 | +| RFC 822 | rfc822 | Tue, 25 Mar 2020 22:00:00 GMT | +| Short Century | shortCentury | 03/25/20 but 04/25/2032 *(2)* | +| Internal date long | long | March 25, 2020 | +| Internal date abbreviated *(1)* | abbreviated | Mar 25, 2020 | +| Internal date short | short | 03/25/2020 | +| ISO Date Time *(3)* | iso8601 | 2020-03-25T00:00:00 | + +*(1)* To avoid ambiguity and in accordance with current practice, the abbreviated date formats display "jun" for June and "jul" for July. This particularity only applies to French versions of 4D. + +*(2)* The year is displayed using two digits when it belongs to the interval (1930;2029) otherwise it will be displayed using four digits. This is by default but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + +*(3)* The `ISO Date Time` format corresponds to the XML date and time representation standard (ISO8601). It is mainly intended to be used when importing/exporting data in XML format and in Web Services. +> Regardless of the display format, if the year is entered with two digits then 4D assumes the century to be the 21st if the year belongs to the interval (00;29) and the 20th if it belongs to the interval (30;99). This is the default setting but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dateFormat | string | "systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + +--- +## Number Format +> Number fields include the Integer, Long integer, Integer 64 bits, Real and Float types. + +Number formats control the way numbers appear when displayed or printed. For data entry, you enter only the numbers (including a decimal point or minus sign if necessary), regardless of the display format you have chosen. + +4D provides various default number formats. + +### Placeholders + +In each of the number display formats, the number sign (#), zero (0), caret (^), and asterisk (*) are used as placeholders. You create your own number formats by using one placeholder for each digit you expect to display. + +| Placeholder | Effect for leading or trailing zero | +| ----------- | ----------------------------------- | +| # | Displays nothing | +| 0 | Displays 0 | +| ^ | Displays a space (1) | +| * | Displays an asterisk | + +(1) The caret (^) generates a space character that occupies the same width as a digit in most fonts. + + +For example, if you want to display three-digit numbers, you could use the format ###. If the user enters more digits than the format allows, 4D displays <<< in the field to indicate that more digits were entered than the number of digits specified in the display format. + + +If the user enters a negative number, the leftmost character is displayed as a minus sign (unless a negative display format has been specified). If ##0 is the format, minus 26 is displayed as –26 and minus 260 is displayed as <<< because the minus sign occupies a placeholder and there are only three placeholders. +> No matter what the display format, 4D accepts and stores the number entered in the field. No information is lost. + +Each placeholder character has a different effect on the display of leading or trailing zeros. A leading zero is a zero that starts a number before the decimal point; a trailing zero is a zero that ends a number after the decimal point. + +Suppose you use the format ##0 to display three digits. If the user enters nothing in the field, the field displays 0. If the user enters 26, the field displays 26. + + +### Separator characters + +The numeric display formats (except for scientific notations) are automatically based on regional system parameters. 4D replaces the “.” and “,” characters by, respectively, the decimal separator and the thousand separator defined in the operating system. The period and comma are thus considered as placeholder characters, following the example of 0 or #. +> On Windows, when using the decimal separator key of the numeric keypad, 4D makes a distinction depending on the type of field where the cursor is located: * in a Real type field, using this key will insert the decimal separator defined in the system, * in any other type of field, this key inserts the character associated with the key, usually a period (.) or comma (,). + + +### Decimal points and other display characters + +You can use a decimal point in a number display format. If you want the decimal to display regardless of whether the user types it in, it must be placed between zeros. + +You can use any other characters in the format. When used alone, or placed before or after placeholders, the characters always appear. For example, if you use the following format: + + $##0 + +a dollar sign always appears because it is placed before the placeholders. + +If characters are placed between placeholders, they appear only if digits are displayed on both sides. For example, if you define the format: + + ###.##0 + +the point appears only if the user enters at least four digits. + +Spaces are treated as characters in number display formats. + +### Formats for positive, negative, and zero + +A number display format can have up to three parts allowing you to specify display formats for positive, negative, and zero values. You specify the three parts by separating them with semicolons as shown below: + + Positive;Negative;Zero + +You do not have to specify all three parts of the format. If you use just one part, 4D uses it for all numbers, placing a minus sign in front of negative numbers. + +If you use two parts, 4D uses the first part for positive numbers and zero and the second part for negative numbers. If you use three parts, the first is for positive numbers, the second for negative numbers, and the third for zero. +> The third part (zero) is not interpreted and does not accept replacement characters. If you enter `###;###;#`, the zero value will be displayed “#”. In other words, what you actually enter is what will be displayed for the zero value. + +Here is an example of a number display format that shows dollar signs and commas, places negative values in parentheses, and does not display zeros: + + $###,##0.00;($###,##0.00); + +Notice that the presence of the second semicolon instructs 4D to use nothing to display zero. The following format is similar except that the absence of the second semicolon instructs 4D to use the positive number format for zero: + + $###,##0.00;($###,##0.00) + +In this case, the display for zero would be $0.00. + +### Scientific notation + +If you want to display numbers in scientific notation, use the **ampersand** (&) followed by a number to specify the number of digits you want to display. For example, the format: + + &3 + +would display 759.62 as: + + 7.60e+2 + + +The scientific notation format is the only format that will automatically round the displayed number. Note in the example above that the number is rounded up to 7.60e+2 instead of truncating to 7.59e+2. + +### Hexadecimal formats + +You can display a number in hexadecimal using the following display formats: + +* `&x`: This format displays hexadecimal numbers using the “0xFFFF” format. +* `&$`: This format displays hexadecimal numbers using the “$FFFF” format. + +### XML notation + +The `&xml` format will make a number compliant with XML standard rules. In particular, the decimal separator character will be a period "." in all cases, regardless of the system settings. + +### Displaying a number as a time + +You can display a number as a time (with a time format) by using `&/` followed by a digit. Time is determined by calculating the number of seconds since midnight that the value represents. The digit in the format corresponds to the order in which the time format appears in the Format drop-down menu. + +For example, the format: + + &/5 + +corresponds to the 5th time format in the pop-up menu, specifically the AM/PM time. A number field with this format would display 25000 as: + + 6:56 AM + +### Exemples + +The following table shows how different formats affect the display of numbers. The three columns — Positive, Negative, and Zero — each show how 1,234.50, –1,234.50, and 0 would be displayed. + +| Format Entered | Positive | Negative | Zero | +| -------------------------------------- | ---------------- | ------------- | ---------------------------- | +| ### | <<< | <<< | | +| #### | 1234 | <<<< | | +| ####### | 1234 | -1234 | | +| #####.## | 1234.5 | -1234.5 | | +| ####0.00 | 1234.50 | -1234.50 | 0.00 | +| #####0 | 1234 | -1234 | 0 | +| +#####0;–#####0;0 | +1234 | -1234 | 0 | +| #####0DB;#####0CR;0 | 1234DB | 1234CR | 0 | +| #####0;(#####0) | 1234 | (1234) | 0 | +| ###,##0 | 1,234 | -1,234 | 0 | +| ##,##0.00 | 1,234.50 | -1,234.50 | 0.00 | +| \^\^\^\^\^\^\^ | 1234 | -1234 | | +| \^\^\^\^\^\^0 | 1234 | -1234 | 0 | +| \^\^\^,\^\^0 | 1,234 | -1,234 | 0 | +| \^\^,\^\^0.00 | 1,234.50 | -1,234.50 | 0.00 | +| \*\*\*\*\*\*\* | \*\*\*1234 | \*\*-1234 | \*\*\*\*\*\*\* | +| \*\*\**\*\*0 | \*\*\*1234 | \*\*-1234 | \*\*\*\*\*\*0 | +| \*\*\*,*\*0 | \*\*1,234 | \*-1,234 | \*\*\*\*\*\*0 | +| \*\*,\*\*0.00 | \*1,234.50 | -1,234.50 | \*\*\*\*\*0.00 | +| $\*,\*\*0.00;–$\*,\*\*0.00 | $1,234.50 | -$1,234.50 | $\*\*\*\*0.00 | +| $\^\^\^\^0 | $ 1234 | $–1234 | $ 0 | +| $\^\^\^0;–$\^\^\^0 | $1234 | –$1234 | $ 0 | +| $\^\^\^0 ;($\^\^\^0) | $1234 | ($1234) | $ 0 | +| $\^,\^\^0.00 ;($\^,\^\^0.00) | $1,234.50 | ($1,234.50) | $ 0.00 | +| &2 | 1.2e+3 | -1.2e+3 | 0.0e+0 | +| &5 | 1.23450e+3 | -1.23450e+3 | 0.00000 | +| &xml | 1234.5 | -1234.5 | 0 | + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | -------------------------------------------------------------- | +| numberFormat | string | Numbers (including a decimal point or minus sign if necessary) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Progress Indicators](progressIndicator.md) + + + + + + +--- +## Picture Format + +Picture formats control how pictures appear when displayed or printed. For data entry, the user always enters pictures by pasting them from the Clipboard or by drag and drop, regardless of the display format. + +The truncation and scaling options do not affect the picture itself. The contents of a Picture field are always saved. Only the display on the particular form is affected by the picture display format. + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Truncated (centered and non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Truncated (centered)** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. +> When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + +### Scaled to fit (proportional) and Scaled to fit centered (proportional) + +`JSON grammar: "proportionalTopLeft" / "proportionalCenter"` + +When you use **Scaled to fit (proportional)**, the picture is reduced proportionally on all sides to fit the area created for the picture. The **Scaled to fit centered (proportional)** option does the same, but centers the picture in the picture area. + +If the picture is smaller than the area set in the form, it will not be modified. If the picture is bigger than the area set in the form, it is proportionally reduced. Since it is proportionally reduced, the picture will not appear distorted. + +If you have applied the **Scaled to fit centered (proportional)** format, the picture is also centered in the area: + +![](assets/en/FormObjects/property_pictureFormat_ScaledProportional.png) + + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | ----------------------------------------------------------------------------------------------------- | +| pictureFormat | string | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft", "proportionalCenter" | + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + +--- +## Time Format + +Time formats control the way times appear when displayed or printed. For data entry, you enter times in the 24-hour HH:MM:SS format or the 12-hour HH:MM:SS AM/PM format, regardless of the display format you have chosen. +> Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for times must only be selected among the 4D built-in formats. + +The table below shows the Time field display formats and gives examples: + +| Format name | JSON string | Commentaires | Example for 04:30:25 | +| ---------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------- | +| HH:MM:SS | hh_mm_ss | | 04:30:25 | +| HH:MM | hh_mm | | 04:30 | +| Hour Min Sec | HH_MM_SS | | 4 hours 30 minutes 25 seconds | +| Hour Min | HH_MM | | 4 hours 30 minutes | +| HH:MM AM/PM | hh_mm_am | | 4:30 a.m. | +| MM SS | mm_ss | Time expressed as a duration from 00:00:00 | 270:25 | +| Min Sec | MM_SS | Time expressed as a duration from 00:00:00 | 270 Minutes 25 Seconds | +| ISO Date Time | iso8601 | Corresponds to the XML standard for representing time-related data. It is mainly intended to be used when importing/exporting data in XML format | 0000-00-00T04:30:25 | +| System time short | - (default) | Standard time format defined in the system | 04:30:25 | +| System time long abbreviated | systemMedium | macOS only: Abbreviated time format defined in the system.
    Windows: this format is the same as the System time short format | 4•30•25 AM | +| System time long | systemLong | macOS only: Long time format defined in the system.
    Windows: this format is the same as the System time short format | 4:30:25 AM HNEC | + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timeFormat | string | "systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + +--- +## Text when False/Text when True + +When a [boolean expression](properties_Object.md#expression-type) is displayed as: +- a text in an [input object](input_overview.md) +- a ["popup"](properties_Display.md#display-type) in a [list box column](listbox_overview.md#list-box-columns), + +... you can select the text to display for each value: +- **Text when True** - the text to be displayed when the value is "true" +- **Text when False** - the text to be displayed when the value is "false" + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | ------------------------------------------------------------------------ | +| booleanFormat | string | "\<*textWhenTrue*\>;\<*textWhenFalse*\>", e.g. "Assigned;Unassigned" | + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + +--- +## Display Type + +Used to associate a display format with the column data. The formats provided depends on the variable type (array type list box) or the data/field type (selection and collection type list boxes). + +Boolean and number (numeric or integer) columns can be displayed as check boxes. In this case, the [Title](#title) property can be defined. + +Boolean columns can also be displayed as pop-up menus. In this case, the [Text when False and Text when True](#text-when-false-text-when-true) properties must be defined. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| controlType | string |

  • **number columns**: "automatic" (default) or "checkbox"
  • **boolean columns**: "checkbox" (default) or "popup" | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Not rendered + +When this property is enabled, the object is not drawn on the form, however it can still be activated. + +In particular, this property allows implementing "invisible" buttons. Non-rendered buttons can be placed on top of graphic objects. They remain invisible and do not highlight when clicked, however their action is triggered when they are clicked. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------- | --------------- | --------------- | +| display | boolean | true, false | + +#### Objects Supported + +[Button](button_overview.md) - [Drop-down List](dropdownList_Overview.md) + + + + + + + +--- +## Three-States + +Allows a check box object to accept a third state. The variable associated with the check box returns the value 2 when the check box is in the third state. + + +#### Three-states check boxes in list box columns + +List box columns with a numeric [data type](properties_Object.md#expression-type) can be displayed as three-states check boxes. If chosen, the following values are displayed: +* 0 = unchecked box, +* 1 = checked box, +* 2 (or any value >0) = semi-checked box (third state). For data entry, this state returns the value 2. +* -1 = invisible check box, +* -2 = unchecked box, not enterable, +* -3 = checked box, not enterable, +* -4 = semi-checked box, not enterable + +In this case as well, the [Title](#title) property is also available so that the title of the check box can be entered. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | --------------- | +| threeState | boolean | true, false | + +#### Objects Supported + +[Check box](checkbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Title + +This property is available for a list box column if: +- the [column type](properties_Object.md#expression-type) is **boolean** and its [display type](properties_Display.md#display-type) is "Check Box" +- the [column type](properties_Object.md#expression-type) is **number** (numeric or integer) and its [display type](properties_Display.md#display-type) is "Three-states Checkbox". + +In that cases, the title of the check box can be entered using this property. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | ---------------------------------- | +| controlTitle | string | Any custom label for the check box | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Truncate with ellipsis + +Controls the display of values when list box columns are too narrow to show their full contents. + +This option is available for columns with any type of contents, except pictures and objects. + +* When the property is enabled (default), if the contents of a list box cell exceed the width of the column, they are truncated and an ellipsis is displayed: + + ![](assets/en/FormObjects/property_truncate1.png) +> The position of the ellipsis depends on the OS. In the above example (Windows), it is added on the right side of the text. On macOS, the ellipsis is added in the middle of the text. + +* When the property is disabled, if the contents of a cell exceed the width of the column, they are simply clipped with no ellipsis added: + + ![](assets/en/FormObjects/property_truncate2.png) + +The Truncate with ellipsis option is enabled by default and can be specified with list boxes of the Array, Selection, or Collection type. + + +> When applied to Text type columns, the Truncate with ellipsis option is available only if the [Wordwrap](#wordwrap) option is not selected. When the Wordwrap property is selected, extra contents in cells are handled through the word-wrapping features so the Truncate with ellipsis property is not available. + +The Truncate with ellipsis property can be applied to Boolean type columns; however, the result differs depending on the [cell format](#display-type): +- For Pop-up type Boolean formats, labels are truncated with an ellipsis, +- For Check box type Boolean formats, labels are always clipped. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | ---------------------- | +| truncateMode | string | "withEllipsis", "none" | + + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-footers) + + + + + +--- +## Visibility + +This property allows hiding by default the object in the Application environment. + +You can handle the Visible property for most form objects. This property simplifies dynamic interface development. In this context, it is often necessary to hide objects programatically during the `On load` event of the form then to display certain objects afterwards. The Visible property allows inverting this logic by making certain objects invisible by default. The developer can then program their display using the `OBJECT SET VISIBLE` command depending on the context. + + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | ------------------- | +| visibility | string | "visible", "hidden" | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + + + + + +--- +## Wordwrap + +> For [input](input_overview.md) objects, available when the [Multiline](properties_Entry.md#multiline) property is set to "yes" . + +Manages the display of contents when it exceeds the width of the object. + +#### Checked for list box/Yes for input +`JSON grammar: "normal"` + +When this option is selected, text automatically wraps to the next line whenever its width exceeds that of the column/area, if the column/area height permits it. + +- In single-line columns/areas, only the last word that can be displayed entirely is displayed. 4D inserts line returns; it is possible to scroll the contents of the area by pressing the down arrow key. + +- In multiline columns/areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap2.png) + + +#### Unchecked for list box/No for input +`JSON grammar: "none"` + +When this option is selected, 4D does not do any automatic line returns and the last word that can be displayed may be truncated. In text type areas, carriage returns are supported: + +![](assets/en/FormObjects/wordwrap3.png) + +In list boxes, any text that is too long is truncated and displayed with an ellipse (...). In the following example, the Wordwrap option is **checked for the left column** and **unchecked for the right column**: + +![](assets/en/FormObjects/property_wordwrap1.png) + +Note that regardless of the Wordwrap option’s value, the row height is not changed. If the text with line breaks cannot be entirely displayed in the column, it is truncated (without an ellipse). In the case of list boxes displaying just a single row, only the first line of text is displayed: + +![](assets/en/FormObjects/property_wordwrap2.png) + + +#### Automatic for input (default option) +`JSON grammar: "automatic"` + +- In single-line areas, words located at the end of lines are truncated and there are no line returns. +- In multiline areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap1.png) + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------- | --------------- | -------------------------------------------------- | +| wordwrap | string | "automatic" (excluding list box), "normal", "none" | + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + diff --git a/website/translated_docs/fr/FormObjects/properties_Entry.md b/website/translated_docs/fr/FormObjects/properties_Entry.md new file mode 100644 index 00000000000000..92fb55e1ebe69e --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Entry.md @@ -0,0 +1,339 @@ +--- +id: propertiesEntry +0: title:Entry +--- + +--- +## Auto Spellcheck + +4D includes an integrated and customizable spell-check utility. Text type [inputs](input_overview.md) can be checked, as well as [4D Write Pro](writeProArea_overview.md) documents. + +The Auto Spellcheck property activates the spell-check for each object. When used, a spell-check is automatically performed during data entry. You can also execute the `SPELL CHECKING` 4D language command for each object to be checked. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | --------------- | +| spellcheck | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Input](input_overview.md) + + +--- +## Context Menu + +Allows the user access to a standard context menu in the object when the form is executed. + +For a picture type [input](input_overview.md), in addition to standard editing commands (Cut, Copy, Paste and Clear), the menu contains the **Import...** command, which can be used to import a picture stored in a file, as well as the **Save as...** command, which can be used to save the picture to disk. The menu can also be used to modify the display format of the picture: the **Truncated non-centered**, **Scaled to fit** and **Scaled to fit centered prop.** options are provided. The modification of the [display format](properties_Display#picture-format) using this menu is temporary; it is not saved with the record. + +For a [multi-style](properties_Text.md#multi-style) text type [input](input_overview.md), in addition to standard editing commands, the context menu provides the following commands: +- **Fonts...**: displays the font system dialog box +- **Recent fonts**: displays the names of recent fonts selected during the session. The list can store up to 10 fonts (beyond that, the last font used replaces the oldest). By default, this list is empty and the option is not displayed. You can manage this list using the `SET RECENT FONTS` and `FONT LIST` commands. +- commands for supported style modifications: font, size, style, color and background color. When the user modifies a style attribute via this pop-up menu, 4D generates the `On After Edit` form event. + +For a [Web Area](webArea_overview.md), the contents of the menu depend of the rendering engine of the platform. It is possible to control access to the context menu via the [`WA SET PREFERENCE`](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------- | --------------- | ------------------------------------- | +| contextMenu | string | "automatic" (used if missing), "none" | + +#### Objects Supported + +[Input](input_overview.md) - [Web Area](webArea_overview.md) - [4D Write Pro areas](writeProArea_overview.md) + + + + + + +--- +## Enterable + +The Enterable attribute indicates whether users can enter values into the object. + +Objects are enterable by default. If you want to make a field or an object non-enterable for that form, you can disable the Enterable property for the object. A non-enterable object only displays data. You control the data by methods that use the field or variable name. You can still use the `On Clicked`, `On Double Clicked`, `On Drag Over`, `On Drop`, `On Getting Focus` and `On Losing Focus` form events with non-enterable objects. This makes it easier to manage custom context menus and lets you design interfaces where you can drag-and-drop and select non-enterable variables. + +When this property is disabled, any pop-up menus associated with a list box column via a list are disabled. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------- | --------------- | --------------- | +| enterable | boolean | true, false | + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Progress Bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + +--- +## Entry Filter + +An entry filter controls exactly what the user can type during data entry. Unlike [required lists](properties_RangeOfValues.md#required-list) for example, entry filters operate on a character-by-character basis. For example, if a part number always consists of two letters followed by three digits, you can use an entry filter to restrict the user to that pattern. You can even control the particular letters and numbers. + +An entry filter operates only during data entry. It has no effect on data display after the user deselects the object. In general, you use entry filters and [display formats](properties_Display.md) together. The filter constrains data entry and the format ensures proper display of the value after data entry. + +During data entry, an entry filter evaluates each character as it is typed. If the user attempts to type an invalid character (a number instead of a letter, for example), 4D simply does not accept it. The null character remains unchanged until the user types a valid character. + +Entry filters can also be used to display required formatting characters so that the user need not enter them. For example, an American telephone number consists of a three-digit area code, followed by a seven-digit number that is broken up into two groups of three and four digits, respectively. A display format can be used to enclose the area code in parentheses and display a dash after the third digit of the telephone number. When such a format is used, the user does not need to enter the parentheses or the dashes. + +### Defining an entry filter + +Most of the time, you can use one of the [built-in filters](#default-entry-filters) of 4D for what you need; however, you can also create and use custom filters: + +- you can directly enter a filter definition string +- or you can enter the name of an entry filter created in the Filters editor in the Toolbox. The names of custom filters you create begin with a vertical bar (|). + +For information about creating entry filters, see [Filter and format codes](https://doc.4d.com/4Dv18/4D/18/Filter-and-format-codes.300-4575706.en.html). + + +### Default entry filters + +Here is a table that explains each of the entry filter choices in the Entry Filter drop-down list: + +| Entry Filter | Description | +| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| ~A | Allow any letters, but convert to uppercase. | +| &9 | Allow only numbers. | +| &A | Allow only capital letters. | +| &a | Allow only letters (uppercase and lowercase). | +| &@ | Allow only alphanumeric characters. No special characters. | +| ~a## | State name abbreviation (e.g., CA). Allow any two letters, but convert to uppercase. | +| !0&9##/##/## | Standard date entry format. Display zeros in entry spaces. Allow any numbers. | +| !0&9 Day: ## Month: ## Year: ## | Custom date entry format. Display zeros in entry spaces. Allow any numbers. Two entries after each word. | +| !0&9##:## | Time entry format. Limited to hours and minutes. Display zeros in entry spaces. Allow any four numbers, separated by a colon. | +| !0&9## Hrs ## Mins ## Secs | Time entry format. Display zeros in entry spaces. Allow any two numbers before each word. | +| !0&9Hrs: ## Mins: ## Secs: ## | Time entry format. Display zeros in entry spaces. Allow any two numbers after each word. | +| !0&9##-##-##-## | Local telephone number format. Display zeros in entry spaces. Allow any number. Three entries, hyphen, four entries. | +| !_&9(###)!0###-#### | Long distance telephone number. Display underscores in first three entry spaces, zeros in remainder. | +| !0&9###-###-### | Long distance telephone number. Display zeros in entry spaces. Allow any number. Three entries, hyphen, three entries, hyphen, four entries. | +| !0&9###-##-### | Social Security number. Display zeros in entry spaces. Allow any numbers. | +| ~"A-Z;0-9; ;,;.;-" | Uppercase letters and punctuation. Allow only capital letters, numbers, spaces, commas, periods, and hyphens. | +| &"a-z;0-9; ;,;.;-" | Upper and lowercase letters and punctuation. Allow lowercase letters, numbers, spaces, commas, periods, and hyphens. | +| &"0-9;.;-" | Numbers. Allow only numbers, decimal points, and hyphens (minus sign). | + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------- | --------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| entryFilter | string |
  • Entry filter code or
  • Entry filter name (filter names start with | ) | + + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + + +--- +## Focusable + +When the **Focusable** property is enabled for an object, the object can have the focus (and can thus be activated by the keyboard for instance). It is outlined by a gray dotted line when it is selected — except when the [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) option has also been selected. + +> An [input object](input_overview.md) is always focusable if it has the [Enterable](#enterable) property. + +* ![](assets/en/FormObjects/property_focusable1.png)
    Check box shows focus when selected

    + +* ![](assets/en/FormObjects/property_focusable2.png)
    Check box is selected but cannot show focus| + + +When the **Focusable** property is selected for a non-enterable object, the user can select, copy or even drag-and-drop the contents of the area. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------- | --------------- | --------------- | +| focusable | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) + + + + +--- +## Keyboard Layout + +This property associates a specific keyboard layout to an [input object](input_overview.md). For example, in an international application, if a form contains a field whose contents must be entered in Greek characters, you can associate the "Greek" keyboard layout with this field. This way, during data entry, the keyboard configuration is automatically changed when this field has the focus. + +By default, the object uses the current keyboard layout. + +> You can also set and get the keyboard dynamically using the `OBJECT SET KEYBOARD LAYOUT` and `OBJECT Get keyboard layout` commands. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------------- | --------------- | --------------------------------------------------------------------------- | +| keyboardDialect | Texte | Language code, for example "ar-ma" or "cs". See RFC3066, ISO639 and ISO3166 | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Multiline + +This property is available for [inputs objects](input_overview.md) containing expressions of the Text type and fields of the Alpha and Text type. It can have three different values: Yes, No, Automatic (default). + +#### Automatic +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- In multiline inputs, 4D carries out automatic line returns: ![](assets/en/FormObjects/multilineAuto.png) + +#### Non +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- There are never line returns: the text is always displayed on a single row. If the Alpha or Text field or variable contains carriage returns, the text located after the first carriage return is removed as soon as the area is modified: ![](assets/en/FormObjects/multilineNo.png) + +#### Oui +When this value is selected, the property is managed by the [Wordwrap](properties_Display.md#wordwrap) option. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------- | --------------- | ------------------------------------------------- | +| multiline | Texte | "yes", "no", "automatic" (default if not defined) | + + +#### Objects Supported + +[Input](input_overview.md) + + + +--- +## Placeholder + +4D can display placeholder text in the fields of your forms. + +Placeholder text appears as watermark text in a field, supplying a help tip, indication or example for the data to be entered. This text disappears as soon as the user enters a character in the area: + +![](assets/en/FormObjects/property_placeholder.png) + +The placeholder text is displayed again if the contents of the field is erased. + +A placeholder can be displayed for the following types of data: + +- string (text or alpha) +- date and time when the **Blank if null** property is enabled. + +You can use an XLIFF reference in the ":xliff:resname" form as a placeholder, for example: + + :xliff:PH_Lastname + +You only pass the reference in the "Placeholder" field; it is not possible to combine a reference with static text. +> You can also set and get the placeholder text by programming using the [OBJECT SET PLACEHOLDER](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-PLACEHOLDER.301-4128243.en.html) and [OBJECT Get placeholder](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-Get-placeholder.301-4128249.en.html) commands. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------- | --------------- | ---------------------------------------------------------------------------- | +| placeholder | string | Text to be displayed (grayed out) when the object does not contain any value | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Input](input_overview.md) + + +#### See also + +[Help tip](properties_Help.md) + + + +--- +## Selection always visible + +This property keeps the selection visible within the object after it has lost the focus. This makes it easier to implement interfaces that allow the text style to be modified (see [Multi-style](properties_Text.md#multi-style)). + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | --------------- | +| showSelection | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Shortcut + +This property allows setting special meaning keys (keyboard shortcuts) for [buttons](button_overview.md), [radio buttons](radio_overview.md), and [checkboxes](checkbox_overview.md). They allow the user to use the control using the keyboard instead of having to use the mouse. + +You can configure this option by clicking the [...] button in the Shortcuts property in the Property List. + + +![](assets/en/FormObjects/property_shortcut.png) +> You can also assign a shortcut to a custom menu command. If there is a conflict between two shortcuts, the active object has priority. For more information about associating shortcuts with menus, refer to [Setting menu properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Setting-menu-properties.300-4163525.en.html). + +To view a list of all the shortcuts used in the 4D Design environment, see the [Shortcuts Page](https://doc.4d.com/4Dv17R5/4D/17-R5/Shortcuts-Page.300-4163701.en.html) in the Preferences dialog box. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| shortcutAccel | boolean | true, false (Ctrl Windows/Command macOS) | +| shortcutAlt | boolean | true, false | +| shortcutCommand | boolean | true, false | +| shortcutControl | boolean | true, false (macOS Control) | +| shortcutShift | boolean | true, false | +| | | | +| shortcutKey | string |

  • any character key: "a", "b"...
  • [F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Radio Button](radio_overview.md) + + + + + +--- +## Single-Click Edit + +Enables direct passage to edit mode in list boxes. + +When this option is enabled, list box cells switch to edit mode after a single user click, regardless of whether or not this area of the list box was selected beforehand. Note that this option allows cells to be edited even when the list box [selection mode](properties_ListBox.md#selection-mode) is set to "None". + +When this option is not enabled, users must first select the cell row and then click on a cell in order to edit its contents. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------------- | --------------- | --------------- | +| singleClickEdit | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + diff --git a/website/translated_docs/fr/FormObjects/properties_Footers.md b/website/translated_docs/fr/FormObjects/properties_Footers.md new file mode 100644 index 00000000000000..8aa98f6bc1b0f1 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Footers.md @@ -0,0 +1,70 @@ +--- +id: propertiesFooters +title: Footers +--- + +--- +## Display Footers + +This property is used to display or hide [list box column footers](listbox_overview.md#list-box-footers). There is one footer per column; each footer is configured separately. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------- | --------------- | --------------- | +| showFooters | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box footer in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. +> This property can also be set dynamically using the [LISTBOX SET FOOTERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/List-box-footer-specific-properties.300-4354808.en.html) command. + + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels *(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showFooters": true, + "footerHeight": "44px", + ... + } +``` + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | ----------------------------- | +| footerHeight | string | positive decimal+px | em | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Headers](properties_Headers.md) - [List box footers](listbox_overview.md#list-box-footers) \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/properties_Gridlines.md b/website/translated_docs/fr/FormObjects/properties_Gridlines.md new file mode 100644 index 00000000000000..70db785278a9cf --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Gridlines.md @@ -0,0 +1,37 @@ +--- +id: propertiesGridlines +title: Gridlines +--- + +--- +## Horizontal Line Color + +Defines the color of the horizontal lines in a list box (gray by default). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------------------- | --------------- | ------------------------------------------ | +| horizontalLineStroke | color | any css value, "'transparent", "automatic" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Vertical Line Color + +Defines the color of the vertical lines in a list box (gray by default). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------ | --------------- | ------------------------------------------ | +| verticalLineStroke | color | any css value, "'transparent", "automatic" | + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/properties_Headers.md b/website/translated_docs/fr/FormObjects/properties_Headers.md new file mode 100644 index 00000000000000..07f49023ad6e6d --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Headers.md @@ -0,0 +1,69 @@ +--- +id: propertiesHeaders +title: Headers +--- + +--- +## Display Headers + +This property is used to display or hide [list box column headers](listbox_overview.md#list-box-headers). There is one header per column; each header is configured separately. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------- | --------------- | --------------- | +| showHeaders | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box header in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. +> This property can also be set dynamically using the [LISTBOX SET HEADERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-SET-HEADERS-HEIGHT.301-4311129.en.html) command. + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels *(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showHeaders": true, + "headerHeight": "22px", + ... + } +``` + + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | ------------------------------- | +| headerHeight | string | positive decimal+px | em ) | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Footers](properties_Footers.md) - [List box headers](listbox_overview.md#list-box-headers) \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/properties_Help.md b/website/translated_docs/fr/FormObjects/properties_Help.md new file mode 100644 index 00000000000000..1b6078c48ed59f --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Help.md @@ -0,0 +1,53 @@ +--- +id: propertiesHelp +0: title:Help +--- + +--- +## Help Tip + +This property allows associating help messages with active objects in your forms. They can be displayed at runtime: + +![](assets/en/FormObjects/property_helpTip.png) + +> - The display delay and maximum duration of help tips can be controlled using the `Tips delay` and `Tips duration` selectors of the **[SET DATABASE PARAMETER](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html)** command. +> - Help tips can be globally disabled or enabled for the application using the Tips enabled selector of the [**SET DATABASE PARAMETER**](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html) command. + +You can either: + +- designate an existing help tip, previously specified in the [Help tips](https://doc.4d.com/4Dv17R5/4D/17-R5/Help-tips.200-4163423.en.html) editor of 4D. +- or enter the help message directly as a string. This allows you to take advantage of XLIFF architecture. You can enter an XLIFF reference here in order to display a message in the application language (for more information about XLIFF, refer to [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html). You can also use 4D references ([see Using references in static text](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-references-in-static-text.300-4163725.en.html)). +> In macOS, displaying help tips is not supported in pop-up type windows. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:-------:|:---------------:| ------------------------------------- | +| tooltip | Texte | additional information to help a user | + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md#overview) - [Hierarchical List](list_overview.md#overview) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up menu](picturePopupMenu_overview.md) - [Radio Button](radio_overview.md) + + +#### Other help features + +You can also associate help messages with form objects in two other ways: + +- at the level of the database structure (fields only). In this case, the help tip of the field is displayed in every form where it appears. For more information, refer to “Help Tips” in [Field properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Field-properties.300-4163580.en.html). +- using the **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command, for the current process. + +When different tips are associated with the same object in several locations, the following priority order is applied: + +1. structure level (lowest priority) +2. form editor level +3. **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command (highest priority) + + +#### See also + +[Placeholder](properties_Entry.md#placeholder) + + + diff --git a/website/translated_docs/fr/FormObjects/properties_Hierarchy.md b/website/translated_docs/fr/FormObjects/properties_Hierarchy.md new file mode 100644 index 00000000000000..f52091f487c3d0 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Hierarchy.md @@ -0,0 +1,26 @@ +--- +id: propertiesHierarchy +title: Hierarchy +--- + +--- +## Hierarchical List Box +`Array type list boxes` + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +See [Hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes) + + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | ------------------------------------------------ | +| datasource | string array | Collection of array names defining the hierarchy | + +#### Objects Supported + +[List Box](listbox_overview.md) diff --git a/website/translated_docs/fr/FormObjects/properties_ListBox.md b/website/translated_docs/fr/FormObjects/properties_ListBox.md new file mode 100644 index 00000000000000..9a69df8e57a486 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_ListBox.md @@ -0,0 +1,248 @@ +--- +id: propertiesListBox +title: List Box +--- + +--- +## Columns + +Collection of columns of the list box. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------- | ---------------------------- | ------------------------------------------------ | +| columns | collection of column objects | Contains the properties for the list box columns | + +For a list of properties supported by column objects, please refer to the [Column Specific Properties](listbox_overview#column-specific-properties) section. + +#### Objects Supported + +[List Box](listbox_overview.md) + +--- +## Detail Form Name +`Selection type list box` + +Specifies the form to use for modifying or displaying individual records of the list box. + +The specified form is displayed: + +* when using `Add Subrecord` and `Edit Subrecord` standard actions applied to the list box (see [Using standard actions](https://doc.4d.com/4Dv17R6/4D/17-R6/Using-standard-actions.300-4354811.en.html)), +* when a row is double-clicked and the [Double-click on Row](#double-click-on-row) property is set to "Edit Record" or "Display Record". + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| detailForm | string |
  • Name (string) of table or project form
  • POSIX path (string) to a .json file describing the form
  • Object describing the form | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Double-click on row +`Selection type list box` + +Sets the action to be performed when a user double-clicks on a row in the list box. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the detail form defined [for the list box](#detail-form-name). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. +> Double-clicking an empty row is ignored in list boxes. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------------------- | --------------- | ----------------------------------- | +| doubleClickInRowAction | string | "editSubrecord", "displaySubrecord" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Highlight Set + +`Selection type list box` + +This property is used to specify the set to be used to manage highlighted records in the list box (when the **Arrays** data source is selected, a Boolean array with the same name as the list box is used). + +4D creates a default set named *ListBoxSetN* where *N* starts at 0 and is incremented according to the number of list boxes in the form. If necessary, you can modify the default set. It can be a local, process or interprocess set (we recommend using a local set, for example *$LBSet*, in order to limit network traffic). It is then maintained automatically by 4D. If the user selects one or more rows in the list box, the set is updated immediately. If you want to select one or more rows by programming, you can apply the commands of the “Sets” theme to this set. +> * The highlighted status of the list box rows and the highlighted status of the table records are completely independent. +> * If the “Highlight Set” property does not contain a name, it will not be possible to make selections in the list box. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | --------------- | +| highlightSet | string | Name of the set | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Locked columns and static columns + +Locked columns and static columns are two separate and independent functionalities in list boxes: + +* Locked columns always stay displayed to the left of the list box; they do not scroll horizontally. +* Static columns cannot be moved by drag and drop within the list box. +> You can set static and locked columns by programming, refer to [List Box](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box.201-4310263.en.html) in the [4D Language Reference](https://doc.4d.com/4Dv17R6/4D/17-R6/4D-Language-Reference.100-4310216.en.html) manual. + +These properties interact as follows: + +* If you set columns that are only static, they cannot be moved. + +* If you set columns that are locked but not static, you can still change their position freely within the locked area. However, a locked column cannot be moved outside of this locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns1.png) + +* If you set all of the columns in the locked area as static, you cannot move these columns within the locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns2.png) + +* You can set a combination of locked and static columns according to your needs. For example, if you set three locked columns and one static column, the user can swap the two right-most columns within the locked area (since only the first column is static). + +### Number of Locked Columns + +Number of columns that must stay permanently displayed in the left part of the list box, even when the user scrolls through the columns horizontally. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------------- | --------------- | --------------- | +| lockedColumnCount | integer | minimum: 0 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +### Number of Static Columns + +Number of columns that cannot be moved during execution. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------------- | --------------- | --------------- | +| staticColumnCount | integer | minimum: 0 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Number of Columns + +Sets the number of columns of the list box. +> You can add or remove columns dynamically by programming, using commands such as [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-INSERT-COLUMN.301-4505224.en.html) or [LISTBOX DELETE COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-DELETE-COLUMN.301-4505185.en.html). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------- | --------------- | --------------- | +| columnCount | integer | minimum: 1 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Row Control Array + +`Array type list box` + +A 4D array controlling the display of list box rows. + +You can set the "hidden", "disabled" and "selectable" interface properties for each row in an array-based list box using this array. It can also be designated using the `LISTBOX SET ARRAY` command. + +The row control array must be of the Longint type and include the same number of rows as the list box. Each element of the *Row Control Array* defines the interface status of its corresponding row in the list box. Three interface properties are available using constants in the "List Box" constant theme: + +| Constant | Valeur | Commentaire | +| ------------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| lk row is disabled | 2 | The corresponding row is disabled. The text and controls such as check boxes are dimmed or grayed out. Enterable text input areas are no longer enterable. Default value: Enabled | +| lk row is hidden | 1 | The corresponding row is hidden. Hiding rows only affects the display of the list box. The hidden rows are still present in the arrays and can be managed by programming. The language commands, more particularly `LISTBOX Get number of rows` or `LISTBOX GET CELL POSITION`, do not take the displayed/hidden status of rows into account. For example, in a list box with 10 rows where the first 9 rows are hidden, `LISTBOX Get number of rows` returns 10. From the user’s point of view, the presence of hidden rows in a list box is not visibly discernible. Only visible rows can be selected (for example using the Select All command). Default value: Visible | +| lk row is not selectable | 4 | The corresponding row is not selectable (highlighting is not possible). Enterable text input areas are no longer enterable unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. Controls such as check boxes and lists are still functional however. This setting is ignored if the list box selection mode is "None". Default value: Selectable | + +To change the status for a row, you just need to set the appropriate constant(s) to the corresponding array element. For example, if you do not want row #10 to be selectable, you can write: + +```code4d + aLControlArr{10}:=lk row is not selectable +``` + +![](assets/en/FormObjects/listbox_styles5.png) + +You can define several interface properties at once: + +```code4d + aLControlArr{8}:=lk row is not selectable + lk row is disabled +``` + +![](assets/en/FormObjects/listbox_styles6.png) + +Note that setting properties for an element overrides any other values for this element (if not reset). Par exemple: + +```code4d + aLControlArr{6}:=lk row is disabled + lk row is not selectable + //sets row 6 as disabled AND not selectable + aLControlArr{6}:=lk row is disabled + //sets row 6 as disabled but selectable again +``` + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------------- | --------------- | ---------------------- | +| rowControlSource | string | Row control array name | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | ---------------------------- | +| selectionMode | string | "multiple", "single", "none" | + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/properties_Object.md b/website/translated_docs/fr/FormObjects/properties_Object.md new file mode 100644 index 00000000000000..46f2bce1c8135d --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Object.md @@ -0,0 +1,334 @@ +--- +id: propertiesObject +0: title:Objects +--- + +--- +## Type + + `MANDATORY SETTING` + +This property designates the type of the [active or inactive form object](formObjects_overview.md). + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| type | string | "button", "buttonGrid", "checkbox", "combo", "dropdown", "groupBox", "input", "line", "list", "listbox", "oval", "picture", "pictureButton", "picturePopup", "plugin", "progress", "radio", "rectangle", "ruler", "spinner", "splitter", "stepper", "subform", "tab", "text", "view", "webArea", "write" | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) -[Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + +--- +## Nom d'objet + +Each active form object is associated with an object name. Each object name must be unique. +> Object names are limited to a size of 255 bytes. + +When using 4D’s language, you can refer to an active form object by its object name (for more information about this, refer to [Object Properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Object-Properties.300-4128195.en.html) in the 4D Language Reference manual). + +For more information about naming rules for form objects, refer to [Identifiers](Concepts/identifiers.md) section. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | -------------------------------------------------------------------- | +| name | string | Any allowed name which does not belong to an already existing object | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + + +--- +## Variable or Expression + +> See also **[Expression](properties_DataSource#expression)** for Selection and collection type list box columns. + + +This property specifies the source of the data. Each active form object is associated with an object name and a variable name. The variable name can be different from the object’s name. In the same form, you can use the same variable several times while each [object name](#object-name) must be unique. +> Variable name size is limited to 31 bytes. See [Identifiers](Concepts/identifiers.md) section for more information about naming rules. + +The form object variables allow you to control and monitor the objects. For example, when a button is clicked, its variable is set to 1; at all other times, it is 0. The expression associated with a progress indicator lets you read and change the current setting. + +Variables or expressions can be enterable or non-enterable and can receive data of the Text, Integer, Numeric, Date, Time, Picture, Boolean, or Object type. + +### Expressions + +You can use an expression as data source for an object. Any valid 4D expression is allowed: simple expression, formula, 4D function, project method name or field using the standard `[Table]Field` syntax. The expression is evaluated when the form is executed and reevaluated for each form event. Note that expressions can be [assignable or non-assignable](Concepts/quick-tour.md#expressions). +> If the value entered corresponds to both a variable name and a method name, 4D considers that you are indicating the method. + + + +### Dynamic variables + +You can leave it up to 4D to create variables associated with your form objects (buttons, enterable variables, check boxes, etc.) dynamically and according to your needs. To do this, simply leave the "Variable or Expression" property (or `dataSource` JSON field) blank. + +When a variable is not named, when the form is loaded, 4D creates a new variable for the object, with a calculated name that is unique in the space of the process variables of the interpreter (which means that this mechanism can be used even in compiled mode). This temporary variable will be destroyed when the form is closed. In order for this principle to work in compiled mode, it is imperative that dynamic variables are explicitly typed. There are two ways to do this: + +- You can set the type using the [Expression type](#expression-type) property. +- You can use a specific initialization code when the form is loaded that uses, for example, the `VARIABLE TO VARIABLE` command: + +```code4d + If(Form event=On Load) + C_TEXT($init) + $Ptr_object:=OBJECT Get pointer(Object named;"comments") + $init:="" + VARIABLE TO VARIABLE(Current process;$Ptr_object->;$init) + End if +``` + +In the 4D code, dynamic variables can be accessed using a pointer obtained with the `OBJECT Get pointer` command. Par exemple: + +```code4d + // assign the time 12:00:00 to the variable for the "tstart" object + $p :=OBJECT Get pointer(Object named;"tstart") + $p->:=?12:00:00? +``` + +There are two advantages with this mechanism: + +- On the one hand, it allows the development of "subform" type components that can be used several times in the same host form. Let us take as an example the case of a datepicker subform that is inserted twice in a host form to set a start date and an end date. This subform will use objects for choosing the date of the month and the year. It will be necessary for these objects to work with different variables for the start date and the end date. Letting 4D create their variable with a unique name is a way of resolving this difficulty. +- On the other hand, it can be used to limit memory usage. In fact, form objects only work with process or inter-process variables. However, in compiled mode, an instance of each process variable is created in all the processes, including the server processes. This instance takes up memory, even when the form is not used during the session. Therefore, letting 4D create variables dynamically when loading the forms can save memory. + + +### Hierarchical List Box + +Using a string array (collection of arrays names) as *dataSource* value for a list box column defines a [hierarchical list box](listbox_overview.md#hierarchical-list-boxes). + + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dataSource | string, or string array |
  • 4D variable, field name, or arbitrary complex language expression.
  • Empty string for [dynamic variables](#dynamic-variables).
  • String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column] | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Tab control](tabControl.md) - [Subform](subform_overview.md#overview) - [Radio Button](radio_overview.md) + + + + + +--- +## Expression Type + +> This property is called **Data Type** in the Property List for Selection and collection type list box columns. + + +Specify the data type for the expression or variable associated to the object. Note that main purpose of this setting is to configure options (such as display formats) available for the data type. It does not actually type the variable itself. In view of database compilation, you must use the 4D language commands of the `Compiler` theme. + +However, this property has a typing function in the following specific cases: + +- **[Dynamic variables](#dynamic-variables)**: you can use this property to declare the type of dynamic variables. +- **[List Box Columns](listbox_overview.md#list-box-columns)**: this property is used to associate a display format with the column data. The formats provided will depend on the variable type (array type list box) or the data/field type (selection and collection type list boxes). The standard 4D formats that can be used are: Alpha, Numeric, Date, Time, Picture and Boolean. The Text type does not have specific display formats. Any existing custom formats are also available. +- **[Picture variables](input_overview.md)**: you can use this menu to declare the variables before loading the form in interpreted mode. Specific native mechanisms govern the display of picture variables in forms. These mechanisms require greater precision when configuring variables: from now on, they must have already been declared before loading the form — i.e., even before the `On Load` form event — unlike other types of variables. To do this, you need either for the statement `C_PICTURE(varName)` to have been executed before loading the form (typically, in the method calling the `DIALOG` command), or for the variable to have been typed at the form level using the expression type property. Otherwise, the picture variable will not be displayed correctly (only in interpreted mode). + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------ | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dataSourceTypeHint | string |
  • **standard objects:** "integer", "boolean", "number", "picture", "text", date", "time", "arrayText", "arrayDate", "arrayTime", "arrayNumber", "collection", "object", "undefined"
  • **list box columns:** "boolean", "number", "picture", "text", date" (*array/selection list box only*) "integer", "time", "object" | + +#### Objects Supported + +[Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab Control](tabControl.md) + + +--- +## CSS Class + +A list of space-separated words used as class selectors in css files. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----- | --------------- | --------------------------------------------------------- | +| class | string | One string with CSS name(s) separated by space characters | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Radio Button](radio_overview.md) - [Static Picture](staticPicture.md) - [Subform](subform_overview.md#overview) - [Web Area](webArea_overview.md#overview) + + + +--- +## Collection or entity selection + +To use collection elements or entities to define the row contents of the list box. + +Enter an expression that returns either a collection or an entity selection. Usually, you will enter the name of a variable, a collection element or a property that contain a collection or an entity selection. + +The collection or the entity selection must be available to the form when it is loaded. Each element of the collection or each entity of the entity selection will be associated to a list box row and will be available as an object through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command: + +* if you used a collection of objects, you can call **This** in the datasource expression to access each property value, for example **This.\**. +* if you used an entity selection, you can call **This** in the datasource expression to access each attribute value, for example **This.\**. +> If you used a collection of scalar values (and not objects), 4D allows you to display each value by calling **This.value** in the datasource expression. However in this case you will not be able to modify values or to access the current ite object (see below) Note: For information about entity selections, please refer to the [ORDA](https://doc.4d.com/4Dv17R6/4D/17-R6/ORDA.200-4354624.en.html) chapter. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | ------------------------------------------------------------ | +| dataSource | string | Expression that returns a collection or an entity selection. | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Data Source + +Specify the type of list box. + +![](assets/en/FormObjects/listbox_dataSource.png) + +- **Arrays**(default): use array elements as the rows of the list box. +- **Current Selection**: use expressions, fields or methods whose values will be evaluated for each record of the current selection of a table. +- **Named Selection**: use expressions, fields or methods whose values will be evaluated for each record of a named selection. +- **Collection or Entity Selection**: use collection elements or entities to define the row contents of the list box. Note that with this list box type, you need to define the [Collection or Entity Selection](properties_Object.md#collection-or-entity-selection) property. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------- | --------------- | ----------------------------------------------------------- | +| listboxType | string | "array", "currentSelection", "namedSelection", "collection" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Plug-in Kind + +Name of the [plug-in external area](pluginArea_overview.md) associated to the object. Plug-in external area names are published in the manifest.json file of the plug-in. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------------- | --------------- | ------------------------------------------------------------- | +| pluginAreaKind | string | Name of the plug-in external area (starts with a % character) | + + +#### Objects Supported +[Plug-in Area](pluginArea_overview.md) + + + +--- + +## Radio Group + +Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | ---------------- | +| radioGroup | string | Radio group name | + + +#### Objects Supported + +[Radio Button](radio_overview.md) + + + +--- + +## Title + +Allows inserting a label on an object. The font and the style of this label can be specified. + +You can force a carriage return in the label by using the \ character (backslash). + +![](assets/en/FormObjects/property_title.png) + +To insert a \ in the label, enter "\\". + +By default, the label is placed in the center of the object. When the object also contains an icon, you can modify the relative location of these two elements using the [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) property. + +For database translation purposes, you can enter an XLIFF reference in the title area of a button (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----- | --------------- | --------------- | +| Texte | string | any text | + +#### Objects Supported + +[Button](button_overview.md) (*Regular, Flat, Toolbar, Bevel, Rounded Bevel, OS X Gradient Button, OS X Textured Button, Office XP, Circle, Custom*) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) + + + + + + + +--- +## Variable Calculation + +This property sets the type of calculation to be done in a [column footer](listbox_overview.md#list-box-footers) area. +> The calculation for footers can also be set using the `LISTBOX SET FOOTER CALCULATION` 4D command. + +There are several types of calculations available. The following table shows which calculations can be used according to the type of data found in each column and indicates the type automatically affected by 4D to the footer variable (if it is not typed by the code): + +| Calculation | Num | Texte | Date | Heure | Bool | Pict | footer var type | +| --------------------- | --- | ----- | ---- | ----- | ---- | ---- | ------------------- | +| Minimum | X | | X | X | X | | Same as column type | +| Maximum | X | | X | X | X | | Same as column type | +| Sum | X | | X | | X | | Same as column type | +| Count | X | X | X | X | X | X | Entier long | +| Average | X | | | X | | | Réel | +| Standard deviation(*) | X | | | X | | | Réel | +| Variance(*) | X | | | X | | | Réel | +| Sum squares(*) | X | | | X | | | Réel | +| Custom ("none") | X | X | X | X | X | X | Any | + +(*) Only for array type list boxes. + +When an automatic calculation is set, it is applied to all the values found in the list box column. Note that the calculation does not take the shown/hidden state of list box rows into account. If you want to restrict a calculation to only visible rows, you must use a custom calculation. + +When **Custom** ("none" in JSON) is set, no automatic calculations are performed by 4D and you must assign the value of the variable in this area by programming. +> Automatic calculations are not supported with: * footers of columns based on formulas, * footers of [Collection and Entity selection](listbox_overview.md#collection-or-entity-selection-list-boxes) list boxes. You need to use custom calculations. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------------- | --------------- | ----------------------------------------------------------------------------------------------------- | +| variableCalculation | string | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" | + +#### Objects Supported + +[List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + diff --git a/website/translated_docs/fr/FormObjects/properties_Picture.md b/website/translated_docs/fr/FormObjects/properties_Picture.md new file mode 100644 index 00000000000000..bb03e729cc40d2 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Picture.md @@ -0,0 +1,73 @@ +--- +id: propertiesPicture +0: title:Picture +--- + +--- +## Pathname + +Pathname of a static source picture for a [picture button](pictureButton_overview.md), [picture pop-up Menu](picturePopupMenu_overview.md), or [static picture](staticPicture.md). You must use the POSIX syntax. + +Two main locations can be used for static picture path: + +- in the **Resources** folder of the project database. Appropriate when you want to share static pictures between several forms in the database. In this case, the Pathname is "/RESOURCES/\". +- in an image folder (e.g. named **Images**) within the form folder. Appropriate when the static pictures are used only in the form and/or you want to be able to move or duplicate the whole form within the project or different projects. In this case, the Pathname is "\" and is resolved from the root of the form folder. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:-------:|:---------------:| ------------------------------------------- | +| picture | Texte | Relative or filesystem path in POSIX syntax | + + +#### Objects Supported + +[Picture button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Static Picture](staticPicture.md) + + +--- +## Display + + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + + + +### Center / Truncated (non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Center** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. +> When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | -------------------------------------------------------- | +| pictureFormat | string | "scaled", "tiled", "truncatedCenter", "truncatedTopLeft" | + +#### Objects Supported + +[Static Picture](staticPicture.md) \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/properties_Plugins.md b/website/translated_docs/fr/FormObjects/properties_Plugins.md new file mode 100644 index 00000000000000..5ff97b64bab5b3 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Plugins.md @@ -0,0 +1,25 @@ +--- +id: propertiesPlugIns +0: title:Plug-ins +--- + +--- +## Advanced Properties + +If advanced options are provided by the author of the plug-in, an **Advanced Properties** button may be enabled in the Property list. In this case, you can click this button to set these options, usually through a custom dialog box. + +Because the Advanced properties feature is under the control of the author of the plug-in, information about these Advanced options is the responsibility of the distributor of the plug-in. + + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------- | +| customProperties | text | object | Plugin specific properties, passed to plugin as a JSON string if an object, or as a binary buffer if a base64 encoded string | + + +#### Objects Supported + +[Plug-in Area](pluginArea_overview.md) + diff --git a/website/translated_docs/fr/FormObjects/properties_Print.md b/website/translated_docs/fr/FormObjects/properties_Print.md new file mode 100644 index 00000000000000..421c93aa1ada94 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Print.md @@ -0,0 +1,36 @@ +--- +id: propertiesPrint +0: title:Print +--- + +--- +## Print frame + +This property handles the print mode for objects whose size can vary from one record to another depending on their contents. These objects can be set to print with either a fixed or variable frame. Fixed frame objects print within the confines of the object as it was created on the form. Variable frame objects expand during printing to include the entire contents of the object. Note that the width of objects printed as a variable size is not affected by this property; only the height varies automatically based on the contents of the object. + +You cannot place more than one variable frame object side-by-side on a form. You can place non-variable frame objects on either side of an object that will be printed with a variable size provided that the variable frame object is at least one line longer than the object beside it and that all objects are aligned on the top. If this condition is not respected, the contents of the other fields will be repeated for every horizontal slice of the variable frame object. + +> The `Print object` and `Print form` commands do not support this property. + + +The print options are: + +- **Variable** option / **Print Variable Frame** checked: 4D enlarges or reduces the form object area in order to print all the subrecords. + +- **Fixed (Truncation)** option / **Print Variable Frame** unchecked: 4D only prints the contents that appear in the object area. The form is only printed once and the contents not printed are ignored. + +- **Fixed (Multiple Records)** (subforms only): the initial size of the subform area is kept but 4D prints the form several times in order to print all the records. + +> This property can be set by programming using the `OBJECT SET PRINT VARIABLE FRAME` command. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:----------:|:---------------:| --------------------------------------------------- | +| printFrame | string | "fixed", "variable", (subform only) "fixedMultiple" | + + +#### Objects Supported + +[Input](input_overview.md) - [Subforms](subform_overview.md) (list subforms only) - [4D Write Pro areas](writeProArea_overview.md) diff --git a/website/translated_docs/fr/FormObjects/properties_RangeOfValues.md b/website/translated_docs/fr/FormObjects/properties_RangeOfValues.md new file mode 100644 index 00000000000000..2e0ad364e596e6 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_RangeOfValues.md @@ -0,0 +1,83 @@ +--- +id: propertiesRangeOfValues +title: Range of Values +--- + +--- +## Default value + +You can assign a default value to be entered in an input object. This property is useful for example when the input [data source](properties_Object.md#variable-or-expression) is a field: the default value is entered when a new record is first displayed. You can change the value unless the input area has been defined as [non-enterable](properties_Entry.md#enterable). + +The default value can only be used if the [data source type](properties_Object.md#expression-type) is: +- text/string +- number/integer +- date +- time +- boolean + +4D provides stamps for generating default values for the date, time, and sequence number. The date and time are taken from the system date and time. 4D automatically generates any sequence numbers needed. The table below shows the stamp to use to generate default values automatically: + +| Stamp | Meaning | +| ----- | --------------- | +| #D | Current date | +| #H | Current time | +| #N | Sequence number | + +You can use a sequence number to create a unique number for each record in the table for the current data file. A sequence number is a longint that is generated for each new record. The numbers start at one (1) and increase incrementally by one (1). A sequence number is never repeated even if the record it is assigned to is deleted from the table. Each table has its own internal counter of sequence numbers. For more information, refer to the [Autoincrement](https://doc.4d.com/4Dv17R6/4D/17-R6/Field-properties.300-4354738.en.html#976029) paragraph. + +> Do not make confusion between this property and the "[default values](properties_DataSource.md#default-list-of-values)" property that allows to fill a list box column with static values. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | ----------------------------------- | ------------------------------------------ | +| defaultValue | string, number, date, time, boolean | Any value and/or a stamp: "#D", "#H", "#N" | + +#### Objects Supported + +[Input](input_overview.md) + + + +--- + +## Excluded List + +Allows setting a list whose values cannot be entered in the object. If an excluded value is entered, it is not accepted and an error message is displayed. +> If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | -------------------------------- | +| excludedList | list | A list of values to be excluded. | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + +--- + +## Required List + +Restricts the valid entries to the items on the list. For example, you may want to use a required list for job titles so that valid entries are limited to titles that have been approved by management. + +Making a list required does not automatically display the list when the field is selected. If you want to display the required list, assign the same list to the [Choice List](properties_DataSource.md#choice-list) property. However, unlike the [Choice List](properties_DataSource.md#choice-list) property, when a required list is defined, keyboard entry is no longer possible, only the selection of a list value using the pop-up menu is allowed. If different lists are defined using the [Choice List](properties_DataSource.md#choice-list) and Required List properties, the Required List property has priority. +> If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | --------------------------- | +| requiredList | list | A list of mandatory values. | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + + diff --git a/website/translated_docs/fr/FormObjects/properties_Reference.md b/website/translated_docs/fr/FormObjects/properties_Reference.md new file mode 100644 index 00000000000000..d74646d4cb81b0 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Reference.md @@ -0,0 +1,280 @@ +--- +id: propertiesReference +title: JSON property list +--- + +## A + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | +| [action](properties_Action.md#standard-action) | Typical activity to be performed. | The name of a valid standard action. | +| [allowFontColorPicker](properties_Text.md#allow-font-color-picker) | Allows displaying system font picker or color picker to edit object attributes | true, false (default) | +| [alternateFill](properties_BackgroundAndBorder.md#alternate-background-color) | Allows setting a different background color for odd-numbered rows/columns in a list box. | Any CSS value; "transparent"; "automatic" | +| [automaticInsertion](properties_DataSource.md#automatic-insertion) | Enables automatically adding a value to a list when a user enters a value that is not in the object's associated choice list. | true, false | + +## B + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------- | +| [booleanFormat](properties_Display.md#boolean-format) | Specifies only two possible values. | true, false | +| [borderRadius](properties_CoordinatesAndSizing.md#corner-radius) | The radius value for round rectangles. | minimum: 0 | +| [borderStyle](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) | Allows setting a standard style for the object border. | "system", "none", "solid", "dotted", "raised", "sunken", "double" | +| [bottom](properties_CoordinatesAndSizing.md#bottom) | Positions an object at the bottom (centered). | minimum: 0 | + +## C + +| Property | Description | Possible Values | +| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| [choiceList](properties_DataSource.md#choice-list) | A list of choices associated with an object | A list of choices | +| [class](properties_Object.md#class) | A list of space-separated words used as class selectors in css files. | A list of class names | +| [columnCount](properties_Crop.md#columns) | Number of columns. | minimum: 1 | +| [columns](properties_ListBox.md#columns) | A collection of list box columns | Collection of column objects with defined column properties | +| [contextMenu](properties_Entry.md#context-menu) | Provides the user access to a standard context menu in the selected area. | "automatic", "none" | +| [continuousExecution](properties_Action.md#execute-object-method) | Designates whether or not to run the method of an object while the user is tracking the control. | true, false | +| [controlType](properties_Display.md#display-type) | Specifies how the value should be rendered in a list box cell. | "input", "checkbox" (for boolean / numeric columns), "automatic", "popup" (only for boolean columns) | +| [currentItemSource](properties_DataSource.md#current-item) | The last selected item in a list box. | Object expression | +| [currentItemPositionSource](properties_DataSource.md#current-item-position) | The position of the last selected item in a list box. | Number expression | +| [customBackgroundPicture](properties_TextAndPicture.md#background-pathname) | Sets the picture that will be drawn in the background of a button. | Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option. | +| [customBorderX](properties_TextAndPicture.md#horizontal-margin) | Sets the size (in pixels) of the internal horizontal margins of an object. Must be used with the style property with the "custom" option. | minimum: 0 | +| [customBorderY](properties_TextAndPicture.md#vertical-margin) | Sets the size (in pixels) of the internal vertical margins of an object. Must be used with the style property with the "custom" option. | minimum: 0 | +| [customOffset](properties_TextAndPicture.md#icon-offset) | Sets a custom offset value in pixels. Must be used with the style property with the "custom" option. | minimum: 0 | + +## D + +| Property | Description | Possible Values | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [dataSource](properties_Object.md#variable-or-expression) (objects)
    [dataSource](properties_Subform.md#source) (subforms)
    [dataSource](properties_Object.md#data-source) (array list box)
    [dataSource](properties_Object.md#collection-or-entity-selection) (Collection or entity selection list box)
    [dataSource](properties_DataSource.md#expression) (list box column)
    [dataSource](properties_Hierarchy.md#hierarchical-list-box) (hierarchical list box) | Specifies the source of the data. | A 4D variable, field name, or an arbitrary complex language expression. | +| [dataSourceTypeHint](properties_Object.md#expression-type) (objects)
    [dataSourceTypeHint](properties_DataSource.md#data-type) (list box column) | Indicates the variable type. | "integer", "number", "boolean", "picture", "text", date", "time", "arrayText", "collection", "object", "undefined" | +| [dateFormat](properties_Display.md#date-format) | Controls the way dates appear when displayed or printed. Must only be selected among the 4D built-in formats. | "systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values) | +| [defaultButton](properties_Appearance.md#default-button) | Modifies a button's appearance in order to indicate the recommended choice to the user. | true, false | +| [defaultValue](properties_RangeOfValues.md#default-value) | Defines a value or a stamp to be entered by default in an input object | String or "#D", "#H", "#N" | +| [deletableInList](properties_Subform.md#allow-deletion) | Specifies if the user can delete subrecords in a list subform | true, false | +| [detailForm](properties_ListBox.md#detail-form-name) (list box)
    [detailForm](properties_Subform.md#detail-form) (subform) | Associates a detail form with a list subform. | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | +| [display](properties_Display.md#not-rendered) | The object is drawn or not on the form. | true, false | +| [doubleClickInEmptyAreaAction](properties_Subform.md#double-click-on-empty-row) | Action to perform in case of a double-click on an empty line of a list subform. | "addSubrecord" or "" to do nothing | +| [doubleClickInRowAction](properties_ListBox.md#double-click-on-row) (list box)
    [doubleClickInRowAction](properties_Subform.md#double-click-on-row) (subform) | Action to perform in case of a double-click on a record. | "editSubrecord", "displaySubrecord" | +| [dpi](properties_Appearance.md#resolution) | Screen resolution for the 4D Write Pro area contents. | 0=automatic, 72, 96 | +| [dragging](properties_Action.md#draggable) | Enables dragging function. | "none", "custom", "automatic" (excluding list, list box) | +| [dropping](properties_Action.md#droppable) | Enables dropping function. | "none", "custom", "automatic" (excluding list, list box) | + +## E + +| Property | Description | Possible Values | +| ---------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------- | +| [enterable](properties_Entry.md#enterable) | Indicates whether users can enter values into the object. | true, false | +| [enterableInList](properties_Subform.md#enterable-in-list) | Indicates whether users can modify record data directly in the list subform. | true, false | + + +[entryFiler](properties_Entry.md#entry-filter)|Associates an entry filter with the object or column cells. This property is not accessible if the Enterable property is not enabled.|Text to narrow entries | |[excludedList](properties_RangeOfValues.md#excluded-list)|Allows setting a list whose values cannot be entered in the column.|A list of values to be excluded.| |[events](XXX)|List of all events selected for the object or form|Collection of event names, e.g. ["onClick","onDataChange"...].| + + +## F + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | +| [border-style](properties_BackgroundAndBorder.md#background-color-fill-color) | Defines the background color of an object. | Any CSS value, "transparent", "automatic" | +| [focusable](properties_Entry.md#focusable) | Indicates whether the object can have the focus (and can thus be activated by the keyboard for instance) | true, false | +| [fontFamily](properties_Text.md#font) | Specifies the name of font family used in the object. | CSS font family name | +| [fontSize](properties_Text.md#font-size) | Sets the font size in points when no font theme is selected | minimum: 0 | +| [fontStyle](properties_Text.md#italic) | Sets the selected text to slant slightly to the right. | "normal", "italic" | +| [fontTheme](properties_Text.md#font-theme) | Sets the automatic style | "normal", "main", "additional" | +| [fontWeight](properties_Text.md#bold) | Sets the selected text to appear darker and heavier. | "normal", "bold" | +| [footerHeight](properties_Footers.md#height) | Used to set the row height | pattern (\\d+)(p|em)?$ (positive decimal + px/em ) | +| [frameDelay](properties_Animation.md#switch-every-x-ticks) | Enables cycling through the contents of the picture button at the specified speed (in ticks). | minimum: 0 | + +## G + +| Property | Description | Possible Values | +| ----------------------------------------------------- | -------------------------- | --------------- | +| [graduationStep](properties_Scale.md#graduation-step) | Scale display measurement. | minimum: 0 | + +## H + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| [header](properties_Headers.md#header) | Defines the header of a list box column | Object with properties "text", "name", "icon", "dataSource", "fontWeight", "fontStyle", "tooltip" | +| [headerHeight](properties_Headers.md#height) | Used to set the row height | pattern ^(\\d+)(px|em)?$ (positive decimal + px/em ) | +| [height](properties_CoordinatesAndSizing.md#height) | Designates an object's vertical size | minimum: 0 | +| [hideExtraBlankRows](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | Deactivates the visibility of extra, empty rows. | true, false | +| [hideFocusRing](properties_Appearance.md#hide-focus-rectangle) | Hides the selection rectangle when the object has the focus. | true, false | +| [hideSystemHighlight](properties_Appearance.md#hide-selection-highlight) | Used to specify hiding highlighted records in the list box. | true, false | +| [highlightSet](properties_ListBox.md#highlight-set) | string | Name of the set. | +| [horizontalLineStroke](properties_Gridlines.md#horizontal-line-color) | Defines the color of the horizontal lines in a list box (gray by default). | Any CSS value, "'transparent", "automatic" | + +## I + +| Property | Description | Possible Values | +| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------- | +| [icon](properties_TextAndPicture.md#picture-pathname) | The pathname of the picture used for buttons, check boxes, radio buttons, list box headers. | Relative or filesystem path in POSIX syntax. | +| [iconFrames](properties_TextAndPicture.md#number-of-states) | Sets the exact number of states present in the picture. | minimum: 1 | +| [iconPlacement](properties_TextAndPicture.md#icon-location) | Designates the placement of an icon in relation to the form object. | "none", "left", "right" | + +## K + +| Property | Description | Possible Values | +| ------------------------------------------------------ | ---------------------------------------------------- | ------------------------------------ | +| [keyboardDialect](properties_Entry.md#keyboardDialect) | To associate a specific keyboard layout to an input. | A keyboard code string, e.g. "ar-ma" | + + +## L + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| [labels](properties_DataSource.md#choice-list-static-list) | A list of values to be used as tab control labels | ex: "a", "b, "c", ... | +| [labelsPlacement](properties_Scale.md#label-location) (objects)
    [labelsPlacement](properties_Appearance.md#tab-control-direction) (splitter / tab control) | Specifies the location of an object's displayed text. | "none", "top", "bottom", "left", "right" | +| [layoutMode](properties_Appearance.md#view-mode) | Mode for displaying the 4D Write Pro document in the form area. | "page", "draft", "embedded" | +| [left](properties_CoordinatesAndSizing.md#left) | Positions an object on the left. | minimum: 0 | +| list, see [choiceList](properties_DataSource.md#choice-list) | A list of choices associated with a hierarchical list | A list of choices | +| [listboxType](properties_Object.md#data-source) | The list box data source. | "array", "currentSelection", "namedSelection", "collection" | +| [listForm](properties_Subform.md#list-form) | List form to use in the subform. | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | +| [lockedColumnCount](properties_ListBox.md#number-of-locked-columns) | Number of columns that must stay permanently displayed in the left part of a list box. | minimum: 0 | +| [loopBackToFirstFrame](properties_Animation.md#loop-back-to-first-frame) | Pictures are displayed in a continuous loop. | true, false | + +## M + +| Property | Description | Possible Values | +| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- | +| [max](properties_Scale.md#maximum) | The maximum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. | minimum: 0 (for numeric data types) | +| [maxWidth](properties_CoordinatesAndSizing.md#maximum-width) | Designates the largest size allowed for list box columns. | minimum: 0 | +| [metaSource](properties_Text.md#meta-info-expression) | A meta object containing style and selection settings. | An object expression | +| [method](properties_Action.md#method) | A project method name. | The name of an existing project method | +| [methodsAccessibility](properties_WebArea.md#access-4d-methods) | Which 4D methods can be called from a Web area | "none" (default), "all" | +| [min](properties_Scale.md#minimum) | The minimum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. | minimum: 0 (for numeric data types) | +| [minWidth](properties_CoordinatesAndSizing.md#minimum-width) | Designates the smallest size allowed for list box columns. | minimum: 0 | +| [movableRows](properties_Action.md#movable-rows) | Authorizes the movement of rows during execution. | true, false | +| [multiline](properties_Entry.md#multiline) | Handles multiline contents. | "yes", "no", "automatic" | + +## N + +| Property | Description | Possible Values | +| --------------------------------------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------- | +| [name](properties_Object.md#object-name) | The name of the form object. (Optional for the form) | Any name which does not belong to an already existing object | +| [numberFormat](properties_Display.md#number-format) | Controls the way the alphanumeric fields and variables appear when displayed or printed. | Numbers (including a decimal point or minus sign if necessary) | + +## P + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [picture](properties_Picture.md#pathname) | The pathname of the picture for picture buttons, picture pop-up menus, or static pictures | Relative or filesystem path in POSIX syntax. | +| [pictureFormat](properties_Display.md#picture-format) (input, list box column or footer)
    [pictureFormat](properties_Picture.md#display) (static picture) | Controls how pictures appear when displayed or printed. | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft" (excluding static pictures), "proportionalCenter"(excluding static pictures) | +| [placeholder](properties_Entry.md#placeholder) | Grays out text when the data source value is empty. | Text to be grayed out. | +| [pluginAreaKind](properties_Object.md#plug-in-kind) | Describes the type of plug-in. | The type of plug-in. | +| [popupPlacement](properties_TextAndPicture.md#with-pop-up-menu) | Allows displaying a symbol that appears as a triangle in the button, which indicates that there is a pop-up menu attached. | "None", Linked", "Separated" | +| [printFrame](properties_Print.md#print-frame) | Print mode for objects whose size can vary from one record to another depending on their contents | "fixed", "variable", (subform only) "fixedMultiple" | +| [progressSource](properties_WebArea.md#progression) | A value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually. | minimum: 0 | + +## R + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | +| [radioGroup](properties_Object.md#radio-group) | Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set. | Radio group name | +| [requiredList](properties_RangeOfValues.md#required-list) | Allows setting a list where only certain values can be inserted. | A list of mandatory values. | +| [resizable](properties_ResizingOptions.md#resizable) | Designates if the size of an object can be modified by the user. | "true", "false" | +| [resizingMode](properties_ResizingOptions.md#column-auto-resizing) | Specifies if a list box column should be automatically resized | "rightToLeft", "legacy" | +| [right](properties_CoordinatesAndSizing.md#right) | Positions an object on the right. | minimum: 0 | +| [rowControlSource](properties_ListBox.md#row-control-array) | A 4D array defining the list box rows. | Tableau | +| [rowCount](properties_Crop.md#rows) | Sets the number of rows. | minimum: 1 | +| [rowFillSource](properties_BackgroundAndBorder.md#row-background-color-array) (array list box)
    [rowFillSource](properties_BackgroundAndBorder.md#background-color-expression) (selection or collection list box) | The name of an array or expression to apply a custom background color to each row of a list box. | The name of an array or expression. | +| [rowHeight](properties_CoordinatesAndSizing.md#row-height) | Sets the height of list box rows. | CSS value unit "em" or "px" (default) | +| [rowHeightAuto](properties_CoordinatesAndSizing.md#automatic-row-height) | boolean | "true", "false" | +| [rowHeightAutoMax](properties_CoordinatesAndSizing.md#maximum-width) | Designates the largest height allowed for list box rows. | CSS value unit "em" or "px" (default). minimum: 0 | +| [rowHeightAutoMin](properties_CoordinatesAndSizing.md#minimum-width) | Designates the smallest height allowed for list box rows. | CSS value unit "em" or "px" (default). minimum: 0 | +| [rowHeightSource](properties_CoordinatesAndSizing.md#row-height-array) | An array defining different heights for the rows in a list box. | Name of a 4D array variable. | +| [rowStrokeSource](properties_Text.md#row-font-color-array) (array list box)
    [rowStrokeSource](properties_Text.md#font-color-expression) (selection or collection/entity selection list box) | An array or expression for managing row colors. | Name of array or expression. | +| [rowStyleSource](properties_Text.md#row-style-array) (array list box)
    [rowStyleSource](properties_Text.md#style-expression) (selection or collection/entity selection list box) | An array or expression for managing row styles. | Name of array or expression. | + +## S + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [scrollbarHorizontal](properties_Appearance.md#horizontal-scroll-bar) | A tool allowing the user to move the viewing area to the left or right. | "visible", "hidden", "automatic" | +| [scrollbarVertical](properties_Appearance.md#vertical-scroll-bar) | A tool allowing the user to move the viewing area up or down. | "visible", "hidden", "automatic" | +| [selectedItemsSource](properties_DataSource.md#selected-items) | Collection of the selected items in a list box. | Collection expression | +| [selectionMode](properties_Action.md#multi-selectable) (hierarchical list)
    [selectionMode](properties_ListBox.md#selection-mode) (list box)
    [selectionMode](properties_Subform.md#selection-mode) (subform) | Allows the selection of multiple records/rows. | "multiple", "single", "none" | +| [shortcutAccel](properties_Entry.md#shortcut) | Specifies the system to use, Windows or Mac. | true, false | +| [shortcutAlt](properties_Entry.md#shortcut) | Designates the Alt key | true, false | +| [shortcutCommand](properties_Entry.md#shortcut) | Designates the Command key (macOS) | true, false | +| [shortcutControl](properties_Entry.md#shortcut) | Designates the Control key (Windows) | true, false | +| [shortcutKey](properties_Entry.md#shortcut) | The letter or name of a special meaning key. | "[F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | +| [shortcutShift](properties_Entry.md#shortcut) | Designates the Shift key | true, false | +| [showFooters](properties_Footers.md#display-headers) | Displays or hides column footers. | true, false | +| [showGraduations](properties_Scale.md#display-graduation) | Displays/Hides the graduations next to the labels. | true, false | +| [showHeaders](properties_Headers.md#display-headers) | Displays or hides column headers. | true, false | +| [showHiddenChars](properties_Appearance.md#show-hidden-characters) | Displays/hides invisible characters. | true, false | +| [showHorizontalRuler](properties_Appearance.md#show-horizontal-ruler) | Displays/hides the horizontal ruler when the document view is in Page view mode | true, false | +| [showHTMLWysiwyg](properties_Appearance.md#show-html-wysiwyg) | Enables/disables the HTML WYSIWYG view | true, false | +| [showPageFrames](properties_Appearance.md#show-page-frame) | Displays/hides the page frame when the document view is in Page view mode | true, false | +| [showReferences](properties_Appearance.md#show-references) | Displays all 4D expressions inserted in the 4D Write Pro document as *references* | true, false | +| [showSelection](properties_Entry.md#selection-always-visible) | Keeps the selection visible within the object after it has lost the focus | true, false | +| [showVerticalRuler](properties_Appearance.md#show-vertical-ruler) | Displays/hides the vertical ruler when the document view is in Page view mode | true, false | +| [singleClickEdit](properties_Entry.md#single-click-edit) | Enables direct passage to edit mode. | true, false | +| [sizingX](properties_ResizingOptions.md#horizontal-sizing) | Specifies if the horizontal size of an object should be moved or resized when a user resizes the form. | "grow", "move", "fixed" | +| [sizingY](properties_ResizingOptions.md#horizontal-sizing) | Specifies if the vertical size of an object should be moved or resized when a user resizes the form. | "grow", "move", "fixed" | +| [sortable](properties_Action.md#sortable) | Allows sorting column data by clicking the header. | true, false | +| [spellcheck](properties_Entry.md#auto-spellcheck) | Activates the spell-check for the object | true, false | +| [splitterMode](properties_ResizingOptions.md#pusher) | When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop. | "grow", "move", "fixed" | +| [startPoint](shapes_overview.md#startpoint-property) | Starting point for drawing a line object (only available in JSON Grammar). | "bottomLeft", topLeft" | +| [staticColumnCount](properties_ListBox.md#number-of-static-columns) | Number of columns that cannot be moved during execution. | minimum: 0 | +| [step](properties_Scale.md#step) | Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value. | minimum: 1 | +| [storeDefaultStyle](properties_Text.md#store-with-default-style-tags) | Store the style tags with the text, even if no modification has been made | true, false | +| [stroke](properties_Text.md#font-color) (text)
    [stroke](properties_BackgroundAndBorder.md#line-color) (lines)
    [stroke](properties_BackgroundAndBorder.md#transparent) (list box) | Specifies the color of the font or line used in the object. | Any CSS value, "transparent", "automatic" | +| [strokeDashArray](properties_BackgroundAndBorder.md#dotted-line-type) | Describes dotted line type as a sequence of black and white points | Number array or string | +| [strokeWidth](properties_BackgroundAndBorder.md#line-width) | Designates the thickness of a line. | An integer or 0 for smallest width on a printed form | +| [style](properties_TextAndPicture.md#multi-style) | Enables the possibility of using specific styles in the selected area. | true, false | +| [styledText](properties_Text.md#style) | Allows setting the general appearance of the button. See Button Style for more information. | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" | +| [switchBackWhenReleased](properties_Animation.md#switch-back-when-released) | Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released. | true, false | +| [switchContinuously](properties_Animation.md#switch-continuously-on-clicks) | Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation). | true, false | +| [switchWhenRollover](properties_Animation.md#switch-when-roll-over) | Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area. | true, false | + + +## T + +| Property | Description | Possible Values | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [table](properties_Subform.md#source) | Table that the list subform belongs to (if any). | 4D table name, or "" | +| [Texte](properties_Object.md#title) | The title of the form object | Any text | +| [textAlign](properties_Text.md#horizontal-alignment) | Horizontal location of text within the area that contains it. | "automatic", "right", "center", "justify", "left" | +| [textAngle](properties_Text.md#orientation) | Modifies the orientation (rotation) of the text area. | 0, 90, 180, 270 | +| [textDecoration](properties_Text.md#underline) | Sets the selected text to have a line running beneath it. | "normal", "underline" | +| [textFormat](properties_Display.md#alpha-format) | Controls the way the alphanumeric fields and variables appear when displayed or printed. | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats | +| [textPlacement](properties_TextAndPicture.md#title-picture-position) | Relative location of the button title in relation to the associated icon. | "left", "top", "right", "bottom", "center" | +| [threeState](properties_Display.md#three-states) | Allows a check box object to accept a third state. | true, false | +| [timeFormat](properties_Display.md#time-format) | Controls the way times appear when displayed or printed. Must only be selected among the 4D built-in formats. | "systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values) | +| [truncateMode](properties_Display.md#trucate-with-ellipsis) | Controls the display of values when list box columns are too narrow to show their full contents. | "withEllipsis", "none" | +| [type](properties_Object.md#type) | Mandatory. Designates the data type of the form object. | "text", "rectangle", "groupBox", "tab", "line", "button", "checkbox", "radio", "dropdown", "combo", "webArea", "write", "subform", "plugin", "splitter", "buttonGrid", "progress", "ruler", "spinner", "stepper", "list", "pictureButton", "picturePopup", "listbox", "input", "view" | +| [tooltip](properties_Help.md) | Provide users with additional information about a field. | Additional information to help a user | +| [top](properties_CoordinatesAndSizing.md#top) | Positions an object at the top (centered). | minimum: 0 | + +## U + +| Property | Description | Possible Values | +| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------- | +| [urlSource](properties_WebArea.md#url) | Designates the the URL loaded or being loading by the associated Web area. | A URL. | +| [useLastFrameAsDisabled](properties_Animation.md#use-last-frame-as-disabled) | Enables setting the last thumbnail as the one to display when the button is disabled. | true, false | +| [userInterface](properties_Appearance.md#user-interface) | 4D View Pro area interface. | "none" (default), "ribbon", "toolbar" | + +## V + +| Property | Description | Possible Values | +| ----------------------------------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | +| [values](properties_DataSource.md#default-list-values) | List of default values for an array listbox column | ex: "A","B","42"... | +| [variableCalculation](properties_Object.md#variable-calculation) | Allows mathematical calculations to be performed. | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" | +| [verticalAlign](properties_Text.md#vertical-alignment) | Vertical location of text within the area that contains it. | "automatic", "top", "middle", "bottom" | +| [verticalLineStroke](properties_Gridlines.md#vertical-line-color) | Defines the color of the vertical lines in a list box (gray by default). | Any CSS value, "'transparent", "automatic" | +| [visibility](properties_Display.md#visibility) | Allows hiding the object in the Application environment. | "visible", "hidden", "selectedRows", "unselectedRows" | + +## W + +| Property | Description | Possible Values | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | +| [webEngine](properties_WebArea.md#use-embedded-web-rendering-engine) | Used to choose between two rendering engines for the Web area, depending on the specifics of the application. | "embedded", "system" | +| [width](properties_CoordinatesAndSizing.md#width) | Designates an object's horizontal size | minimum: 0 | +| [withFormulaBar](properties_Appearance.md#show-formula-bar) | Manages the display of a formula bar with the Toolbar interface in the 4D View Pro area. | true, false | +| [wordwrap](properties_Display.md#wordwrap) | Manages the display of contents when it exceeds the width of the object. | "automatic" (excluding list box), "normal", "none" | + + +## Z + +| Property | Description | Possible Values | +| ------------------------------------- | ------------------------------------------------ | ------------------ | +| [zoom](properties_Appearance.md#zoom) | Zoom percentage for displaying 4D Write Pro area | number (minimum=0) | diff --git a/website/translated_docs/fr/FormObjects/properties_ResizingOptions.md b/website/translated_docs/fr/FormObjects/properties_ResizingOptions.md new file mode 100644 index 00000000000000..ae12192aaa7935 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_ResizingOptions.md @@ -0,0 +1,144 @@ +--- +id: propertiesResizingOptions +0: title:Resizing Options +--- + +--- +## Column Auto-Resizing + +When this property is enabled (`rightToLeft` value in JSON), list box columns are automatically resized along with the list box, within the limits of the [minimum](properties_CoordinatesAndSizing.md#minimum-width) and [maximum](properties_CoordinatesAndSizing.md#maximum-width) widths defined. + +When this property is disabled (`legacy` value in JSON), only the rightmost column of the list box is resized, even if its width exceeds the maximum value defined. + +### How column auto-resizing works + +* As the list box width increases, its columns are enlarged, one by one, starting from right to left, until each reaches its [maximum width](properties_CoordinatesAndSizing.md#maximum-width). Only columns with the [Resizable](#resizable) property selected are resized. + +* The same procedure applies when the list box width decreases, but in reverse order (*i.e.*, columns are resized starting from left to right). When each column has reached its [minimum width](properties_CoordinatesAndSizing.md#minimum-width), the horizontal scroll bar becomes active again. + +* Columns are resized only when the horizontal scroll bar is not "active"; *i.e.*, all columns are fully visible in the list box at its current size. **Note**: If the horizontal scroll bar is hidden, this does not alter its state: a scroll bar may still be active, even though it is not visible. + +* After all columns reach their maximum size, they are no longer enlarged and instead a blank (fake) column is added on the right to fill the extra space. If a fake (blank) column is present, when the list box width decreases, this is the first area to be reduced. + +![](assets/en/FormObjects/property_columnAutoResizing.png) + +#### About the fake (blank) column + +The appearance of the fake column matches that of the existing columns; it will have a fake header and/or footer if these elements are present in the existing list box columns and it will have the same background color(s) applied. + +The fake header and/or footer can be clicked but this does not have any effect on the other columns (e.g.: no sort is performed); nevertheless, the `On Clicked`, `On Header Click` and `On Footer Click` events are generated accordingly. + +If a cell in the fake column is clicked, the [LISTBOX GET CELL POSITION](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-GET-CELL-POSITION.301-4311145.en.html) command returns "X+1" for its column number (where X is the number of existing columns). + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | ----------------------- | +| resizingMode | string | "rightToLeft", "legacy" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Horizontal Sizing + +This property specifies if the horizontal size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +| Option | JSON value | Result | +| ------ | ---------- | ---------------------------------------------------------------------------------------------------------------------- | +| Grow | "grow" | The same percentage is applied to the object’s width when the user resizes the width of the window, | +| Move | "move" | The object is moved the same amount left or right as the width increase when the user resizes the width of the window, | +| None | "fixed" | The object remains stationary when the form is resized | +> This property works in conjunction with the [Vertical Sizing](#vertical-sizing) property. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------- | --------------- | ----------------------- | +| sizingX | string | "grow", "move", "fixed" | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Vertical Sizing + +This property specifies if the vertical size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +| Option | JSON value | Result | +| ------ | ---------- | -------------------------------------------------------------------------------------------------------------------- | +| Grow | "grow" | The same percentage is applied to the object's height when the user resizes the width of the window, | +| Move | "move" | The object is moved the same amount up or down as the height increase when the user resizes the width of the window, | +| None | "fixed" | The object remains stationary when the form is resized | +> This property works in conjunction with the [Horizontal Sizing](#horizontal-sizing) property. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------- | --------------- | ----------------------- | +| sizingY | string | "grow", "move", "fixed" | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Pusher + +When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop. + +Here is the result of a “pusher” splitter being moved: ![](assets/en/FormObjects/splitter_pusher1.png) + +![](assets/en/FormObjects/splitter_pusher3.png) + +When this property is not applied to the splitter, the result is as follows: + +![](assets/en/FormObjects/splitter_pusher2.png) + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:------------ |:---------------:|:------------------------------------:| +| splitterMode | string | "move" (pusher), "resize" (standard) | + +#### Objects Supported + +[Splitter](splitterTabControlOverview#splitters) + + + + +--- +## Resizable + +Designates if the size of the column can be modified by the user. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:--------- |:---------------:|:---------------:| +| resizable | boolean | "true", "false" | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + diff --git a/website/translated_docs/fr/FormObjects/properties_Scale.md b/website/translated_docs/fr/FormObjects/properties_Scale.md new file mode 100644 index 00000000000000..83e4d6dc0a7044 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Scale.md @@ -0,0 +1,137 @@ +--- +id: propertiesScale +title: Scale +--- + +--- +## Barber shop + +Enables the "barber shop" variant for the thermometer. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:---------------:|:---------------:| ----------------------------------------------------------- | +| [max](#maximum) | number | NOT passed = enabled; passed = disabled (basic thermometer) | + +#### Objects Supported + +[Barber shop](progressIndicator.md#barber-shop) + + + +--- +## Display graduation + +Displays/Hides the graduations next to the labels. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:---------------:|:---------------:| --------------- | +| showGraduations | boolean | "true", "false" | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Graduation step + +Scale display measurement. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:--------------:|:---------------:| --------------- | +| graduationStep | integer | minimum: 0 | + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Label Location + +Specifies the location of an object's displayed text. + +* None - no label is displayed +* Top - Displays labels to the left of or above an indicator +* Bottom - Displays labels to the right of or below an indicator + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:---------------:|:---------------:| ---------------------------------------- | +| labelsPlacement | string | "none", "top", "bottom", "left", "right" | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Maximum + +Maximum value of an indicator. + +- For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. +- To enable [Barber shop thermometers](progressIndicator.md#barber-shop), this property must be omitted. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:----:|:---------------:| ----------------------------------- | +| max | string / number | minimum: 0 (for numeric data types) | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + +--- +## Minimum + +Minimum value of an indicator. For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:----:|:---------------:| ----------------------------------- | +| min | string / number | minimum: 0 (for numeric data types) | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + +--- +## Step + +Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:----:|:---------------:| --------------- | +| step | integer | minimum: 1 | + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + + + diff --git a/website/translated_docs/fr/FormObjects/properties_Subform.md b/website/translated_docs/fr/FormObjects/properties_Subform.md new file mode 100644 index 00000000000000..fbef57a8af2bee --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Subform.md @@ -0,0 +1,169 @@ +--- +id: propertiesSubform +title: Subform +--- + +--- +## Allow Deletion + +Specifies if the user can delete subrecords in a list subform. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------------- | --------------- | --------------------------- | +| deletableInList | boolean | true, false (default: true) | + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## Detail Form + +You use this property to declare the detail form to use in the subform. It can be: + +- a widget, i.e. a page-type subform endowed with specific functions. In this case, the [list subform](#list-form) and [Source](#source) properties must be empty or not present. You can select a component form name when it is published in the component. +> You can generate [components](Concepts/components.md) providing additional functionalities through subforms. + +- the detail form to associate a with the [list subform](#list-form). The detail form can be used to enter or view subrecords. It generally contains more information than the list subform. Naturally, the detail form must belong to the same table as the subform. You normally use an Output form as the list form and an Input form as the detail form. If you do not specify the form to use for full page entry, 4D automatically uses the default Input format of the table. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| detailForm | string | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Double-click on empty row + +Action to perform in case of a double-click on an empty line of a list subform. The following options are available: +- Do nothing: Ignores double-click. +- Add Record: Creates a new record in the subform and changes to editing mode. The record will be created directly in the list if the [Enterable in List] property is enabled. Otherwise, it will be created in page mode, in the [detail form](detail-form) associated with the subform. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------------------------- | --------------- | ---------------------------------- | +| doubleClickInEmptyAreaAction | string | "addSubrecord" or "" to do nothing | + +#### Objects Supported + +[Subform](subform_overview.md) + +#### See also +[Double click on row](#double-click-on-row) + +--- +## Double-click on row + +`List subform` + +Sets the action to be performed when a user double-clicks on a row in a list subform. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the [detail form defined for the list subform](#detail-form). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------------------- | --------------- | ----------------------------------- | +| doubleClickInRowAction | string | "editSubrecord", "displaySubrecord" | + +#### Objects Supported + +[Subform](subform_overview.md) + + +#### See also +[Double click on empty row](#double-click-on-empty-row) + +--- +## Enterable in list + +When a list subform has this property enabled, the user can modify record data directly in the list, without having to use the [associated detail form](#detail-form). + +> To do this, simply click twice on the field to be modified in order to switch it to editing mode (make sure to leave enough time between the two clicks so as not to generate a double-click). + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------------- | --------------- | --------------- | +| enterableInList | boolean | true, false | + + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## List Form + +You use this property to declare the list form to use in the subform. A list subform lets you enter, view, and modify data in other tables. + +List subforms can be used for data entry in two ways: the user can enter data directly in the subform, or enter it in an [input form](#detail-form). In this configuration, the form used as the subform is referred to as the List form. The input form is referred to as the Detail form. + +You can also allow the user to enter data in the List form. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| listForm | string | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + + + +--- +## Source + +Specifies the table that the list subform belongs to (if any). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----- | --------------- | --------------------------------- | +| table | string | 4D table name, or "" if no table. | + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Enterable in list](subform_overview.md#enterable-in-list) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + - The selected subrecords are returned by the `GET HIGHLIGHTED RECORDS` command. + - Clicking on the record will select it, but it does not modify the current record. + - A **Ctrl+click** (Windows) or **Command+click** (macOS) on a record toggles its state (between selected or not). The Up and Down arrow keys select the previous/next record in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the selected record is changed. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | ---------------------------- | +| selectionMode | string | "multiple", "single", "none" | + +#### Objects Supported + +[Subform](subform_overview.md) diff --git a/website/translated_docs/fr/FormObjects/properties_Text.md b/website/translated_docs/fr/FormObjects/properties_Text.md new file mode 100644 index 00000000000000..0de8303302bac3 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_Text.md @@ -0,0 +1,754 @@ +--- +id: propertiesText +0: title:Text +--- + +--- +## Allow font/color picker + +When this property is enabled, the [OPEN FONT PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-FONT-PICKER.301-4505612.en.html) and [OPEN COLOR PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-COLOR-PICKER.301-4505611.en.html) commands can be called to display the system font and color picker windows. Using these windows, the users can change the font or color of a form object that has the focus directly by clicking. When this property is disabled (default), the open picker commands have no effect. + + +#### JSON Grammar + +| Property | Type de données | Possible Values | +| -------------------- | --------------- | --------------------- | +| allowFontColorPicker | boolean | false (default), true | + +#### Objects Supported + +[Input](input_overview.md) + +--- +## Bold + +Sets the selected text to appear darker and heavier. + +You can set this property using the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. +> This is normal text.
    **This is bold text.** + +#### JSON Grammar + +| Property | Type de données | Possible Values | +| ---------- | --------------- | ---------------- | +| fontWeight | Texte | "normal", "bold" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Italic + +Sets the selected text to slant slightly to the right. + +You can also set this property via the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. +> This is normal text.
    *This is text in italics.* + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------- | --------------- | ------------------ | +| fontStyle | string | "normal", "italic" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +--- +## Underline +Sets the text to have a line running beneath it. +> This is normal text.
    This is underlined text. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------------- | --------------- | --------------------- | +| textDecoration | string | "normal", "underline" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + + +--- +## Font + +This property allows you to specify either the **font theme** or the **font family** used in the object. +> **Font theme** and **font family** properties are mutually exclusive. A font theme takes hold of font attributes, including size. A font family allows you to define font name, font size and font color. + + +### Font Theme + +The font theme property designates an automatic style name. Automatic styles determine the font family, font size and font color to be used for the object dynamically according to system parameters. These parameters depend on: + +- the platform, +- the system language, +- and the type of form object. + +With the font theme, you are guaranteed that titles are always displayed in accordance with the current interface standards of the system. However, their size may vary from one machine to another. + +Three font themes are available: +- **normal**: automatic style, applied by default to any new object created in the Form editor. +- **main** and **additional** font themes are only supported by [text areas](text.md) and [inputs](input_overview.md). These themes are primarily intended for designing dialog boxes. They refer to font styles used, respectively, for main text and additional information in your interface windows. Here are typical dialog boxes (macOS and Windows) using these font themes: + +![](assets/en/FormObjects/fontThemes.png) + +> Font themes manage the font as well as its size and color. If you modify one of the properties managed by a font theme, it no longer works dynamically. However, you can apply custom style properties (Bold, Italic or Underline) without altering its functioning. + + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------- | --------------- | ------------------------------ | +| fontTheme | string | "normal", "main", "additional" | + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +### Font Family + +There are two types of font family names: + +* *family-name:* The name of a font-family, like "times", "courier", "arial", etc. +* *generic-family:* The name of a generic-family, like "serif", "sans-serif", "cursive", "fantasy", "monospace". + +You can set this using the [**OBJECT SET FONT**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT.301-4054834.en.html) command. +> This is Times New Roman font.
    This is Calibri font.
    This is Papyrus font. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | -------------------- | +| fontFamily | string | CSS font family name | +> 4D recommends using only [web safe](https://www.w3schools.com/cssref/css_websafe_fonts.asp) fonts. + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + +--- +## Font Size + +> This property is only available when no [font theme](#font-theme) is selected. + +Allows defining the object's font size in points. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------- | --------------- | ------------------------------------- | +| fontSize | integer | Font size in points. Minimum value: 0 | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Font Color + +This property specifies the color of the font used in the object. The color can be specified by: + +* a color name - like "red" +* a HEX value - like "#ff0000" +* an RGB value - like "rgb(255,0,0)" + +You can also set this property using the [**OBJECT SET RGB COLORS**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-RGB-COLORS.301-4128232.en.html) command. +> This font is red. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------ | --------------- | ----------------------------------------- | +| stroke | string | any css value, "transparent", "automatic" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + +--- + +## Font Color Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom font color to each row of the list box. You must use RGB color values. For more information about this, refer to the description of the [OBJECT SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-RGB-COLORS.301-4311385.en.html) command in the 4D Language Reference manual. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. +> This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +The following example uses a variable name: enter *CompanyColor* for the **Font Color Expression** and, in the form method, write the following code: + +```code4d +CompanyColor:=Choose([Companies]ID;Background color;Light shadow color; +Foreground color;Dark shadow color) +``` + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------------- | --------------- | --------------------- | +| rowStrokeSource | string | Font color expression | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + +--- +## Style Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom character style to each row of the list box or each cell of the column. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed (if applied to the list box) or each cell displayed (if applied to a column). You can use the constants of the [Font Styles](https://doc.4d.com/4Dv17R6/4D/17-R6/Font-Styles.302-4310343.en.html) theme. + +Exemple : + +```code4d +Choose([Companies]ID;Bold;Plain;Italic;Underline) +``` +> This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------------- | --------------- | ----------------------------------------------- | +| rowStyleSource | string | Style expression to evaluate for each row/cell. | + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Horizontal Alignment + +Horizontal location of text within the area that contains it. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------- | --------------- | ------------------------------------------------- | +| textAlign | string | "automatic", "right", "center", "justify", "left" | + +#### Objects Supported + +[Group Box](groupBox.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Header](listbox_overview.md#list-box-footers) - [Text Area](text.md) + + +--- +## Vertical Alignment + +Vertical location of text within the area that contains it. + +The **Default** option (`automatic` JSON value) sets the alignment according to the type of data found in each column: +- `bottom` for all data (except pictures) and +- `top` for picture type data. + +This property can also be handled by the [OBJECT Get vertical alignment](https://doc.4d.com/4Dv18/4D/18/OBJECT-Get-vertical-alignment.301-4505442.en.html) and [OBJECT SET VERTICAL ALIGNMENT](https://doc.4d.com/4Dv18/4D/18/OBJECT-SET-VERTICAL-ALIGNMENT.301-4505430.en.html) commands. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | -------------------------------------- | +| verticalAlign | string | "automatic", "top", "middle", "bottom" | + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) + + + + + + + + + +--- +## Meta Info Expression +`Collection or entity selection type list boxes` + +Specifies an expression or a variable which will be evaluated for each row displayed. It allows defining a whole set of row text attributes. You must pass an **object variable** or an **expression that returns an object**. The following properties are supported: + +| Property name | Type | Description | +| ------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| stroke | string | Font color. Any CSS color (ex: "#FF00FF"), "automatic", "transparent" | +| border-style | string | Background color. Any CSS color (ex: "#F00FFF"), "automatic", "transparent" | +| fontStyle | string | "normal","italic" | +| fontWeight | string | "normal","bold" | +| textDecoration | string | "normal","underline" | +| unselectable | boolean | Designates the corresponding row as not being selectable (*i.e.*, highlighting is not possible). Enterable areas are no longer enterable if this option is enabled unless the "Single-Click Edit" option is also enabled. Controls such as checkboxes and lists remain functional. This setting is ignored if the list box selection mode is "None". Default value: False. | +| disabled | boolean | Disables the corresponding row. Enterable areas are no longer enterable if this option is enabled. Text and controls (checkboxes, lists, etc.) appear dimmed or grayed out. Default value: False. | +| cell.\ | object | Allows applying the property to a single column. Pass in \ the object name of the list box column. **Note**: "unselectable" and "disabled" properties can only be defined at row level. They are ignored if passed in the "cell" object | + +> Style settings made with this property are ignored if other style settings are already defined through expressions (*i.e.*, [Style Expression](#style-expression), [Font Color Expression](#font-color-expression), [Background Color Expression](#background-color-expression)). + +The following example uses the *Color* project method. + +In the form method, write the following code: + +```code4d +//form method +Case of + :(Form event=On Load) + Form.meta:=New object +End case +``` + + +In the *Color* method, write the following code: + +```code4d +//Color method +//Sets font color for certain rows and the background color for a specific column: +C_OBJECT($0) +If(This.ID>5) //ID is an attribute of collection objects/entities + Form.meta.stroke:="purple" + Form.meta.cell:=New object("Column2";New object("fill";"black")) +Else + Form.meta.stroke:="orange" +End if +$0:=Form.meta +``` +> See also the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. + + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | ------------------------------------------------ | +| metaSource | string | Object expression to evaluate for each row/cell. | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + + +--- +## Multi-style + +This property enables the possibility of using specific styles in the selected area. When this option is checked, 4D interprets any \ HTML tags found in the area.

    + +

    + By default, this option is not enabled. +

    + + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Type de données + + Possible Values +
    + styledText + + boolean + + true, false +
    + +

    + Objects Supported +

    + +

    + List Box Column - Input +

    + + + + + + + + +
    +

    + Orientation +

    + +

    + Modifies the orientation (rotation) of a text area. Text areas can be rotated by increments of 90°. Each orientation value is applied while keeping the same lower left starting point for the object: +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Orientation value + + Result +
    + 0 (default) + + +
    + 90 + + +
    + 180 + + +
    + 270 + + +
    + +

    + In addition to static text areas, input text objects can be rotated when they are non-enterable. When a rotation property is applied to an input object, the enterable property is removed (if any). This object is then excluded from the entry order. +

    + + + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Type de données + + Possible Values +
    + textAngle + + number + + 0, 90, 180, 270 +
    + +

    + Objects Supported +

    + +

    + Input (non-enterable) - Text Area +

    + + + + + +
    +

    + Row Font Color Array +

    + +

    + Array type list boxes +

    + +

    + Allows setting a custom font color to each row of the list box or cell of the column. +

    + +

    + The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the SET RGB COLORS theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. +

    + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Type de données + + Possible Values +
    + rowStrokeSource + + string + + The name of a longint array +
    + +

    + Objects Supported +

    + +

    + List Box - List Box Column +

    + + + + + +
    +

    + Row Style Array +

    + +

    + Array type list boxes +

    + +

    + Allows setting a custom font style to each row of the list box or each cell of the column. +

    + +

    + The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. To fill the array (using a method), use the constants of the Font Styles theme. You can add constants together to combine styles. If you want the cell to inherit the style defined at the higher level, pass the value -255 to the corresponding array element. +

    + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Type de données + + Possible Values +
    + rowStyleSource + + string + + The name of a longint array. +
    + +

    + Objects Supported +

    + +

    + List Box - List Box Column +

    + + + +
    +

    + Store with default style tags +

    + +

    + This property is only available for a Multi-style input area. When this property is enabled, the area will store the style tags with the text, even if no modification has been made. In this case, the tags correspond to the default style. When this property is disabled, only modified style tags are stored. +

    + +

    + For example, here is a text that includes a style modification: +

    + +

    + +

    + +

    + When the property is disabled, the area only stores the modification. The stored contents are therefore: +

    + +
    What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!
    +
    + +

    + When the property is enabled, the area stores all the formatting information. The first generic tag describes the default style then each variation is the subject of a pair of nested tags. The contents stored in the area are therefore: +

    + +
    <SPAN STYLE="font-family:'Arial';font-size:9pt;text-align:left;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background-color:#FFFFFF">What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!</SPAN>
    +
    + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Type de données + + Possible Values +
    + storeDefaultStyle + + boolean + + true, false (default). +
    + +

    + Objects Supported +

    + +

    + Input +

    + + + + + + + + + + + + + + + + + + + + + diff --git a/website/translated_docs/fr/FormObjects/properties_TextAndPicture.md b/website/translated_docs/fr/FormObjects/properties_TextAndPicture.md new file mode 100644 index 00000000000000..aecd4eb20f03a5 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_TextAndPicture.md @@ -0,0 +1,252 @@ +--- +id: propertiesTextAndPicture +0: title:Text and Picture +--- + +--- +## Background pathname + +Sets the path of the picture that will be drawn in the background of the object. If the object uses an [icon](#picture-pathname) with [different states](#number-of-states), the background picture will automatically support the same number of states. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ----------------------- | --------------- | ------------------------------------------------------------------------------------------------------------ | +| customBackgroundPicture | string | Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option. | + + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## Button Style + +General appearance of the button. The button style also plays a part in the availability of certain options. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:-----:|:---------------:| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| style | Texte | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" | + + +#### Objects Supported + +[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Horizontal Margin + +This property allows setting the size (in pixels) of the horizontal margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders: + +| With / Without | Exemple | +| -------------------- | --------------------------------------------------------- | +| Without margin | ![](assets/en/FormObjects/property_horizontalMargin1.png) | +| With 13-pixel margin | ![](assets/en/FormObjects/property_horizontalMargin2.png) | +> This property works in conjunction with the [Vertical Margin](#vertical-margin) property. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | --------------------------------------- | +| customBorderX | number | For use with "custom" style. Minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- + +## Icon Location + +Designates the placement of an icon in relation to the form object. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | ----------------------- | +| iconPlacement | string | "none", "left", "right" | + +#### Objects Supported + +[List Box Header](listbox_overview.md#list-box-headers) + + + + + +--- +## Icon Offset + +Sets a custom offset value in pixels, which will be used when the button is clicked + +The title of the button will be shifted to the right and toward the bottom for the number of pixels entered. This allows applying a customized 3D effect when the button is clicked. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------ | --------------- | --------------- | +| customOffset | number | minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + +--- +## Number of States + +This property sets the exact number of states present in the picture used as the icon for a [button with icon](button_overview.md), a [check box](checkbox_overview.md) or a custom [radio button](radio_overview.md). In general, a button icon includes four states: active, clicked, mouse over and inactive. + +Each state is represented by a different picture. In the source picture, the states must be stacked vertically: + +![](assets/en/property_numberOfStates.png) + +The following states are represented: +1. button not clicked / check box unchecked (variable value=0) +2. button clicked / check box checked (variable value=1) +3. roll over +4. disabled + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---------- | --------------- | --------------- | +| iconFrames | number | minimum: 1 | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + + +--- +## Picture pathname + +Sets the path of the picture that will be used as icon for the object. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +> When used as icon for active objects, the picture must be designed to support a variable [number of states](#number-of-states). + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ---- | --------------- | -------------------------------------------- | +| icon | picture | Relative or filesystem path in POSIX syntax. | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) + + + + +--- +## Title/Picture Position + +This property allows modifying the relative location of the button title in relation to the associated icon. This property has no effect when the button contains only a title (no associated picture) or a picture (no title). By default, when a button contains a title and a picture, the text is placed below the picture. + +Here are the results using the various options for this property: + +| Option | Description | Exemple | +| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- | +| **Left** | The text is placed to the left of the icon. The contents of the button are aligned to the right. | ![](assets/en/FormObjects/property_titlePosition_left.en.png) | +| **Top** | The text is placed above the icon. The contents of the button are centered. | ![](assets/en/FormObjects/property_titlePosition_top.png) | +| **Right** | The text is placed to the right of the icon. The contents of the button are aligned to the left. | ![](assets/en/FormObjects/property_titlePosition_right.png) | +| **Bottom** | The text is placed below the icon. The contents of the button are centered. | ![](assets/en/FormObjects/property_titlePosition_bottom.png) | +| **Centered** | The text of the icon is centered vertically and horizontally in the button. This parameter is useful, for example, for text included in an icon. | ![](assets/en/FormObjects/property_titlePosition_centered.png) | + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | ------------------------------------------ | +| textPlacement | string | "left", "top", "right", "bottom", "center" | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Vertical Margin + +This property allows setting the size (in pixels) of the vertical margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders. + +> This property works in conjunction with the [Horizontal Margin](#horizontal-margin) property. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| ------------- | --------------- | --------------------------------------- | +| customBorderY | number | For use with "custom" style. Minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## With pop-up menu + +This property allows displaying a symbol that appears as a triangle in the button to indicate the presence of an attached pop-up menu: + +![](assets/en/FormObjects/property_popup.png) + +The appearance and location of this symbol depends on the button style and the current platform. + + +### Linked and Separated + +To attach a pop-up menu symbol to a button, there are two display options available: + +| Linked | Separated | +|:----------------------------------------------------:|:-------------------------------------------------------:| +| ![](assets/en/FormObjects/property_popup_linked.png) | ![](assets/en/FormObjects/property_popup_separated.png) | +> The actual availability of a "separated" mode depends on the style of the button and the platform. + +Each option specifies the relation between the button and the attached pop-up menu: + +
  • When the pop-up menu is **separated**, clicking on the left part of the button directly executes the current action of the button; this action can be modified using the pop-up menu accessible in the right part of the button.
  • When the pop-up menu is **linked**, a simple click on the button only displays the pop-up menu. Only the selection of the action in the pop-up menu causes its execution. + + +### Managing the pop-up menu + +It is important to note that the "With Pop-up Menu" property only manages the graphic aspect of the button. The display of the pop-up menu and its values must be handled entirely by the developer, more particularly using `form events` and the **[Dynamic pop up menu](https://doc.4d.com/4Dv18/4D/18/Dynamic-pop-up-menu.301-4505524.en.html)** and **[Pop up menu](https://doc.4d.com/4Dv17R5/4D/17-R5/Pop-up-menu.301-4127438.en.html)** commands. + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +|:-------------- | --------------- | ---------------------------------------------------------------------------------------------------- | +| popupPlacement | string |
  • "none"
  • "linked"
  • "separated" | + + +#### Objects Supported + +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#Rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-XP) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/properties_WebArea.md b/website/translated_docs/fr/FormObjects/properties_WebArea.md new file mode 100644 index 00000000000000..f3f2cfc53b0265 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/properties_WebArea.md @@ -0,0 +1,103 @@ +--- +id: propertiesWebArea +title: Web Area +--- + +--- +## Access 4D methods + +You can call 4D methods from the JavaScript code executed in a Web area and get values in return. To be able to call 4D methods from a Web area, you must activate the 4D methods accessibility property ("all"). + +> This property is only available if the Web area [uses the embedded Web rendering engine](#use-embedded-web-rendering-engine). + +When this property is on, a special JavaScript object named `$4d` is instantiated in the Web area, which you can [use to manage calls to 4D project methods](webArea_overview.md#4d-object). + + + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------------------- | --------------- | ----------------------- | +| methodsAccessibility | string | "none" (default), "all" | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + +--- +## Progression + +Name of a Longint type variable. This variable will receive a value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| -------------- | --------------- | -------------------------- | +| progressSource | string | Name of a Longint variable | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + + + +--- +## URL + +A String type variable that designates the URL loaded or being loading by the associated Web area. The association between the variable and the Web area works in both directions: + +* If the user assigns a new URL to the variable, this URL is automatically loaded by the Web area. +* Any browsing done within the Web area will automatically update the contents of the variable. + +Schematically, this variable functions like the address area of a Web browser. You can represent it via a text area above the Web area. + +### URL Variable and WA OPEN URL command + +The URL variable produces the same effects as the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. The following differences should nevertheless be noted: +- For access to documents, this variable only accepts URLs that are RFC-compliant ("file://c:/My%20Doc") and not system pathnames ("c:\MyDoc"). The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command accepts both notations. +- If the URL variable contains an empty string, the Web area does not attempt to load the URL. The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command generates an error in this case. +- If the URL variable does not contain a protocol (http, mailto, file, etc.), the Web area adds "http://", which is not the case for the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. +- When the Web area is not displayed in the form (when it is located on another page of the form), executing the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command has no effect, whereas assigning a value to the URL variable can be used to update the current URL. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------- | --------------- | --------------- | +| urlSource | string | A URL. | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + + + + + +--- +## Use embedded Web rendering engine + +This option allows choosing between two rendering engines for the Web area, depending on the specifics of your application: + +* **unchecked** - `JSON value: system` (default): In this case, 4D uses the "best" engine corresponding to the system. On Windows, 4D automatically uses the most recent version of the browser found on the machine (IE11, MS Edge, etc.). On macOS, 4D uses the current version of WebKit (Safari). This means that you automatically benefit from the latest advances in Web rendering, through HTML5 or JavaScript. However, you may notice some rendering differences between Internet Explorer/Edge implementations and Web Kit ones. +* **checked** - `JSON value: embedded`: In this case, 4D uses Blink engine from Google. Using the embedded Web engine means that Web area rendering and their functioning in your application are identical regardless of the platform used to run 4D (slight variations of pixels or differences related to network implementation may nevertheless be observed). When this option is chosen, you no longer benefit from automatic updates of the Web engine performed by the operating system; however, new versions of the engines are provided through 4D. + + Note that the Blink engine has the following limitations: + * [WA SET PAGE CONTENT](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PAGE-CONTENT.301-4310783.en.html): using this command requires that at least one page is already loaded in the area (through a call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or an assignment to the URL variable associated to the area). + * Execution of Java applets, JavaScripts and plug-ins is always enabled and cannot be disabled in Web areas in Blink. The following selectors of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) and [WA GET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-GET-PREFERENCE.301-4310763.en.html) commands are ignored: + * `WA enable Java applets` + * `WA enable JavaScript` + * `WA enable plugins` + * When URL drops are enabled by the `WA enable URL drop` selector of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command, the first drop must be preceded by at least one call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or one assignment to the URL variable associated to the area. + +#### JSON Grammar + +| Name | Type de données | Possible Values | +| --------- | --------------- | -------------------- | +| webEngine | string | "embedded", "system" | + +#### Objects Supported + +[Web Area](webArea_overview.md) \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/radio_overview.md b/website/translated_docs/fr/FormObjects/radio_overview.md new file mode 100644 index 00000000000000..d50be41ec3b2db --- /dev/null +++ b/website/translated_docs/fr/FormObjects/radio_overview.md @@ -0,0 +1,162 @@ +--- +id: radiobuttonOverview +title: Radio Button +--- + +## Aperçu + +Radio buttons are objects that allow the user to select one of a group of buttons. + +Usually, a radio button shows a small bullseye with text. However, radio buttons can have [various appearances](#button-styles). + +![](assets/en/FormObjects/radio1.png) + +A radio button is selected: +- when the user clicks on it +- when it has the focus and the user presses the **Space bar** key. + + + +## Configuring radio buttons + +Radio buttons are used in coordinated sets: only one button at a time can be selected in the set. In order to operate in a coordinated manner, a set of radio buttons must share the same [Radio Group](properties_Object.md#radio-group) property. + +Radio buttons are controlled with methods. Like all buttons, a radio button is set to 0 when the form is first opened. A method associated with a radio button executes when the button is selected. The following is an example of a group of radio buttons used in a video collection database to enter the speed of the recording (SP, LP, or EP): + +![](assets/en/FormObjects/radio2.png) + +Selecting one radio button in a group sets that button to 1 and all of the others in the group to 0. Only one radio button can be selected at a time. +> You can associate [Boolean type expressions](properties_Object.md#variable-or-expression) with radio buttons. In this case, when a radio button in a group is selected, its variable is True and the variables for the group's other radio buttons are False. + +The value contained in a radio button object is not saved automatically (except if it is the representation of a Boolean field); radio button values must be stored in their variables and managed with methods. + + + + +## Button Styles + +Radio [button styles](properties_TextAndPicture.md#button-style) control radio button's general appearance as well as its available properties. It is possible to apply different predefined styles to radio buttons. However, the same button style must be applied to all radio buttons in a group so that they work as expected. + +4D provides radio buttons in the following predefined styles: + + +### Regular + +The Regular radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_regular.png) + +In addition to initiating code execution, the Regular radio button style changes bullsey color when being hovered. + + +### Flat + +The Flat radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_flat.png) + +By default, the Flat style has a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + + +### Toolbar + +The Toolbar radio button style is primarily intended for integration in a toolbar. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + +![](assets/en/FormObjects/radio_toolbar.png) + + - *macOS* - the highlight of the button never appears. + + + +### Bevel + +The Bevel radio button style is similar to the [Toolbar](#toolbar) style's behavior, except that it has a light gray background and a gray outline. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + + ![](assets/en/FormObjects/radio_bevel.png) + + - *macOS* - the highlight of the button never appears. + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the corners of the button are rounded. ![](assets/en/FormObjects/roundedBevel.png) + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the button is displayed as a two-tone system button. + + + +### OS X Textured + +The OS X Textured radio button style is nearly identical to the [Toolbar](#toolbar) style except, depending on the OS, it may have a different appearance and does not display hover. + +By default, the OS X Textured style appears as: + + - *Windows* - a toolbar-like button with a label in the center and the background is always displayed. + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/OSXTextured.png) + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + + ![](assets/en/FormObjects/radio_xp.png) + + - *macOS* - its background is always displayed. + + + +### Collapse / Expand + +This button style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. In Windows, the button looks like a [+] or a [-]; in macOS, it looks like a triangle pointing right or down. + +![](assets/en/FormObjects/checkbox_collapse.png) + + + +### Disclosure Button + +The disclosure radio button style displays the radio button as a standard disclosure button, usually used to show/hide additional information. The button symbol points downwards with value 0 and upwards with value 1. + +![](assets/en/FormObjects/checkbox_disclosure.png) + + +### Custom + +The Custom radio button style accepts a personalized background picture and allows managing additional parameters such as [icon offset](properties_TextAndPicture.md#icon-offset) and [margins](properties_TextAndPicture.md#horizontalMargin). + + +## Supported properties + +All radio buttons share the same set of basic properties: + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Radio Group](properties_Object.md#radio-group) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +Additional specific properties are available depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/website/translated_docs/fr/FormObjects/shapes_overview.md b/website/translated_docs/fr/FormObjects/shapes_overview.md new file mode 100644 index 00000000000000..ff3ad307660bc6 --- /dev/null +++ b/website/translated_docs/fr/FormObjects/shapes_overview.md @@ -0,0 +1,109 @@ +--- +id: shapesOverview +title: Shapes +--- + +Shapes are [static objects](formObjects_overview.md#active-and-static-objects) that can be added to 4D forms. + +4D forms support the following basic shapes: + +- rectangles +- lines +- ovals + + +## Rectangle + +A static rectangle is a decorative object for forms. Rectangles are constrained to squared shapes. + +The design of rectangles is controlled through many properties (color, line thickness, pattern, etc.). Specifically, the [roundness](properties_CoordinatesAndSizing.md#corner-radius) of its corners can be defined. + +![](assets/en/FormObjects/shapes_rectangle2.png) + +#### JSON Example: + +```code4d + "myRectangle": { + "type": "rectangle", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "borderRadius": 20 //define the roundness of the corners + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Corner radius](properties_CoordinatesAndSizing.md#corner-radius) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Line + +A static line is a decorative object for forms, drawn between two plots. Lines can be horizontal, vertical, or of any angle shapes. + +The design of lines is controlled through many properties (color, line thickness, etc.). + + +### startPoint property +The `startPoint` JSON property defines from which coordinate to draw the line (see example). + +> the `startPoint` property is not exposed in the Property List, where the line drawing direction is visible. + + + +#### JSON Examples: + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "topLeft", //first direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: ![](assets/en/FormObjects/shape_line1.png) + + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "bottomLeft", //2nd direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: ![](assets/en/FormObjects/shape_line2.png) + + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [startPoint](#startpoint-property) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Oval + +A static oval is a decorative object for forms. Oval objects can be used to draw circular shapes (when [width](properties_CoordinatesAndSizing.md#width) and [height](properties_CoordinatesAndSizing.md#height) properties are equal). + +![](assets/en/FormObjects/shape_oval.png) + +#### JSON Example: + +```code4d + "myOval": { + "type": "oval", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "fill": "blue" //define the background color + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/website/translated_docs/fr/Project/architecture.md b/website/translated_docs/fr/Project/architecture.md index 0419459e186e8a..605f394f1b485c 100644 --- a/website/translated_docs/fr/Project/architecture.md +++ b/website/translated_docs/fr/Project/architecture.md @@ -191,7 +191,7 @@ Le dossier Logs contient tous les fichiers journaux utilisés par le projet. Les This folder contains the components to be available in the project database only. It must be stored at the same level as the Project folder. - > A project database can be used itself as a component: - for development: put an alias of the .4dproject file in the Components folder of the host database. - for deployment: put the component as .4dz file (see [Building a project package](building.md)) in a .4dbase folder, just like with .4db/.4dc files. + > A project database can be used itself as a component: - for development: put an alias of the .4dproject file in the Components folder of the host database. - for deployment: build the component (see [Building a project package](building.md)) and put the resulting .4dz file in a .4dbase folder in the Components folder of the host database. ## Plugins folder diff --git a/website/translated_docs/ja/FormObjects/buttonGrid_overview.md b/website/translated_docs/ja/FormObjects/buttonGrid_overview.md new file mode 100644 index 00000000000000..be25d6a1f87c8a --- /dev/null +++ b/website/translated_docs/ja/FormObjects/buttonGrid_overview.md @@ -0,0 +1,35 @@ +--- +id: buttonGridOverview +title: Button Grid +--- + +## Overview + +A button grid is a transparent object that is placed on top of a graphic. The graphic should depict a row-by-column array. When one of the graphics is clicked on, it will have a sunken or pressed appearance: + +![](assets/en/FormObjects/buttonGrid_smileys.png) + +You can use a button grid object to determine where the user clicks on the graphic. The object method would use the `On Clicked` event and take appropriate action depending on the location of the click. + + +## Creating button grids + +To create the button grid, add a background graphic to the form and place a button grid on top of it. Specify the number of [rows](properties_Crop.md#rows) and [columns](properties_Crop.md#columns). + +In 4D, a button grid is used as a color palette: + +![](assets/en/FormObjects/button_buttonGrid.png) + +## Using button grids + +The buttons on the grid are numbered from top left to bottom right. In the above example, the grid is 16 columns across by 16 rows down. The button in the top-left position returns 1 when clicked. If the red button at the far right of the second row is selected, the button grid returns 32. If no element is selected, the value is 0 + + +### Goto page + +You can assign the `gotoPage` [standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) to a button grid. When this action is selected, 4D will automatically display the page of the form that corresponds to the number of the button that is selected in the button grid. For example, if the user selects the tenth button of the grid, 4D will display the tenth page of the current form (if it exists). + + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Standard action](properties_Action.md#standard-action) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Width](properties_CoordinatesAndSizing.md#width) - [Visibility](properties_Display.md#visibility) \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/button_overview.md b/website/translated_docs/ja/FormObjects/button_overview.md new file mode 100644 index 00000000000000..72ed394a8facba --- /dev/null +++ b/website/translated_docs/ja/FormObjects/button_overview.md @@ -0,0 +1,366 @@ +--- +id: buttonOverview +title: Button +--- + +A button is an active object that can be assigned an action (*e.g.*, a database task or an interface function) to perform when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +Buttons can fulfill a variety of roles, depending on their style and the action assigned to it. For example, buttons could lead a user through a questionnaire or form to complete, or to make choices. Depending on its settings, a button may be designed to be clicked only once and execute a command, while others may require the user to click more than once to receive the desired result. + +

    + +## Handling buttons + +The actions assigned to buttons can originate from predefined [standard actions](properties_Action.md#standard-action) or from custom object methods. Examples of typical actions include letting the user accept, cancel, or delete records, copy or paste data, move from page to page in a multi-page form, open, delete, or add records in a subform, handle font attributes in text areas, etc. + +Buttons with standard actions are dimmed when appropriate during form execution. For example, if the first record of a table is displayed, a button with the `firstRecord` standard action would appear dimmed. + +If you want a button to perform an action that's not available as a standard action, leave the standard action field empty and write an object method to specify the button’s action. For more information about object methods and how to create and associate them, see [Using object methods](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-object-methods.300-4163733.en.html). Normally, you would activate the `On Clicked` event and the method would run only when the button is clicked. You can associate a method with any button. + +The [variable](properties_Object.md#variable-or-expression) associated with a button is automatically set to **0** when the form is executed for the first time in Design or Application mode. When the user clicks a button, its variable is set to **1**. + +> A button can be assigned both a standard action and a method. In this case, if the button is not disabled by the standard action, the method is executed before the standard action. + + + +## Button Styles + +Button styles control a button's general appearance as well as its available properties. It is possible to apply different predefined styles to buttons or to associate pop-up menus with them. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many button objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides buttons in the following predefined styles: + + + +### Regular + +The Regular button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +By default, the Regular style has a light gray background with a label in the center. When the cursor hovers over the Regular button style, the border and background color change to demonstrate that it has the focus. In addition to initiating code execution, the Regular button style mimics a mechanical button by quickly changing background color when being clicked. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", //define the type of object + "style":"regular", //define the style of the button + "defaultButton":"true" //define button as the default choice + "text": "OK", //text to appear on the button + "action": "Cancel", //action to be be performed + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the button + "height": 20 //height of the button + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + + +### Flat + +The Flat button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_flat.png) + +By default, the Flat style has a white background with a label in the center, rounded corners, and a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + +#### JSON Example: + +```code4d + + "myButton": { + "type": "button", + "style":"flat", + "defaultButton":"true" + "text": "OK", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + +### Toolbar + +The Toolbar button style is primarily intended for integration in a toolbar. It includes the option to add a pop-up menu (indicated by an inverted triangle) which is generally used to display additional choices for the user to select. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted when it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_toolbar.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"toolbar", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel button style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive label) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_bevel.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"bevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Rounded Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + + ![](assets/en/FormObjects/button_roundedbevel.png) + + - *macOS* - the corners of the button are rounded. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"roundedBevel", + "text": "OK", + "popupPlacement":"none" / + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Gradient style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_osxgradient.png) + + - *macOS* - the button is displayed as a two-tone system button. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"gradientBevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### OS X Textured + +The OS X Textured button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light gray background with a label in the center. It has the special feature of being transparent in Vista. + + ![](assets/en/FormObjects/button_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"texturedBevel", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's transparency and pop-up menu property option. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + +![](assets/en/FormObjects/button_officexp.png) + + - *macOS* - its background is always displayed. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"office", + "text": "OK", + "popupPlacement":"none" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Help + + +The Help button style can be used to display a standard system help button. By default, the Help style is displayed as a question mark within a circle. + +![](assets/en/FormObjects/button_help.png) + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"help", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + +> The Help style does not support [Number of States](properties_TextAndPicture.md#number-of-states), [Picture pathname](properties_TextAndPicture.md#picture-pathname), and [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) basic properties. + + +### Circle + +The Circle button style appears as a round system button. This button style is designed for macOS. + +![](assets/en/FormObjects/button_circleM.png) + +On Windows, it is identical to the “None” style (the circle in the background is not taken into account). + + +#### JSON Example: + +``` + "myButton": { + "type": "button", + "style":"circular", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Custom + +The Custom button style accepts a personalized background picture and allows managing additional parameters such as icon and margin offset. + +![](assets/en/FormObjects/button_custom.png) + + +#### JSON Example: + +```code + "myButton": { + "type": "button", + "style":"custom", + "text": "", + "customBackgroundPicture": "/RESOURCES/bkgnd.png", + "icon": "/RESOURCES/custom.png", + "textPlacement": "center", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +## Supported Properties + +All buttons share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Not rendered](properties_Display.md#not-rendered) - [Number of States](properties_TextAndPicture.md#number-of-states)(1) - [Object Name](properties_Object.md#object-name) - [Picture pathname](properties_TextAndPicture.md#picture-pathname)(1) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position)(1) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +> (1) Not supported by the [Help](#help) style. + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Default Button](properties_Appearance.md#default-button) (Flat, Regular) +- [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) - [With pop-up menu](properties_TextAndPicture.md#with-popup-menu) (Toolbar, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Circle, Custom) + diff --git a/website/translated_docs/ja/FormObjects/checkbox_overview.md b/website/translated_docs/ja/FormObjects/checkbox_overview.md new file mode 100644 index 00000000000000..884bef346fc62c --- /dev/null +++ b/website/translated_docs/ja/FormObjects/checkbox_overview.md @@ -0,0 +1,420 @@ +--- +id: checkboxOverview +title: Check Box +--- + +## Overview + +A check box is a type of button used to enter or display binary (true-false) data. Basically, it is either checked or unchecked, but a third state can be defined (see below). + +![](assets/en/FormObjects/checkbox.png) + +Check boxes are controlled by methods. Like all buttons, a check box variable is set to 0 when the form is first opened. The method associated with it executes when the check box is selected. + +A check box displays text next to a small square. This text is set in the [Title](properties_Object.md#title) property of the check box. You can enter a title in the form of an XLIFF reference in this area (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + + +## Using check boxes + +A check box can be associated to a [variable or expression](properties_Object.md#variable-or-expression) of type integer or boolean. + +- **integer:** if the box is checked, the variable has the value 1. When not checked, it has the value 0. If check box is in third state (see below), it has the value 2. +- **boolean:** if the box is checked, the variable has the value `True`. When not checked, it has the value `False`. + +Any or all check boxes in a form can be checked or unchecked. A group of check boxes allows the user to select multiple options. + + +### Three-States check box + +Check box objects with style [Regular](checkbox_overview.md#regular) and [Flat](checkbox_overview.md#flat) accept a third state. This third state is an intermediate status, which is generally used for display purposes. For example, it allows indicating that a property is present in a selection of objects, but not in each object of the selection. + +![](assets/en/FormObjects/checkbox_3states.png) + +To enable this third state, you must select the [Three-States](properties_Display.md#three-states) property. + +This property is only available for regular and flat check boxes associated with numeric [variables or expressions](properties_Object.md#variable-or-expression) — check boxes for Boolean expressions cannot use the [Three-States](properties_Display.md#three-states) property (a Boolean expression cannot be in an intermediary state). + +The variable associated with the check box returns the value 2 when the check box is in the third state. +> In entry mode, the Three-States check boxes display each state sequentially, in the following order: unchecked / checked / intermediary / unchecked, etc. The intermediary state is generally not very useful in entry mode; in the code, simply force the value of the variable to 0 when it takes the value of 2 in order to pass directly from the checked state to the unchecked state. + + +## Using a standard action + +You can assign a [standard action](properties_Action.md#standard-action) to a check box to handle attributes of text areas. For example, if you assign the `fontBold` standard action, at runtime the check box will manage the "bold" attribute of the selected text in the current area. + +Only actions that can represent a true/false status ("checkable" actions) are supported by this object: + +| Supported actions | Usage condition (if any) | +| ----------------------------------- | ------------------------ | +| avoidPageBreakInsideEnabled | 4D Write Pro areas only | +| fontItalic | | +| fontBold | | +| fontLinethrough | | +| fontSubscript | 4D Write Pro areas only | +| fontSuperscript | 4D Write Pro areas only | +| fontUnderline | | +| font/showDialog | Mac only | +| htmlWYSIWIGEnabled | 4D Write Pro areas only | +| section/differentFirstPage | 4D Write Pro areas only | +| section/differentLeftRightPages | 4D Write Pro areas only | +| spell/autoCorrectionEnabled | | +| spell/autoDashSubstitutionsEnabled | Mac only | +| spell/autoLanguageEnabled | Mac only | +| spell/autoQuoteSubstitutionsEnabled | Mac only | +| spell/autoSubstitutionsEnabled | | +| spell/enabled | | +| spell/grammarEnabled | Mac only | +| spell/showDialog | Mac only | +| spell/visibleSubstitutions | | +| visibleBackground | 4D Write Pro areas only | +| visibleFooters | 4D Write Pro areas only | +| visibleHeaders | 4D Write Pro areas only | +| visibleHiddenChars | 4D Write Pro areas only | +| visibleHorizontalRuler | 4D Write Pro areas only | +| visiblePageFrames | 4D Write Pro areas only | +| visibleReferences | | +| widowAndOrphanControlEnabled | 4D Write Pro areas only | + +For detailed information on these actions, please refer to the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section. + +## Check box button styles + +Check box styles control a check box's general appearance as well as its available properties. It is possible to apply different predefined styles to check boxes. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many check box objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides check boxes in the following predefined styles: + +### Regular + +The Regular check box style is a standard system check box (*i.e.*, a rectangle with a descriptive title): + +![](assets/en/FormObjects/checkbox_regular.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"regular", + "text": "Cancel", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + "dataSourceTypeHint":"boolean" + } +``` + + + +### Flat + +The Flat check box style is a minimalist appearance. The Flat style's graphic nature is particularly useful for forms that will be printed. + +![](assets/en/FormObjects/checkbox_flat.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"flat", + "text": "Cancel", + "action": "cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Toolbar button + +The Toolbar button check box style is primarily intended for integration in a toolbar. + +The Toolbar style has a transparent background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_toolbar.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"toolbar", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel check box style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive title) style with the [Toolbar](#toolbar) style's behavior. + +The Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_bevel.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"bevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The Rounded Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example on macOS: + + ![](assets/en/FormObjects/checkbox_roundedbevel_mac.png) + +> on Windows, the Rounded Bevel style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +```code4d + "myCheckBox": { + "type": "checkbox", + "style":"roundedBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The OS X Gradient style has a light gray background with a title and is displayed as a two-tone system button on macOS. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + + ![](assets/en/FormObjects/checkbox_osxgradient_mac.png) + +> On Windows, this style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"gradientBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### OS X Textured + +The OS X Textured checkbox style is similar to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light blue background with a title in the center. + + ![](assets/en/FormObjects/checkbox_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/checkbox_osxtextured_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"texturedBevel", + "text": "Checkbox", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### Office XP + +The Office XP check box style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. Example with states unchecked / checked / highlighted: + + ![](assets/en/FormObjects/checkbox_officexp.png) + + - *macOS* - its background is always displayed. Example with states unchecked / checked: + + ![](assets/en/FormObjects/checkbox_officexp_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"office", + "text": "Checkbox", + "action": "fontBold", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Collapse / Expand + +This check box style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. + + - *Windows* - the button looks like a [+] or a [-] + + ![](assets/en/FormObjects/checkbox_collapse.png) + + - *macOS* - it looks like a triangle pointing right or down. + + ![](assets/en/FormObjects/checkbox_collapse_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"disclosure", + "method": "m_collapse", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Disclosure Button + +In macOS and Windows, a check box with the "Disclosure" style appears as a standard disclosure button, usually used to show/hide additional information. When used as a radio button, the button symbol points downwards with value 0 and upwards with value 1. + + - *Windows* + + ![](assets/en/FormObjects/checkbox_disclosure.png) + + - *macOS* + + ![](assets/en/FormObjects/checkbox_disclosure_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"roundedDisclosure", + "method": "m_disclose", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### Custom + +The Custom check box style accepts a personalized background picture and allows managing specific properties: + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) +- [Icon Offset](properties_TextAndPicture.md#icon-offset) +- [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) and [Vertical Margin](properties_TextAndPicture.md#verticalMargin) + +It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states), that can be used in conjunction with a [4-state](properties_TextAndPicture.md#number-of-states) [background picture](properties_TextAndPicture.md#backgroundPathname). + +#### JSON Example: + +``` + "myCheckbox": { + "type": "checkbox", + "style":"custom", + "text": "OK", + "icon": "/RESOURCES/smiley.jpg", + "iconFrame": 4, + "customBackgroundPicture": "/RESOURCES/paper.jpg", + "iconOffset": 5, //custom icon offset when clicked + "left": 60, + "top": 160, + "width": 100, + "height": 20, + "customBorderX": 20, + "customBorderY": 5 + } +``` + + + + +## Supported Properties + +All check boxes share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Three-States](properties_Display.md#three-states) (Flat, Regular) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/input_overview.md b/website/translated_docs/ja/FormObjects/input_overview.md new file mode 100644 index 00000000000000..8fdbe26769cda5 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/input_overview.md @@ -0,0 +1,44 @@ +--- +id: inputOverview +title: Input +--- + +## Overview + +Inputs allow you to add enterable or non-enterable expressions such as database [fields](Concepts/identifiers.md#fields) and [variables](Concepts/variables.md) to your forms. Inputs can handle character-based data (text, dates, numbers...) or pictures: + +![](assets/en/FormObjects/input.png) + +Inputs can contain [assignable or non-assignable expressions](Concepts/quick-tour.md#assignable-vs-non-assignable-expressions). + +In addition, inputs can be [enterable or non-enterable](properties_Entry.md#enterable). An enterable input accepts data. You can set data entry controls for the object. A non-enterable input can only display values but cannot be edited by the user. + +You can manage the data with object or form [methods](Concepts/methods.md). + + +### JSON Example: + +```code4d + "myText": { + "type": "input", //define the type of object + "spellcheck": true, //enable spelling verification + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20 //height of the object + } +``` + + +## Supported Properties +[Alpha Format](properties_Display.md#alpha-format) - [Auto Spellcheck](properties_Entry.md#auto-spellcheck) - [Border Line Style](properties_BackgroundAndBorder.md) - [Bold](properties_Text.md#bold) - [Boolean Format](properties_Display.md#boolean-format) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#class) - [Context Menu](properties_Entry.md#context-menu) - [Date Format](properties_Display.md#date-format) - [Default value](properties_RangeOfValues.md#default-value) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression type](properties_Object.md#expression-type) - [Fill Color](properties_BackgroundAndBorder.md#fill-color) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Multiline](properties_Entry.md#multiline) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Orientation](properties_Text.md#orientation) - [Picture Format](properties_Display.md#picture-format) - [Placeholder](properties_Entry.md#placeholder) - [Print Frame](properties_Print.md#print-frame) - [Required List](properties_RangeOfValues.md#required-list) - [Right](properties_CoordinatesAndSizing.md#right) - [Save as](properties_DataSource.md#save-as) - [Selection always visible](properties_Entry.md#selection-always-visible) - [Store with default style tags](properties_Text.md#store-with-default-style-tags) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - \[Vertical Sizing\](properties_ResizingOptions.md#vertical -sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +--- +## Input alternatives + +You can also represent field and variable expressions in your forms using alternative objects, more particularly: + +* You can display and enter data from database fields directly in columns of [selection type List boxes](listbox_overview.md). +* You can represent a list field or variable directly in a form using [Pop-up Menus/Drop-down Lists](popupMenuDropdownList_overview) and [Combo Boxes](comboBox_overview.md) objects. +* You can represent a boolean expression as a [check box](checkbox_overview.md) or as a [radio button](radio_overview.md) object. \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/listbox_overview.md b/website/translated_docs/ja/FormObjects/listbox_overview.md new file mode 100644 index 00000000000000..12fe4cf95d694f --- /dev/null +++ b/website/translated_docs/ja/FormObjects/listbox_overview.md @@ -0,0 +1,1089 @@ +--- +id: listboxOverview +title: List Box +--- + +## Overview + +List boxes are complex active objects that allow displaying and entering data as synchronized columns. They can be bound to database contents such as entity selections and record sections, or to any language contents such as collections and arrays. They include advanced features regarding data entry, column sorting, event managemet, customized appearance, moving of columns, etc. + +![](assets/en/FormObjects/listbox.png) + +A list box contains one or more columns whose contents are automatically synchronized. The number of columns is, in theory, unlimited (it depends on the machine resources). + +### Basic user features + +During execution, list boxes allow displaying and entering data as lists. To make a cell editable ([if entry is allowed for the column](#managing-entry)), simply click twice on the value that it contains: + +![](assets/en/FormObjects/listbox_edit.png) + +Users can enter and display the text on several lines within a list box cell. To add a line break, press **Ctrl+Carriage return** on Windows or **Option+Carriage return** on macOS. + +Booleans and pictures can be displayed in cells, as well as dates, times, or numbers. It is possible to sort column values by clicking on a header ([standard sort](#managing-sorts)). All columns are automatically synchronized. + +It is also possible to resize each column, and the user can modify the order of [columns](properties_ListBox.md#locked-columns-and-static-columns) and [rows](properties_Action.md#movable-rows) by moving them using the mouse, if this action is authorized. Note that list boxes can be used in [hierarchical mode](#hierarchical-list-boxes). + +The user can select one or more rows using the standard shortcuts: **Shift+click** for an adjacent selection and **Ctrl+click** (Windows) or **Command+click** (macOS) for a non-adjacent selection. + + +### List box parts + +A list box is composed of four distinct parts: + +* the list box object in its entirety, +* columns, +* column headers, and +* column footers. + +![](assets/en/FormObjects/listbox_parts.png) + +Each part has its own name as well as specific properties. For example, the number of columns or the alternating color of each row is set in the list box object properties, the width of each column is set in the column properties, and the font of the header is set in the header properties. + +It is possible to add an object method to the list box object and/or to each column of the list box. Object methods are called in the following order: + +1. Object method of each column +2. Object method of the list box + +The column object method gets events that occur in its [header](#list-box-headers) and [footer](#list-box-footers). + + + +### List box types + +There are several types of list boxes, with their own specific behaviors and properties. The list box type depends on its [Data Source property](properties_Object.md#data-source): + +- **Arrays**: each column is bound to a 4D array. Array-based list boxes can be displayed as [hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes). +- **Selection** (**Current selection** or **Named selection**): each column is bound to an expression (e.g. a field) which is evaluated for every record of the selection. +- **Collection or Entity selection**: each column is bound to an expression which is evaluated for every element of the collection or every entity of the entity selection. +> It is not possible to combine different list box types in the same list box object. The data source is set when the list box is created. It is then no longer possible to modify it by programming. + + +### Managing list boxes + +You can completely configure a list box object through its properties, and you can also manage it dynamically through programming. + +The 4D Language includes a dedicated "List Box" theme for list box commands, but commands from various other themes, such as "Object properties" commands or `EDIT ITEM`, `Displayed line number` commands can also be used. Refer to the [List Box Commands Summary](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box-Commands-Summary.300-4311159.en.html) page of the *4D Language reference* for more information. + + + +## List box objects + +### Array list boxes + +In an array list box, each column must be associated with a one-dimensional 4D array; all array types can be used, with the exception of pointer arrays. The number of rows is based on the number of array elements. + +By default, 4D assigns the name “ColumnX” to each column variable, and thus to each associated array. You can change it, as well as other column properties, in the [column properties](listbox_overview.md#column-specific-properties). The display format for each column can also be defined using the `OBJECT SET FORMAT` command +> Array type list boxes can be displayed in [hierarchical mode](listbox_overview.md#hierarchical-list-boxes), with specific mechanisms. + +With array type list box, the values entered or displayed are managed using the 4D language. You can also associate a [choice list](properties_DataSource.md#choice-list) with a column in order to control data entry. The values of columns are managed using high-level List box commands (such as `LISTBOX INSERT ROWS` or `LISTBOX DELETE ROWS`) as well as array manipulation commands. For example, to initialize the contents of a column, you can use the following instruction: + +```code4d +ARRAY TEXT(ColumnName;size) +``` + +You can also use a list: + +```code4d +LIST TO ARRAY("ListName";ColumnName) +``` +> **Warning**: When a list box contains several columns of different sizes, only the number of items of the smallest array (column) will be displayed. You should make sure that each array has the same number of elements as the others. Also, if a list box column is empty (this occurs when the associated array was not correctly declared or sized using the language), the list box displays nothing. + + + + +### Selection list boxes + +In this type of list box, each column can be associated with a field (for example `[Employees]LastName)` or an expression. The expression can be based on one or more fields (for example, `[Employees]FirstName+" "[Employees]LastName`) or it may simply be a formula (for example `String(Milliseconds)`). The expression can also be a project method, a variable or an array item. You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +The contents of each row is then evaluated according to a selection of records: the **current selection** of a table or a **named selection**. + +In the case of a list box based on the current selection of a table, any modification done from the database side is automatically reflected in the list box, and vice versa. The current selection is therefore always the same in both places. + + +### Collection or Entity selection list boxes + +In this type of list box, each column must be associated to an expression. The contents of each row is then evaluated per collection element or per entity of the entity selection. + +Each element of the collection or each entity is available as an object that can be accessed through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. A column expression can be a project method, a variable, or any formula, accessing each entity or collection element object through `This`, for example `This.` (or `This.value` in case of a collection of scalar values). You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +When the data source is an entity selection, any modifications made on the list box side are automatically saved in the database. On the other hand, modifications made on the database side are visible in the list box after touched entities have been reloaded. + +When the data source is a collection, any modifications made in the list box values are reflected in the collection. On the other hand, if modifications are done on the collection using for example the various methods of the *Collections* theme, you will need to explicitely notify 4D by reassigning the collection variable to itself, so that the list box contents is refreshed. For example: + +```code4d +myCol:=myCol.push("new value") //display new value in list box +``` + + + +### Supported Properties + +Supported properties depend on the list box type. + + +| Property | Array list box | Selection list box | Collection or Entity Selection list box | +| -------------------------------------------------------------------------------------------- | -------------- | ------------------ | --------------------------------------- | +| [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) | X | X | X | +| [Background Color](properties_BackgroundAndBorder.md#background-color) | X | X | X | +| [Bold](properties_Text.md#bold) | X | X | X | +| [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) | | X | X | +| [Border Line Style](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) | X | X | X | +| [Bottom](properties_CoordinatesAndSizing.md#bottom) | X | X | X | +| [Class](properties_Object.md#class) | X | X | X | +| [Collection or entity selection](properties_Object.md#collection-or-entity-selection) | | X | X | +| [Column Auto-Resizing](properties_ResizingOptions.md#column-auto-resizing) | X | X | X | +| [Current item](properties_DataSource.md#current-item) | | | X | +| [Current item position](properties_DataSource.md#current-item-position) | | | X | +| [Data Source](properties_Object.md#data-source) | X | X | X | +| [Detail Form Name](properties_ListBox.md#detail-form-name) | | X | | +| [Display Headers](properties_Headers.md#display-headers) | X | X | X | +| [Display Footers](properties_Footers.md#display-footers) | X | X | X | +| [Double-click on row](properties_ListBox.md#double-click-on-row) | | X | | +| [Draggable](properties_Action.md#droppable) | X | X | X | +| [Droppable](properties_Action.md#droppable) | X | X | X | +| [Focusable](properties_Entry.md#focusable) | X | X | X | +| [Font](properties_Text.md#font) | X | X | X | +| [Font Color](properties_Text.md#font_color) | X | X | X | +| [Font Color Expression](properties_Text.md#font-color-expression) | | X | X | +| [Font Size](properties_Text.md#font-size) | X | X | X | +| [Height (list box)](properties_CoordinatesAndSizing.md#height) | X | X | X | +| [Height (headers)](properties_Headers.md#height) | X | X | X | +| [Height (footers)](properties_Footers.md#height) | X | X | X | +| [Hide extra blank rows](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | X | X | X | +| [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) | X | X | X | +| [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) | X | X | X | +| [Hierarchical List Box](properties_Object.md#hierarchical-list-box) | X | | | +| [Highlight Set](properties_ListBox.md#highlight-set) | | X | | +| [Horizontal Alignment](properties_Text.md#horizontal-alignment) | X | X | X | +| [Horizontal Line Color](properties_Gridlines.md#horizontal-line-color) | X | X | X | +| [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) | X | X | X | +| [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) | X | X | X | +| [Italic](properties_Text.md#italic) | X | X | X | +| [Left](properties_CoordinatesAndSizing.md#left) | X | X | X | +| [Master Table](properties_DataSource.md#table) | | X | | +| [Meta info expression](properties_Text.md#meta-info-expression) | | | X | +| [Method](properties_Action.md#method) | X | X | X | +| [Movable Rows](properties_Action.md#movable-rows) | X | | | +| [Named Selection](properties_DataSource.md#selectionName) | | X | | +| [Number of Columns](properties_ListBox.md#number-of-columns) | X | X | X | +| [Number of Locked Columns](properties_ListBox.md#number-of-locked-columns) | X | X | X | +| [Number of Static Columns](properties_ListBox.md#number-of-static-columns) | X | X | X | +| [Object Name](properties_Object.md#object-name) | X | X | X | +| [Right](properties_CoordinatesAndSizing.md#right) | X | X | X | +| [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) | X | | | +| [Row Control Array](properties_ListBox.md#row-control-array) | X | | | +| [Row Font Color Array](properties_Text.md#row-font-color-array) | X | | | +| [Row Height](properties_CoordinatesAndSizing.md#row-height) | X | | | +| [Row Height Array](properties_CoordinatesAndSizing.md#row-height-array) | X | | | +| [Row Style Array](properties_Text.md#row-style-array) | X | | | +| [Selected Items](properties_DataSource.md#selected-items) | | | X | +| [Selection Mode](properties_ListBox.md#selection-mode) | X | X | X | +| [Single-Click Edit](properties_Entry.md#single-click-edit) | X | X | X | +| [Sortable](properties_Action.md#sortable) | X | X | X | +| [Standard action](properties_Action.md#standard-action) | X | | | +| [Style Expression](properties_Text.md#style-expression) | | X | X | +| [Top](properties_CoordinatesAndSizing.md#top) | X | X | X | +| [Transparent](properties_BackgroundAndBorder.md#transparent) | X | X | X | +| [Type](properties_Object.md#type) | X | X | X | +| [Underline](properties_Text.md#underline) | X | X | X | +| [Variable or Expression](properties_Object.md#variable-or-expression) | X | X | | +| [Vertical Alignment](properties_Text.md#vertical-alignment) | X | X | X | +| [Vertical Line Color](properties_Gridlines.md#vertical-line-color) | X | X | X | +| [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) | X | X | X | +| [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) | X | X | X | +| [Visibility](properties_Display.md#visibility) | X | X | X | +| [Width](properties_CoordinatesAndSizing.md#width) | X | X | X | + + +> List box columns, headers and footers support specific properties. + + + + + +## List box columns + +A list box is made of one or more column object(s) which have specific properties. You can select a list box column in the Form editor by clicking on it when the list box object is selected: + +![](assets/en/FormObjects/listbox_column.png) + +You can set standard properties (text, background color, etc.) for each column of the list box; these properties take priority over those of the list box object properties. +> You can define the [Expression type](properties_Object.md#expression-type) for array list box columns (String, Text, Number, Date, Time, Picture, Boolean, or Object). The use of object arrays requires a 4D View Pro licence (see [Using object arrays in columns (4D View Pro)](#using-object-arrays-in-columns-4d-view-pro)). + + +### Column Specific Properties + +[Alpha Format](properties_Display.md#alpha-format) - [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) - [Automatic Row Height](properties_CoordinatesAndSizing.md#automatic-row-height) - [Background Color](properties_Text.md#background-color) - [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) - [Bold](properties_Text.md#bold) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#class) - [Data Type (selection and collection list box column)](properties_DataSource.md#data-type) - [Date Format](properties_Display.md#date-format) - [Default Values](properties_DataSource.md#default-values) - [Display Type](properties_Display.md#display-type) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression](properties_DataSource.md#expression) - [Expression Type (array list box column)](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Invisible](properties_Display.md#visibility) - [Maximum Width](properties_CoordinatesAndSizing.md#maximum-width) - [Method](properties_Action.md#method) - [Minimum Width](properties_CoordinatesAndSizing.md#minimum-width) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Resizable](properties_ResizingOptions.md#resizable) - [Required List](properties_RangeOfValues.md#required-list) - [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) - [Row Font Color Array](properties_Text.md#row-font-color-array) - [Row Style Array](properties_Text.md#row-style-array) - [Save as](properties_DataSource.md#save-as) - [Style Expression](properties_Text.md#style-expression) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## List box headers + +> To be able to access the header properties of a list box, you must enable the [Display Headers](properties_Headers.md#display-headers) option of the list box. + +When headers are displayed, you can select a header in the Form editor by clicking it when the list box object is selected: + +![](assets/en/FormObjects/listbox_header.png) + +You can set standard text properties for each column header of the list box; in this case, these properties have priority over those of the column or of the list box itself. + +In addition, you have access to the specific properties for headers. Specifically, an icon can be displayed in the header next to or in place of the column title, for example when performing [customized sorts](#managing-sorts). + +![](assets/en/FormObjects/lbHeaderIcon.png) + +At runtime, events that occur in a header are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a header, it is applied to all headers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"header3";False)` will hide all headers in the list box object to which *header3* belongs and not simply this header. + +### Header Specific Properties + +[Bold](properties_Text.md#bold) - [Class](properties_Object.md#class) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Icon Location](properties_TextAndPicture.md#icon-location) - [Italic](properties_Text.md#italic) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_TextAndPicture.md#picture-pathname) - [Title](properties_Object.md#title) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) + + + + + +## List box footers +> To be able to access footer properties for a list box, you must enable the [Display Footers](properties_Footers.md#display-footers) option. + +List boxes can contain non-enterable "footers" displaying additional information. For data shown in table form, footers are usually used to display calculations such as totals or averages. + +When footers are displayed, you can click to select one when the list box object is selected in the Form editor: + +![](assets/en/FormObjects/listbox_footers.png) + +For each List box column footer, you can set standard text properties: in this case, these properties take priority over those of the column or of the list box. You can also access specific properties for footers. In particular, you can insert a [custom or automatic calculation](properties_Object.md#variable-calculation). + +At runtime, events that occur in a footer are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a footer, it is applied to all footers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"footer3";False)` will hide all footers in the list box object to which *footer3* belongs and not simply this footer. + +### Footer Specific Properties + + +[Alpha Format](properties_Display.md#alpha-format) - [Background Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Bold](properties_Text.md#bold) - [Class](properties_Object.md#class) - [Date Format](properties_Display.md#date-format) - [Expression Type](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable Calculation](properties_Object.md#variable-calculation) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## Managing entry + +For a list box cell to be enterable, both of the following conditions must be met: + +- The cell’s column must have been set as [Enterable](properties_Entry.md#enterable) (otherwise, the cells of the column can never be enterable). +- In the `On Before Data Entry` event, $0 does not return -1. When the cursor arrives in the cell, the `On Before Data Entry` event is generated in the column method. If, in the context of this event, $0 is set to -1, the cell is considered as not enterable. If the event was generated after **Tab** or **Shift+Tab** was pressed, the focus goes to either the next cell or the previous one, respectively. If $0 is not -1 (by default $0 is 0), the cell is enterable and switches to editing mode. + +Let’s consider the example of a list box containing two arrays, one date and one text. The date array is not enterable but the text array is enterable if the date has not already past. + +![](assets/en/FormObjects/listbox_entry.png) + +Here is the method of the *arrText* column: + +```code4d + Case of + :(Form event=On Before Data Entry) // a cell gets the focus + LISTBOX GET CELL POSITION(*;"lb";$col;$row) + // identification of cell + If(arrDate{$row} Data entry in collection/entity selection type list boxes has a limitation when the expression evaluates to null. In this case, it is not possible to edit or remove the null value in the cell. + + + +## Managing selections + +Selections are managed differently depending on whether the list box is based on an array, on a selection of records, or on a collection/entity selection: + +- **Selection list box**: Selections are managed by a set, which you can modify if necessary, called `$ListboxSetX` by default (where X starts at 0 and is incremented based on the number of list boxes in the form). This set is [defined in the properties](properties_ListBox.md#highlight-set) of the list box. It is automatically maintained by 4D: If the user selects one or more rows in the list box, the set is immediately updated. On the other hand, it is also possible to use the commands of the "Sets" theme in order to modify the selection of the list box via programming. + +- **Collection/Entity selection list box**: Selections are managed through dedicated list box properties: + - [Current item](properties_DataSource.md#current-item) is an object that will receive the selected element/entity + - [Selected Items](properties_DataSource.md#selected-items) is a collection of selected items + - [Current item position](properties_DataSource.md#current-item-position) returns the position of the selected element or entity. + +- **Array list box**: The `LISTBOX SELECT ROW` command can be used to select one or more rows of the list box by programming. The [variable linked to the List box object](properties_Object.md#variable-or-expression) is used to get, set or store selections of object rows. This variable corresponds to a Boolean array that is automatically created and maintained by 4D. The size of this array is determined by the size of the list box: it contains the same number of elements as the smallest array linked to the columns. Each element of this array contains `True` if the corresponding line is selected and `False` otherwise. 4D updates the contents of this array depending on user actions. Inversely, you can change the value of array elements to change the selection in the list box. On the other hand, you can neither insert nor delete rows in this array; you cannot retype rows either. The `Count in array` command can be used to find out the number of selected lines. For example, this method allows inverting the selection of the first row of the (array type) list box: +```code4d + ARRAY BOOLEAN(tBListBox;10) + //tBListBox is the name of the list box variable in the form + If(tBListBox{1}=True) + tBListBox{1}:=False + Else + tBListBox{1}:=True + End if +``` + +> The `OBJECT SET SCROLL POSITION` command scrolls the list box rows so that the first selected row or a specified row is displayed. + + +### Customizing appearance of selected rows + +When the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is selected, you need to make list box selections visible using available interface options. Since selections are still fully managed by 4D, this means: + +- For array type list boxes, you must parse the Boolean array variable associated with the list box to determine which rows are selected or not. +- For selection type list boxes, you have to check whether the current record (row) belongs to the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. + +You can then define specific background colors, font colors and/or font styles by programming to customize the appearance of selected rows. This can be done using arrays or expressions, depending on the type of list box being displayed (see the following sections). + +> You can use the `lk inherited` constant to mimic the current appearance of the list box (e.g., font color, background color, font style, etc.). + +#### Selection list boxes + +To determine which rows are selected, you have to check whether they are included in the set indicated in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. You can then define the appearance of selected rows using one or more of the relevant [color or style expression property](#using-arrays-and-expressions). + +Keep in mind that expressions are automatically re-evaluated each time the: +- list box selection changes. +- list box gets or loses the focus. +- form window containing the list box becomes, or ceases to be, the frontmost window. + + +#### Array list boxes +You have to parse the Boolean array [Variable or Expression](properties_Object.md#variable-or-expression) associated with the list box to determine whether rows are selected or not selected. + +You can then define the appearance of selected rows using one or more of the relevant [color or style array property](#using-arrays-and-expressions). + +Note that list box arrays used for defining the appearance of selected rows must be recalculated during the `On Selection Change` form event; however, you can also modify these arrays based on the following additional form events: +- `On Getting Focus` (list box property) +- `On Losing Focus` (list box property) +- `On Activate` (form property) +- `On Deactivate` (form property) ...depending on whether and how you want to visually represent changes of focus in selections. + +##### Example + +You have chosen to hide the system highlight and want to display list box selections with a green background color, as shown here: + +![](assets/en/FormObjects/listbox_styles7.png) + +For an array type list box, you need to update the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) by programming. In the JSON form, you have defined the following Row Background Color Array for the list box: + +``` + "rowFillSource": "_ListboxBackground", +``` + +In the object method of the list box, you can write: + +```code4d + Case of + :(Form event=On Selection Change) + $n:=Size of array(LB_Arrays) + ARRAY LONGINT(_ListboxBackground;$n) // row background colors + For($i;1;$n) + If(LB_Arrays{$i}=True) // selected + _ListboxBackground{$i}:=0x0080C080 // green background + Else // not selected + _ListboxBackground{$i}:=lk inherited + End if + End for + End case +``` + +For a selection type list box, to produce the same effect you can use a method to update the [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) based on the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property. + +For example, in the JSON form, you have defined the following Highlight Set and Background Color Expression for the list box: + +``` + "highlightSet": "$SampleSet", + "rowFillSource": "UI_SetColor", +``` +You can write in the *UI_SetColor* method: + +```code4d + If(Is in set("$SampleSet")) + $color:=0x0080C080 // green background + Else + $color:=lk inherited + End if + + $0:=$color +``` + +> In hierarchical list boxes, break rows cannot be highlighted when the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is checked. Since it is not possible to have distinct colors for headers of the same level, there is no way to highlight a specific break row by programming. + + +## Managing sorts + +By default, a list box automatically handles standard column sorts when the header is clicked. A standard sort is an alphanumeric sort of column values, alternately ascending/descending with each successive click. All columns are always synchronized automatically. + +You can prevent standard user sorts by deselecting the [Sortable](properties_Action.md#sortable) property of the list box. + +The developer can set up custom sorts using the `LISTBOX SORT COLUMNS` command and/or combining the `On Header Click` and `On After Sort` form events (see the `FORM Event` command) and relevant 4D commands. + +> The [Sortable](properties_Action.md#sortable) property only affects the standard user sorts; the `LISTBOX SORT COLUMNS` command does not take this property into account. + +The value of the [column header variable](properties_Object.md#variable-or-expression) allows you to manage additional information: the current sort of the column (read) and the display of the sort arrow. + +- If the variable is set to 0, the column is not sorted and the sort arrow is not displayed; ![](assets/en/FormObjects/sorticon0.png) + +- If the variable is set to 1, the column is sorted in ascending order and the sort arrow is displayed; ![](assets/en/FormObjects/sorticon1.png) + +- If the variable is set to 2, the column is sorted in descending order and the sort arrow is displayed. ![](assets/en/FormObjects/sorticon2.png) + +You can set the value of the variable (for example, Header2:=2) in order to “force” the sort arrow display. The column sort itself is not modified in this case; it is up to the developer to handle it. + +> The `OBJECT SET FORMAT` command offers specific support for icons in list box headers, which can be useful when you want to work with a customized sort icon. + + +## Managing row colors, styles, and display + +There are several different ways to set background colors, font colors and font styles for list boxes: + +- at the level of the [list box object properties](#list-box-objects), +- at the level of the [column properties](#list-box-columns), +- using [arrays or expressions properties](#using-arrays-and-expressions) for the list box and/or for each column, +- at the level of the text of each cell (if [multi-style text](properties_Text.md#multi-style)). + + +### Priority & inheritance + +Priority and inheritance principles are observed when the same property is set at more than one level. + +| Priority level | Setting location | +| -------------- | -------------------------------------------------------------------- | +| high priority | Cell (if multi-style text) | +| | Column arrays/methods | +| | List box arrays/methods | +| | Column properties | +| | List box properties | +| low priority | Meta Info expression (for collection or entity selection list boxes) | + +For example, if you set a font style in the list box properties and another using a style array for the column, the latter one will be taken into account. + +For each attribute (style, color and background color), an **inheritance** is implemented when the default value is used: + +- for cell attributes: attribute values of rows +- for row attributes: attribute values of columns +- for column attributes: attribute values of the list box + +This way, if you want an object to inherit the attribute value from a higher level, you can use pass the `lk inherited` constant (default value) to the definition command or directly in the element of the corresponding style/color array. For example, given an array list box containing a standard font style with alternating colors: ![](assets/en/FormObjects/listbox_styles3.png) + +You perform the following modifications: + +- change the background of row 2 to red using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property of the list box object, +- change the style of row 4 to italics using the [Row Style Array](properties_Text.md#row-style-array) property of the list box object, +- two elements in column 5 are changed to bold using the [Row Style Array](properties_Text.md#row-style-array) property of the column 5 object, +- the 2 elements for column 1 and 2 are changed to dark blue using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property for the column 1 and 2 objects: + +![](assets/en/FormObjects/listbox_styles3.png) + +To restore the original appearance of the list box, you can: + +- pass the `lk inherited` constant in element 2 of the background color arrays for columns 1 and 2: then they inherit the red background color of the row. +- pass the `lk inherited` constant in elements 3 and 4 of the style array for column 5: then they inherit the standard style, except for element 4, which changes to italics as specified in the style array of the list box. +- pass the `lk inherited` constant in element 4 of the style array for the list box in order to remove the italics style. +- pass the `lk inherited` constant in element 2 of the background color array for the list box in order to restore the original alternating color of the list box. + + +### Using arrays and expressions + +Depending of the list box type, you can use different properties to customize row colors, styles and display: + +| Property | Array list box | Selection list box | Collection or Entity Selection list box | +| ---------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Background color | [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) | [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) | [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression) | +| Font color | [Row Font Color Array](properties_Text.md#row-font-color-array) | [Font Color Expression](properties_Text.md#font-color-expression) | [Font Color Expression](properties_Text.md#font-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression) | + Font style| + +[Row Style Array](properties_Text.md#row-style-array)|[Style Expression](properties_Text.md#style-expression)|[Style Expression](properties_Text.md#style-expression) or [Meta info expression](properties_Text.md#meta-info-expression)| Display|[Row Control Array](properties_ListBox.md#row-control-array)|-|-| + + + + +## Printing list boxes + +Two printing modes are available: **preview mode** - which can be used to print a list box like a form object, and **advanced mode** - which lets you control the printing of the list box object itself within the form. Note that the "Printing" appearance is available for list box objects in the Form editor. + +### Preview mode + +Printing a list box in preview mode consists of directly printing the list box and the form that contains it using the standard print commands or the **Print** menu command. The list box is printed as it is in the form. This mode does not allow precise control of the printing of the object; in particular, it does not allow you to print all the rows of a list box that contains more rows than it can display. + +### Advanced mode + +In this mode, the printing of list boxes is carried out by programming, via the `Print object` command (project forms and table forms are supported). The `LISTBOX GET PRINT INFORMATION` command is used to control the printing of the object. + +In this mode: + +- The height of the list box object is automatically reduced when the number of rows to be printed is less than the original height of the object (there are no "blank" rows printed). On the other hand, the height does not automatically increase according to the contents of the object. The size of the object actually printed can be obtained via the `LISTBOX GET PRINT INFORMATION` command. +- The list box object is printed "as is", in other words, taking its current display parameters into account: visibility of headers and gridlines, hidden and displayed rows, etc. These parameters also include the first row to be printed: if you call the `OBJECT SET SCROLL POSITION` command before launching the printing, the first row printed in the list box will be the one designated by the command. +- An automatic mechanism facilitates the printing of list boxes that contain more rows than it is possible to display: successive calls to `Print object` can be used to print a new set of rows each time. The `LISTBOX GET PRINT INFORMATION` command can be used to check the status of the printing while it is underway. + + + + + +## Hierarchical list boxes + +A hierarchical list box is a list box in which the contents of the first column appears in hierarchical form. This type of representation is adapted to the presentation of information that includes repeated values and/or values that are hierarchically dependent (country/region/city and so on). + +> Only [array type list boxes](#array-list-boxes) can be hierarchical. + +Hierarchical list boxes are a particular way of representing data but they do not modify the data structure (arrays). Hierarchical list boxes are managed exactly the same way as regular list boxes. + + +### Defining the hierarchy + +To specify a hierarchical list box, there are several possibilities: + +* Manually configure hierarchical elements using the Property list of the form editor (or edit the JSON form). +* Visually generate the hierarchy using the list box management pop-up menu, in the form editor. +* Use the [LISTBOX SET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-SET-HIERARCHY.301-4127969.en.html) and [LISTBOX GET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-GET-HIERARCHY.301-4127970.en.html) commands, described in the *4D Language Reference* manual. + + +#### Hierarchical List Box property + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +The first variable always corresponds to the name of the variable for the first column of the list box (the two values are automatically bound). This first variable is always visible and enterable. For example: country. The second variable is also always visible and enterable; it specifies the second hierarchical level. For example: regions. Beginning with the third field, each variable depends on the one preceding it. For example: counties, cities, and so on. A maximum of ten hierarchical levels can be specified. If you remove a value, the whole hierarchy moves up a level. + +The last variable is never hierarchical even if several identical values exists at this level. For example, referring to the configuration illustrated above, imagine that arr1 contains the values A A A B B B, arr2 has the values 1 1 1 2 2 2 and arr3 the values X X Y Y Y Z. In this case, A, B, 1 and 2 could appear in collapsed form, but not X and Y: + +![](assets/en/FormObjects/property_hierarchicalListBox.png) + +This principle is not applied when only one variable is specified in the hierarchy: in this case, identical values may be grouped. +> If you specify a hierarchy based on the first columns of an existing list box, you must then remove or hide these columns (except for the first), otherwise they will appear in duplicate in the list box. If you specify the hierarchy via the pop-up menu of the editor (see below), the unnecessary columns are automatically removed from the list box. + + +#### Create hierarchy using the contextual menu + +When you select at least one column in addition to the first one in a list box object (of the array type) in the form editor, the **Create hierarchy** command is available in the context menu: + +![](assets/en/FormObjects/listbox_hierarchy1.png) + +This command is a shortcut to define a hierarchy. When it is selected, the following actions are carried out: + +* The **Hierarchical list box** option is checked for the object in the Property List. +* The variables of the columns are used to specify the hierarchy. They replace any variables already specified. +* The columns selected no longer appear in the list box (except for the title of the first one). + +Example: given a list box whose first columns contain Country, Region, City and Population. When Country, Region and City are selected, if you choose **Create hierarchy** in the context menu, a three-level hierarchy is created in the first column, columns 2 and 3 are removed and the Population column becomes the second: + +![](assets/en/FormObjects/listbox_hierarchy2.png) + +##### Cancel hierarchy +When the first column is selected and already specified as hierarchical, you can use the **Cancel hierarchy** command. When you choose this command, the following actions are carried out: + +* The **Hierarchical list box** option is deselected for the object, +* The hierarchical levels 2 to X are removed and transformed into columns added to the list box. + + +### How it works + +When a form containing a hierarchical list box is opened for the first time, by default all the rows are expanded. + +A break row and a hierarchical "node" are automatically added in the list box when values are repeated in the arrays. For example, imagine a list box containing four arrays specifying cities, each city being characterized by its country, its region, its name and its number of inhabitants: + +![](assets/en/FormObjects/hierarch1.png) + +If this list box is displayed in hierarchical form (the first three arrays being included in the hierarchy), you obtain: + +![](assets/en/FormObjects/hierarch2.png) + +The arrays are not sorted before the hierarchy is constructed. If, for example, an array contains the data AAABBAACC, the hierarchy obtained is: + + > A B A C + +To expand or collapse a hierarchical "node," you can just click on it. If you **Alt+click** (Windows) or **Option+click** (macOS) on the node, all its sub-elements will be expanded or collapsed as well. These operations can also be carried out by programming using the `LISTBOX EXPAND` and `LISTBOX COLLAPSE` commands. + +When values of the date or time type are included in a hierarchical list box, they are displayed in the short system format. + +#### Sorts in hierarchical list boxes + +In a list box in hierarchical mode, a standard sort (carried out by clicking on the header of a list box column) is always constructed as follows: + +- In the first place, all the levels of the hierarchical column (first column) are automatically sorted by ascending order. +- The sort is then carried out by ascending or descending order (according to the user action) on the values of the column that was clicked. +- All the columns are synchronized. +- During subsequent sorts carried out on non-hierarchical columns of the list box, only the last level of the first column is sorted. It is possible to modify the sorting of this column by clicking on its header. + +Given for example the following list box, in which no specific sort is specified: + +![](assets/en/FormObjects/hierarch3.png) + +If you click on the "Population" header to sort the populations by ascending (or alternately descending) order, the data appear as follows: + +![](assets/en/FormObjects/hierarch4.png) + +As for all list boxes, you can [disable the standard sort mechanism](properties_Action.md#sortable) and manage sorts using programming. + + +#### Selections and positions in hierarchical list boxes + +A hierarchical list box displays a variable number of rows on screen according to the expanded/collapsed state of the hierarchical nodes. This does not however mean that the number of rows of the arrays vary. Only the display is modified, not the data. It is important to understand this principle because programmed management of hierarchical list boxes is always based on the data of the arrays, not on the displayed data. In particular, the break rows added automatically are not taken into account in the display options arrays (see below). + +Let’s look at the following arrays for example: + +![](assets/en/FormObjects/hierarch5.png) + +If these arrays are represented hierarchically, the row "Quimper" will not be displayed on the second row, but on the fourth, because of the two break rows that are added: + +![](assets/en/FormObjects/hierarch6.png) + +Regardless of how the data are displayed in the list box (hierarchically or not), if you want to change the row containing "Quimper" to bold, you must use the statement Style{2} = bold. Only the position of the row in the arrays is taken into account. + +This principle is implemented for internal arrays that can be used to manage: + +- colors +- background colors +- styles +- hidden rows +- selections + +For example, if you want to select the row containing Rennes, you must pass: + +```code4d + ->MyListbox{3}:=True +``` + +Non-hierarchical representation: ![](assets/en/FormObjects/hierarch7.png) Hierarchical representation: ![](assets/en/FormObjects/hierarch8.png) + +> If one or more rows are hidden because their parents are collapsed, they are no longer selected. Only the rows that are visible (either directly or by scrolling) can be selected. In other words, rows cannot be both hidden and selected. + +As with selections, the `LISTBOX GET CELL POSITION` command will return the same values for a hierarchical list box and a non-hierarchical list box. This means that in both of the examples below, `LISTBOX GET CELL POSITION` will return the same position: (3;2). + +*Non-hierarchical representation:* ![](assets/en/FormObjects/hierarch9.png) + +*Hierarchical representation:* ![](assets/en/FormObjects/hierarch10.png) + +When all the rows of a sub-hierarchy are hidden, the break line is automatically hidden. In the above example, if rows 1 to 3 are hidden, the "Brittany" break row will not appear. + +#### Break rows + +If the user selects a break row, `LISTBOX GET CELL POSITION` returns the first occurrence of the row in the corresponding array. In the following case: + +![](assets/en/FormObjects/hierarch11.png) + + +... `LISTBOX GET CELL POSITION` returns (2;4). To select a break row by programming, you will need to use the `LISTBOX SELECT BREAK` command. + +Break rows are not taken into account in the internal arrays used to manage the graphic appearance of list boxes (styles and colors). It is however possible to modify these characteristics for break rows via the graphic management commands for objects. You simply need to execute the appropriate commands on the arrays that constitute the hierarchy. + +Given for example the following list box (the names of the associated arrays are specified in parentheses): + +*Non-hierarchical representation:* ![](assets/en/FormObjects/hierarch12.png) + +*Hierarchical representation:* ![](assets/en/FormObjects/hierarch13.png) + +In hierarchical mode, break levels are not taken into account by the style modification arrays named `tStyle` and `tColors`. To modify the color or style of break levels, you must execute the following statements: + +```code4d + OBJECT SET RGB COLORS(T1;0x0000FF;0xB0B0B0) + OBJECT SET FONT STYLE(T2;Bold) +``` +> In this context, only the syntax using the array variable can function with the object property commands because the arrays do not have any associated object. + +Result: + +![](assets/en/FormObjects/hierarch14.png) + + +#### Optimized management of expand/collapse + +You can optimize hierarchical list boxes display and management using the `On Expand` and `On Collapse` form events. + +A hierarchical list box is built from the contents of its arrays so it can only be displayed when all these arrays are loaded into memory. This makes it difficult to build large hierarchical list boxes based on arrays generated from data (through the `SELECTION TO ARRAY` command), not only because of the display speed but also the memory used. + +Using the `On Expand` and `On Collapse` form events can overcome these constraints: for example, you can display only part of the hierarchy and load/unload the arrays on the fly, based on user actions. In the context of these events, the `LISTBOX GET CELL POSITION` command returns the cell where the user clicked in order to expand or collapse a row. + +In this case, you must fill and empty arrays through the code. The principles to be implemented are: +- When the list box is displayed, only the first array must be filled. However, you must create a second array with empty values so that the list box displays the expand/collapse buttons: ![](assets/en/FormObjects/hierarch15.png) + +- When a user clicks on an expand button, you can process the `On Expand` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned and lets you build the appropriate hierarchy: you fill the first array with the repeated values and the second with the values sent from the `SELECTION TO ARRAY` command and you insert as many rows as needed in the list box using the `LISTBOX INSERT ROWS` command. ![](assets/en/FormObjects/hierarch16.png) + +- When a user clicks on a collapse button, you can process the `On Collapse` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned: you remove as many rows as needed from the list box using the `LISTBOX DELETE ROWS` command. + + + +## Object arrays in columns (4D View Pro) + +List box columns can handle object arrays. Since object arrays can contain different kinds of data, this powerful new feature allows you to mix different input types in the rows of a single column, and display various widgets as well. For example, you could insert a text input in the first row, a check box in the second, and a drop-down list in the third. Object arrays also provide access to new kinds of widgets, such as buttons or color pickers. + +The following list box was designed using an object array: + +![](assets/en/FormObjects/listbox_column_objectArray.png) +> **Note about Licensing**: The ability to use object arrays in list boxes is a first step to the upcoming "4D View Pro" tool that will progressively replace the 4D View plug-in. Using this feature requires you to have a valid 4D View license. For more information, please refer to the 4D Web site. + +### Configuring an object array column + +To assign an object array to a list box column, you just need to set the object array name in either the Property list ("Variable Name" field), or using the [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-INSERT-COLUMN.301-4311153.en.html) command, like with any array-based column. In the Property list, you can now select Object as a "Expression Type" for the column: + +![](assets/en/FormObjects/listbox_column_objectArray_config.png) + +Standard properties related to coordinates, size, and style are available for object columns. You can define them using the Property list, or by programming the style, font color, background color and visibility for each row of an object-type list box column. These types of columns can also be hidden. + +However, the Data Source theme is not available for object-type list box columns. In fact, the contents of each column cell are based on attributes found in the corresponding element of the object array. Each array element can define: + +the value type (mandatory): text, color, event, etc. the value itself (optional): used for input/output. the cell content display (optional): button, list, etc. additional settings (optional): depend on the value type To define these properties, you need to set the appropriate attributes in the object (available attributes are listed below). For example, you can write "Hello World!" in an object column using this simple code: + +```code4d +ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob) //first element + OB SET($ob;"valueType";"text") //defines the value type (mandatory) + OB SET($ob;"value";"Hello World!") //defines the value + APPEND TO ARRAY(obColumn;$ob) +``` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld.png) +> Display format and entry filters cannot be set for an object column. They automatically depend on the value type. + +#### valueType and data display + +When a list box column is associated with an object array, the way a cell is displayed, entered, or edited, is based on the valueType attribute of the array element. Supported valueType values are: + +* "text": for a text value +* "real": for a numeric value that can include separators like a \, <.>, or <,> +* "integer": for an integer value +* "boolean": for a True/False value +* "color": to define a background color +* "event": to display a button with a label. + +4D uses default widgets with regards to the "valueType" value (i.e., a "text" is displayed as a text input widget, a "boolean" as a check box), but alternate displays are also available through options (*e.g.*, a real can also be represented as a drop-down menu). The following table shows the default display as well as alternatives for each type of value: + +| valueType | Default widget | Alternative widget(s) | +| --------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| text | text input | drop-down menu (required list) or combo box (choice list) | +| real | controlled text input (numbers and separators) | drop-down menu (required list) or combo box (choice list) | +| integer | controlled text input (numbers only) | drop-down menu (required list) or combo box (choice list) or three-states check box | +| boolean | check box | drop-down menu (required list) | +| color | background color | text | +| event | button with label | | +| | | All widgets can have an additional unit toggle button or ellipsis button attached to the cell. | + +You set the cell display and options using specific attributes in each object (see below). + +#### Display formats and entry filters + +You cannot set display formats or entry filters for columns of object-type list boxes. They are automatically defined according to the value type. These are listed in the following table: + +| Value type | Default format | Entry control | +| ---------- | ---------------------------------------------------------- | ----------------------- | +| text | same as defined in object | any (no control) | +| real | same as defined in object (using system decimal separator) | "0-9" and "." and "-" | +| | | "0-9" and "." if min>=0 | +| integer | same as defined in object | "0-9" and "-" | +| | | "0-9" if min>=0 | +| Boolean | check box | N/A | +| color | N/A | N/A | +| event | N/A | N/A | + +### Attributes + +Each element of the object array is an object that can contain one or more attributes that will define the cell contents and data display (see example above). + +The only mandatory attribute is "valueType" and its supported values are "text", "real", "integer", "boolean", "color", and "event". The following table lists all the attributes supported in list box object arrays, depending on the "valueType" value (any other attributes are ignored). Display formats are detailed and examples are provided below. + +| | valueType | text | real | integer | boolean | color | event | +| --------------------- | --------------------------------------- | ---- | ---- | ------- | ------- | ----- | ----- | +| *Attributes* | *Description* | | | | | | | +| value | cell value (input or output) | x | x | x | | | | +| min | minimum value | | x | x | | | | +| max | maximum value | | x | x | | | | +| behavior | "threeStates" value | | | x | | | | +| requiredList | drop-down list defined in object | x | x | x | | | | +| choiceList | combo box defined in object | x | x | x | | | | +| requiredListReference | 4D list ref, depends on "saveAs" value | x | x | x | | | | +| requiredListName | 4D list name, depends on "saveAs" value | x | x | x | | | | +| saveAs | "reference" or "value" | x | x | x | | | | +| choiceListReference | 4D list ref, display combo box | x | x | x | | | | +| choiceListName | 4D list name, display combo box | x | x | x | | | | +| unitList | array of X elements | x | x | x | | | | +| unitReference | index of selected element | x | x | x | | | | +| unitsListReference | 4D list ref for units | x | x | x | | | | +| unitsListName | 4D list name for units | x | x | x | | | | +| alternateButton | add an alternate button | x | x | x | x | x | | + +#### value + +Cell values are stored in the "value" attribute. This attribute is used for input as well as output. It can also be used to define default values when using lists (see below). + +````code4d + ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob1) + $entry:="Hello world!" + OB SET($ob1;"valueType";"text") + OB SET($ob1;"value";$entry) // if the user enters a new value, $entry will contain the edited value + C_OBJECT($ob2) + OB SET($ob2;"valueType";"real") + OB SET($ob2;"value";2/3) + C_OBJECT($ob3) + OB SET($ob3;"valueType";"boolean") + OB SET($ob3;"value";True) + + APPEND TO ARRAY(obColumn;$ob1) + APPEND TO ARRAY(obColumn;$ob2) + APPEND TO ARRAY(obColumn;$ob3) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_value.png) +> Null values are supported and result in an empty cell. + +#### min and max + +When the "valueType" is "real" or "integer", the object also accepts min and max attributes with appropriate values (values must be of the same type as the valueType). + +These attributes can be used to control the range of input values. When a cell is validated (when it loses the focus), if the input value is lower than the min value or greater than the max value, then it is rejected. In this case, the previous value is maintained and a tip displays an explanation. + +````code4d + C_OBJECT($ob3) + $entry3:=2015 + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";$entry3) + OB SET($ob3;"min";2000) + OB SET($ob3;"max";3000) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_minMax.png) + +#### behavior + +The behavior attribute provides variations to the regular representation of values. In 4D v15, a single variation is proposed: + +| Attribute | Available value(s) | valueType(s) | Description | +| --------- | ------------------ | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| behavior | threeStates | integer | Represents a numeric value as a three-states check box.
    2=semi-checked, 1=checked, 0=unchecked, -1=invisible, -2=unchecked disabled, -3=checked disabled, -4=semi-checked disabled | + +````code4d + C_OBJECT($ob3) + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";-3) + C_OBJECT($ob4) + OB SET($ob4;"valueType";"integer") + OB SET($ob4;"value";-3) + OB SET($ob4;"behavior";"threeStates") +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_behavior.png) + +#### requiredList and choiceList + +When a "choiceList" or a "requiredList" attribute is present inside the object, the text input is replaced by a drop-down list or a combo box, depending of the attribute: + +* If the attribute is "choiceList", the cell is displayed as a combo box. This means that the user can select or type a value. +* If the attribute is "requiredList" then the cell is displayed as a drop-down list and the user can only select one of the values provided in the list. + +In both cases, a "value" attribute can be used to preselect a value in the widget. +> The widget values are defined through an array. If you want to assign an existing 4D list to the widget, you need to use the "requiredListReference", "requiredListName", "choiceListReference", or "choiceListName" attributes. + +Examples: + +* You want to display a drop-down list with only two options: "Open" or "Closed". "Closed" must be preselected: + + ````code4d + ARRAY TEXT($RequiredList;0) + APPEND TO ARRAY($RequiredList;"Open") + APPEND TO ARRAY($RequiredList;"Closed") + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"Closed") + OB SET ARRAY($ob;"requiredList";$RequiredList) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_openClosed.png) + +* You want to accept any integer value, but display a combo box to suggest the most common values: + + ````code4d + ARRAY LONGINT($ChoiceList;0) + APPEND TO ARRAY($ChoiceList;5) + APPEND TO ARRAY($ChoiceList;10) + APPEND TO ARRAY($ChoiceList;20) + APPEND TO ARRAY($ChoiceList;50) + APPEND TO ARRAY($ChoiceList;100) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"value";10) //10 as default value + OB SET ARRAY($ob;"choiceList";$ChoiceList) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_commonValues.png) + +#### requiredListName and requiredListReference + +The "requiredListName" and "requiredListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Lists editor of the Tool box) or by programming (using the New list command). The cell will then be displayed as a drop-down list. This means that the user can only select one of the values provided in the list. + +Use "requiredListName" or "requiredListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. +> * If you want to define these values through a simple array, you need to use the "requiredList" attribute. +> * If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Examples: + +* You want to display a drop-down list based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green"), save it as a value and display "blue" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + + ````code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"saveAs";"value") + OB SET($ob;"value";"blue") + OB SET($ob;"requiredListName";"colors") + ```` +![](assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + +* You want to display a drop-down list based on a list defined by programming and save it as a reference: + + ````code4d + <>List:=New list + APPEND TO LIST(<>List;"Paris";1) + APPEND TO LIST(<>List;"London";2) + APPEND TO LIST(<>List;"Berlin";3) + APPEND TO LIST(<>List;"Madrid";4) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"saveAs";"reference") + OB SET($ob;"value";2) //displays London by default + OB SET($ob;"requiredListReference";<>List) + ```` + ![](assets/en/FormObjects/listbox_column_objectArray_cities.png) + +#### choiceListName and choiceListReference + +The "choiceListName" and "choiceListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Tool box) or by programming (using the New list command). The cell is then displayed as a combo box, which means that the user can select or type a value. + +Use "choiceListName" or "choiceListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. +> * If you want to define these values through a simple array, you need to use the "choiceList" attribute. +> * If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Example: + +You want to display a combo box based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green") and display "green" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + +````code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"blue") + OB SET($ob;"choiceListName";"colors") +```` + +![](../assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + + +#### unitsList, unitsListName, unitsListReference and unitReference + +You can use specific attributes to add units associated with cell values (*e.g.*: "10 cm", "20 pixels", etc.). To define the unit list, you can use one of the following attributes: + +* "unitsList": an array containing the x elements used to define the available units (e.g.: "cm", "inches", "km", "miles", etc.). Use this attribute to define units within the object. +* "unitsListReference": a reference to a 4D list containing available units. Use this attribute to define units with a 4D list created with the [New list](https://doc.4d.com/4Dv15/4D/15.6/New-list.301-3818474.en.html) command. +* "unitsListName": a name of a design-based 4D list that contains available units. Use this attribute to define units with a 4D list created in the Tool box. + +Regardless of the way the unit list is defined, it can be associated with the following attribute: + +* "unitReference": a single value that contains the index (from 1 to x) of the selected item in the "unitList", "unitsListReference" or "unitsListName" values list. + +The current unit is displayed as a button that cycles through the "unitList", "unitsListReference" or "unitsListName" values each time it is clicked (e.g., "pixels" -> "rows" -> "cm" -> "pixels" -> etc.) + +Example: + +We want to set up a numeric input followed by two possible units: "rows" or "pixels". The current value is "2" + "lines". We use values defined directly in the object ("unitsList" attribute): + +````code4d +ARRAY TEXT($_units;0) +APPEND TO ARRAY($_units;"lines") +APPEND TO ARRAY($_units;"pixels") +C_OBJECT($ob) +OB SET($ob;"valueType";"integer") +OB SET($ob;"value";2) // 2 "units" +OB SET($ob;"unitReference";1) //"lines" +OB SET ARRAY($ob;"unitsList";$_units) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_unitList.png) + +#### alternateButton + +If you want to add an ellipsis button [...] to a cell, you just need to pass the "alternateButton" with the True value in the object. The button will be displayed in the cell automatically. + +When this button is clicked by a user, an `On Alternate Click` event will be generated, and you will be able to handle it however you want (see the "Event management" paragraph for more information). +> `On Alternate Click` is the new name of the `On Arrow Click` event, renamed in 4D v15 to highlight its extended scope. + +Example: + +````code4d +C_OBJECT($ob1) +$entry:="Hello world!" +OB SET($ob;"valueType";"text") +OB SET($ob;"alternateButton";True) +OB SET($ob;"value";$entry) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_alternateButton.png) + + +#### color valueType + +The "color" valueType allows you to display either a color or a text. + +* If the value is a number, a colored rectangle is drawn inside the cell. Example: + + ````code4d + C_OBJECT($ob4) + OB SET($ob4;"valueType";"color") + OB SET($ob4;"value";0x00FF0000) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_colorValue.png) + + +* If the value is a text, then the text is displayed (*e.g.*: "value";"Automatic"). + + +#### event valueType + +The "event" valueType displays a simple button that generates an `On Clicked` event when clicked. No data or value can be passed or returned. + +Optionally, you can pass a "label" attribute. + +Example: + +````code4d +C_OBJECT($ob) +OB SET($ob;"valueType";"event") +OB SET($ob;"label";"Edit...") +```` + +![](assets/en/FormObjects/listbox_column_objectArray_eventValueType.png) + + +### Event management +Several events can be handled while using an object list box array: + +* **On Data Change**: An `On Data Change` event is triggered when any value has been modified either: + * in a text input zone + * in a drop-down list + * in a combo box area + * in a unit button (switch from value x to value x+1) + * in a check box (switch between checked/unchecked) +* **On Clicked**: When the user clicks on a button installed using the "event" *valueType* attribute, an `On Clicked` event will be generated. This event is managed by the programmer. +* **On Alternative Click**: When the user clicks on an ellipsis button ("alternateButton" attribute), an `On Alternative Click` event will be generated. This event is managed by the programmer. +> `On Alternative Click` is the new name of the `On Arrow Click` event that was available in previous versions of 4D. This event has been renamed in 4D v15 since its scope has been extended. + + + diff --git a/website/translated_docs/ja/FormObjects/pictureButton_overview.md b/website/translated_docs/ja/FormObjects/pictureButton_overview.md new file mode 100644 index 00000000000000..97aa9cc8d078cd --- /dev/null +++ b/website/translated_docs/ja/FormObjects/pictureButton_overview.md @@ -0,0 +1,63 @@ +--- +id: pictureButtonOverview +title: Picture Button +--- + +## Overview + +A picture button is similar to a [standard button](button_overview.md). However unlike a standard button (which accepts three states: enabled, disabled and clicked), a picture button has a different image to represent each state. + +Picture buttons can be used in two ways: + +* As command buttons in a form. In this case, the picture button generally includes four different states: enabled, disabled, clicked and rolled over. For example, a table of thumbnails that has one row of four columns, each thumbnail corresponds to the Default, Clicked, Roll over, and Disabled states. + + | Property | JSON name | Value | + | -------------------------- | ---------------------- | ----- | + | Rows | rowCount | 1 | + | Columns | columnCount | 4 | + | Switch back when Released | switchBackWhenReleased | true | + | Switch when Roll Over | switchWhenRollover | true | + | Use Last Frame as Disabled | useLastFrameAsDisabled | true | + +* As a picture button letting the user choose among several choices. In this case, a picture button can be used in place of a pop-up picture menu. With [Picture Pop-up Menus](picturePopupMenu_overview.md), all choices are displayed simultaneously (as the items in the pop-up menu), while the picture button displays the choices consecutively (as the user clicks the button). Here is an example of a picture button. Suppose you want to give the users of a custom application the opportunity to choose the interface language for the application. You implement the option as a picture button in a custom properties dialog box: + +![](assets/en/FormObjects/button_pictureButton.png) + +Clicking the object changes the picture. + + +## Using picture buttons + +You can implement a picture button in the following manner: + +1. First, prepare a single graphic in which the series of images are arranged in a row, a column, or a row-by-column grid. + + ![](assets/en/FormObjects/pictureButton_grid.png) + +You can organize pictures as columns, rows, or a row-by-column grid (as shown above). When organizing pictures as a grid, they are numbered from left to right, row by row, beginning with 0. For example, the second picture of the second row of a grid that consists of two rows and three columns, is numbered 4 (The UK flag in the example above). + +2. Next, make sure the image is in your project's Resources and enter the path in the [Pathname](properties_TextAndPicture.md#picture-pathname) property. + +3. Define the graphic's [Rows and Columns](properties_Crop.md) properties. + +4. Specify when the images change by selecting appropriate [animation](properties_Animation.md) properties. + + +## Animation + +In addition to the standard positioning and appearance settings, you can set some specific properties for picture buttons, especially concerning how and when the pictures are displayed. These property options can be combined to enhance your picture buttons. + +- By default (when no [animation option](properties_Animation.md) is selected), a picture button displays the next picture in the series when the user clicks; it displays the previous picture in the series when the user holds down the **Shift** key and clicks. When the user reaches the last picture in the series, the picture does not change when the user clicks again. In other words, it does not cycle back to the first picture in the series. + +The following other modes are available: +- [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) +- [Switch back when Released](properties_Animation.md#switch-back-when-released) +- [Switch when Roll Over](properties_Animation.md#switch-when-roll-over) +- [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) +- [Use Last Frame as Disabled](properties_Animation.md#use-last-frame-as-disabled) +- [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) +> The [associated variable](properties_Object.md#variable-or-expression) of the picture button returns the index number, in the thumbnail table, of the current picture displayed. The numbering of pictures in the table begins with 0. + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md) - [Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switchBackWhenReleased) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switchWhenRollOver) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/website/translated_docs/ja/FormObjects/properties_Action.md b/website/translated_docs/ja/FormObjects/properties_Action.md new file mode 100644 index 00000000000000..452714477f7a67 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Action.md @@ -0,0 +1,189 @@ +--- +id: propertiesAction +0: title:Action +--- + + +--- +## Draggable + +Control whether and how the user can drag the object. By default, no drag operation is allowed. + +Two drag modes are available: + +- **Custom**: In this mode, any drag operation performed on the object triggers the `On Begin Drag` form event in the context of the object. You then manage the drag action using a method. In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D **copies** text or pictures directly from the form object. It can then be used in the same 4D area, between two 4D areas, or between 4D and another application. For example, automatic drag (and drop) lets you copy a value between two fields without using programming: ![](assets/en/FormObjects/property_automaticDragDrop.png) ![](assets/en/FormObjects/property_automaticDragDrop2.png) In this mode, the `On Begin Drag` form event is NOT generated. If you want to "force" the use of the custom drag while automatic drag is enabled, hold down the **Alt** (Windows) or **Option** (macOS) key during the action. This option is not available for pictures. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------------------------------ | +| dragging | text | "none" (default), "custom", "automatic" (excluding list box) | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + + + +#### See also +[Droppable](#droppable) + + +--- +## Droppable + +Control whether and how the object can be the destination of a drag and drop operation. + +Two drop modes are available: + +- **Custom**: In this mode, any drop operation performed on the object triggers the `On Drag Over` and `On Drop` form events in the context of the object. You then manage the drop action using a method. In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D automatically manages — if possible — the insertion of dragged data of the text or picture type that is dropped onto the object (the data are pasted into the object). The `On Drag Over` and `On Drop` form events are NOT generated. On the other hand, the `On After Edit` (during the drop) and `On Data Change` (when the object loses the focus) events are generated. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------------------------------ | +| dropping | text | "none" (default), "custom", "automatic" (excluding list box) | + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + +#### See also +[Draggable](#draggable) + + +--- +## Execute object method +When this option is enabled, the object method is executed with the `On Data Change` event *at the same moment* the user changes the value of the indicator. When the option is disabled, the method is executed *after* the modification. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------- | +| continuousExecution | boolean | true, false | + +#### Objects Supported + +[Progress bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + + + + + +--- +## Method + +Reference of a method attached to the object. Object methods generally "manage" the object while the form is displayed or printed. You do not call an object method—4D calls it automatically when an event involves the object to which the object method is attached. + +Several types of method references are supported: + +- a standard object method file path, i.e. that uses the following pattern: `ObjectMethods/objectName.4dm` ... where `objectName` is the actual [object name](properties_Object.md#object-name). This type of reference indicates that the method file is located at the default location ("sources/forms/*formName*/ObjectMethods/"). In this case, 4D automatically handles the object method when operations are executed on the form object (renaming, duplication, copy/paste...) + +- a project method name: name of an existing project method without file extension, i.e.: `myMethod` In this case, 4D does not provide automatic support for object operations. + +- a custom method file path including the .4dm extension, e.g.: `ObjectMethods/objectName.4dm` You can also use a filesystem: `/RESOURCES/Buttons/bOK.4dm` In this case, 4D does not provide automatic support for object operations. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ------------------------------------------------------------------ | +| method | text | Object method standard or custom file path, or project method name | + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Movable Rows +`Array type list boxes` + +Authorizes the movement of rows during execution. This option is selected by default. It is not available for [selection type list boxes](listbox_overview.md#selection-list-boxes) nor for [list boxes in hierarchical mode](properties_Hierarchy.md#hierarchical-list-box). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| movableRows | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + + +--- +## Multi-selectable + +Allows the selection of multiple records/options in a [hierarchical list](list_overview.md). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | text | "multiple", "single", "none" | + +#### Objects Supported + +[Hierarchical List](list_overview.md) + + + + +--- +## Sortable + +Allows sorting column data by clicking a [listbox](listbox_overview.md) header. This option is selected by default. Picture type arrays (columns) cannot be sorted using this feature. + +In list boxes based on a selection of records, the standard sort function is available only: +* When the data source is *Current Selection*, +* With columns associated with fields (of the Alpha, Number, Date, Time or Boolean type). + +In other cases (list boxes based on named selections, columns associated with expressions), the standard sort function is not available. A standard list box sort changes the order of the current selection in the database. However, the highlighted records and the current record are not changed. A standard sort synchronizes all the columns of the list box, including calculated columns. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| sortable | boolean | true, false | + +#### Objects Supported +[List Box](listbox_overview.md) + + + + + + +--- +## Standard action +Typical activities to be performed by active objects (*e.g.*, letting the user accept, cancel, or delete records, move between records or from page to page in a multi-page form, etc.) have been predefined by 4D as standard actions. They are described in detail in the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section of the *Design Reference*. + +You can assign both a standard action and a project method to an object. In this case, the standard action is usually executed after the method and 4D uses this action to enable/disable the object according to the current context. When an object is deactivated, the associated project method cannot be executed. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ---------------------------------------------------------------------------------------------------------------- | +| action | string | The name of a [valid standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html). | + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [List Box](listbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Tab control](tabControl.md) diff --git a/website/translated_docs/ja/FormObjects/properties_Animation.md b/website/translated_docs/ja/FormObjects/properties_Animation.md new file mode 100644 index 00000000000000..70ced18edd36f0 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Animation.md @@ -0,0 +1,122 @@ +--- +id: propertiesAnimation +0: title:Animation +--- + +--- +## Loop back to first frame + +Pictures are displayed in a continuous loop. When the user reaches the last picture and clicks again, the first picture appears, and so forth. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | --------------- | +| loopBackToFirstFrame | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + +--- +## Switch back when released + +Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released. This mode allows you to create an action button with a different picture for each state (idle and clicked). You can use this mode to create a 3D effect or display any picture that depicts the action of the button. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | --------------- | +| switchBackWhenReleased | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch continuously on clicks + +Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation). When the user reaches the last picture, the object does not cycle back to the first picture. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| switchContinuously | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + +--- +## Switch every x ticks + +Enables cycling through the contents of the picture button at the specified speed (in ticks). In this mode, all other options are ignored. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| frameDelay | integer | minimum: 0 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch when roll over + +Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| switchWhenRollover | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + +--- +## Use Last frame as disabled + +Enables setting the last thumbnail as the one to display when the button is disabled. The thumbnail used when the button is disabled is processed separately by 4D: when you combine this option with "Switch Continuously" and "Loop Back to First Frame", the last picture is excluded from the sequence associated with the button and only appears when it is disabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------------- | --------- | --------------- | +| useLastFrameAsDisabled | boolean | true, false | + + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + diff --git a/website/translated_docs/ja/FormObjects/properties_Appearance.md b/website/translated_docs/ja/FormObjects/properties_Appearance.md new file mode 100644 index 00000000000000..305832551d998f --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Appearance.md @@ -0,0 +1,427 @@ +--- +id: propertiesAppearance +0: title:Appearance +--- + +## Default Button + +The default button property modifies a button's appearance in order to indicate the recommended choice to the user. The difference in appearance depends on the OS. + +| Windows | macOS | +|:--------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------:| +| The default button has a blue outline.

    ![](assets/en/FormObjects/property_defaultButtonWindows.en.png) | The default buttons are blue.

    ![](assets/en/FormObjects/property_defaultButtonmacOS.en.png) | +> There can only be one default button per form page. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + defaultButton|boolean|true, false | + +#### Objects Supported + +[Regular Button](button_overview.md#regular) - [Flat Button](button_overview.md#regular) + + + + + + +## Hide focus rectangle + +During execution, a field or any enterable area is outlined by a selection rectangle when it has the focus (via the Tab key or a single click). You can hide this rectangle by enabling this property. Hiding the focus rectangle may be useful in the case of specific interfaces. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| hideFocusRing | boolean | true, false | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Subform](subform_overview.md) + + + + +## Hide selection highlight +`Selection type list boxes` + +This property is used to disable the selection highlight in list boxes. + +When this option is enabled, the selection highlight is no longer visible for selections made in list boxes. Selections themselves are still valid and work in exactly the same way as previously; however, they are no longer represented graphically onscreen, and you will need to [define their appearance programmatically](listbox_overview.md#customizing-appearance-of-selected-rows). + +By default, this option is not enabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------- | +| hideSystemHighlight | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + +## Horizontal Scroll Bar + +An interface tool allowing the user to move the viewing area to the left or right. + +Available values: + +| Property List | JSON value | Description | +| ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Yes | "visible" | The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame). | +| No | "hidden" | The scrollbar is never visible | +| Automatic | "automatic" | The scrollbar appears automatically whenever necessary and the user can enter text larger than the object width | + + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | -------------------------------- | +| scrollbarHorizontal | text | "visible", "hidden", "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also +[Vertical scroll bar](#vertical-scroll-bar) + + +## Resolution + +Sets the screen resolution for the 4D Write Pro area contents. By default, it is set to 72 dpi (macOS), which is the standard resolution for 4D forms on all platforms. Setting this property to 96 dpi will set a windows/web rendering on both macOS and Windows platforms. Setting this property to **automatic** means that document rendering will differ between macOS and Windows platforms. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + dpi|number|0=automatic, 72, 96 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show background + +Displays/hides both background images and background color. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showBackground|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show footers + +Displays/hides the footers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showFooters|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Show Formula Bar + +When enabled, the formula bar is visible below the Toolbar interface in the 4D View Pro area. If not selected, the formula bar is hidden. + +> This property is available only for the [Toolbar](#user-interface) interface. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + withFormulaBar|boolean|true (default), false| + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + + +## Show headers + +Displays/hides the headers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHeaders|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show hidden characters + +Displays/hides invisible characters + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHiddenChars|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Show horizontal ruler + +Displays/hides the horizontal ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHorizontalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + + + +## Show HTML WYSYWIG + +Enables/disables the HTML WYSIWYG view, in which any 4D Write Pro advanced attributes which are not compliant with all browsers are removed. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHTMLWysiwyg|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show page frame + +Displays/hides the page frame when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showPageFrames|boolean|true, false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show references + +Displays all 4D expressions inserted in the 4D Write Pro document as *references*. When this option is disabled, 4D expressions are displayed as *values*. By default when you insert a 4D field or expression, 4D Write Pro computes and displays its current value. Select this property if you wish to know which field or expression is displayed. The field or expression references then appear in your document, with a gray background. + +For example, you have inserted the current date along with a format, the date is displayed: + +![](assets/en/FormObjects/writePro1.png) + +With the Show references property on, the reference is displayed: + +![](assets/en/FormObjects/writeProExpr.png) + +> 4D expressions can be inserted using the `ST INSERT EXPRESSION` command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showReferences|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show vertical ruler + +Displays/hides the vertical ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showVerticalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Tab Control Direction + +You can set the direction of tab controls in your forms. This property is available on all the platforms but can only be displayed in macOS. You can choose to place the tab controls on top (standard) or on the bottom. + +When tab controls with a custom direction are displayed under Windows, they automatically return to the standard direction (top). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + labelsPlacement|boolean|"top", "bottom" | + +#### Objects Supported + +[Tab Control](tabControl.md) + + + +## User Interface + +You can add an interface to 4D View Pro areas to allow end users to perform basic modifications and data manipulations. 4D View Pro offers two optional interfaces to choose from, **Ribbon** and **Toolbar**. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + userInterface|text|"none" (default), "ribbon", "toolbar" | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + + +#### See also + +[4D View Pro reference guide](https://doc.4d.com/4Dv18/4D/18/4D-View-Pro-Reference.100-4522233.en.html) + + +## Vertical Scroll Bar + +An interface tool allowing the user to move the viewing area up and down. + +Available values: + +| Property List | JSON value | Description | +| ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Yes | "visible" | The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame). | +| No | "hidden" | The scrollbar is never visible | +| Automatic | "automatic" | The scrollbar appears automatically whenever necessary (in other words, when the size of the object contents is greater than that of the frame) | + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +> If a text input object does not have a scroll bar, the user can scroll the information using the arrow keys. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | -------------------------------- | +| scrollbarVertical | text | "visible", "hidden", "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also + +[Horizontal scroll bar](#horizontal-scroll-bar) + + +## View mode + +Sets the mode for displaying the 4D Write Pro document in the form area. Three values are available: + +- **Page**: the most complete view mode, which includes page outlines, orientation, margins, page breaks, headers and footers, etc. +- **Draft**: draft mode with basic document properties +- **Embedded**: view mode suitable for embedded areas; it does not display margins, footers, headers, page frames, etc. This mode can also be used to produce a web-like view output (if you also select the [96 dpi resolution](#resolution) and the [Show HTML WYSIWYG](#show-html-wysiwyg) properties). + +> The View mode property is only used for onscreen rendering. Regarding printing settings, specific rendering rules are automatically used. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + layoutMode|text|"page", "draft", "embedded"| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Zoom + +Sets the zoom percentage for displaying 4D Write Pro area contents. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + zoom|number|minimum = 0 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + diff --git a/website/translated_docs/ja/FormObjects/properties_BackgroundAndBorder.md b/website/translated_docs/ja/FormObjects/properties_BackgroundAndBorder.md new file mode 100644 index 00000000000000..b5b3866cdd11a6 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_BackgroundAndBorder.md @@ -0,0 +1,225 @@ +--- +id: propertiesBackgroundAndBorder +title: Background and Border +--- + +--- +## Alternate Background Color + +Allows setting a different background color for odd-numbered rows/columns in a list box. By default, *Automatic* is selected: the column uses the alternate background color set at the list box level. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------- | +| alternateFill | string | any css value; "transparent"; "automatic" | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + + + +--- +## Background Color / Fill Color + +Defines the background color of an object. + +In the case of a list box, by default *Automatic* is selected: the column uses the background color set at the list box level. + +#### JSON Grammar + + +| Name | Data Type | Possible Values | +| ---- | --------- | ----------------------------------------- | +| fill | string | any css value; "transparent"; "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-footers) - [Oval](shapes_overview.md#oval) - [Rectangle](shapes_overview.md#rectangle) + +#### See also +[Transparent](#transparent) + + +--- +## Background Color Expression + +`Selection and collection type list boxes` + +An expression or a variable (array variables cannot be used) to apply a custom background color to each row of the list box. The expression or variable will be evaluated for each row displayed and must return a RGB color value. For more information, refer to the description of the `OBJECT SET RGB COLORS` command in the *4D Language Reference manual*. +> With collection or entity selection type list boxes, this property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------- | +| rowFillSource | string | An expression returning a RGB color value | + +#### Objects Supported +[List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Border Line Style / Dotted Line Type + +Allows setting a standard style for the object border. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------------- | +| borderStyle | text | "system", "none", "solid", "dotted", "raised", "sunken", "double" | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Rectangle](shapes_overview.md#rectangle) - [Plug-in Area](pluginArea_overview.md#overview) - [Subform](subform_overview.md#overview) - [Web Area](webArea_overview.md#overview) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [4D Write Pro areas](writeProArea_overview.md) + + + + +--- +## Dotted Line Type + +Describes dotted line type as a sequence of black and white points. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | ---------------------- | ------------------------------------------------------------------------ | +| strokeDashArray | number array or string | Ex. "6 1" or \[6,1\] for a sequence of 6 black point and 1 white point | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + + +--- +## Hide extra blank rows + +Controls the display of extra blank rows added at the bottom of a list box object. By default, 4D adds such extra rows to fill the empty area: + +![](assets/en/FormObjects/property_hideExtraBlankRows1.png) + +You can remove these empty rows by selecting this option. The bottom of the list box object is then left blank: + +![](assets/en/FormObjects/property_hideExtraBlankRows2.png) + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| hideExtraBlankRows | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + +--- +## Font Color / Line Color + +For objects containing text (text, input, group box, list box header or footer), designates the font color. + +For shape objects (rectangle, line, oval), designates the color of the object's lines. + +#### JSON Grammar + + +| Name | Data Type | Possible Values | +| ------ | --------- | ----------------------------------------- | +| stroke | string | any css value, "transparent", "automatic" | + +#### Objects Supported + +[Group box](groupBox.md) - [Text](text.md) - [Input](input_overview.md) - [List box header](listbox_overview.md#header) - [List box footer](listbox_overview.md#footer) - [Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + +--- +## Line Width + +Designates the thickness of a line. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------------- | +| strokeWidth | number | 0 for smallest width on a printed form, or any integer value < 20 | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + + + + + +--- +## Row Background Color Array + +`Array type list boxes` + +The name of an array to apply a custom background color to each row of the list box or column. + +The name of a Longint array must be entered. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. + +For example, given a list box where the rows have an alternating gray/light gray color, defined in the properties of the list box. A background color array has also been set for the list box in order to switch the color of rows where at least one value is negative to light orange: + +```code4d + <>_BgndColors{$i}:=0x00FFD0B0 // orange + <>_BgndColors{$i}:=-255 // default value +``` +![](assets/en/FormObjects/listbox_styles1.png) + +Next you want to color the cells with negative values in dark orange. To do this, you set a background color array for each column, for example <>_BgndColor_1, <>_BgndColor_2 and <>_BgndColor_3. The values of these arrays have priority over the ones set in the list box properties as well as those of the general background color array: + +```code4d + <>_BgndColorsCol_3{2}:=0x00FF8000 // dark orange + <>_BgndColorsCol_2{5}:=0x00FF8000 + <>_BgndColorsCol_1{9}:=0x00FF8000 + <>_BgndColorsCol_1{16}:=0x00FF8000 +``` +![](assets/en/FormObjects/listbox_styles2.png) + +You can get the same result using the `LISTBOX SET ROW FONT STYLE` and `LISTBOX SET ROW COLOR` commands. They have the advantage of letting you skip having to predefine style/color arrays for the columns: instead they are created dynamically by the commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| rowFillSource | string | The name of a longint array. | + +#### Objects Supported +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Transparent + +Sets the list box background to "Transparent". When set, any [alternate background color](#alternate-background-color) or [background color](#background-color-fill-color) defined for the column is ignored. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| fill | text | "transparent" | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + +#### See also +[Background Color / Fill Color](#background-color-fill-color) \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/properties_CoordinatesAndSizing.md b/website/translated_docs/ja/FormObjects/properties_CoordinatesAndSizing.md new file mode 100644 index 00000000000000..4d3736e6e658e4 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_CoordinatesAndSizing.md @@ -0,0 +1,284 @@ +--- +id: propertiesCoordinatesAndSizing +0: title:Coordinates & Sizing +--- + +--- +## Automatic Row Height +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is only available for array-based, non-hierarchical list boxes. The property is not selected by default. + +When used, the height of every row in the column will automatically be calculated by 4D, and the column contents will be taken into account. Note that only columns with the option selected will be taken into account to calculate the row height. +> When resizing the form, if the "Grow" [horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + +When this property is enabled, the height of every row is automatically calculated in order to make the cell contents entirely fit without being truncated (unless the [Wordwrap](properties_Display.md#wordwrap) option is disabled. + +* The row height calculation takes into account: + * any content types (text, numerics, dates, times, pictures (calculation depends on the picture format), objects), + * any control types (inputs, check boxes, lists, dropdowns), + * fonts, fonts styles and font sizes, + * the [Wordwrap](properties_Display.md#wordwrap) option: if disabled, the height is based on the number of paragraphs (lines are truncated); if enabled, the height is based on number of lines (not truncated). + +* The row height calculation ignores: + * hidden column contents + * [Row Height](#row-height) and [Row Height Array](#row-height-array) properties (if any) set either in the Property list or by programming. +> Since it requires additional calculations at runtime, the automatic row height option could affect the scrolling fluidity of your list box, in particular when it contains a large number of rows. + + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| rowHeightAuto | boolean | true, false | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Bottom + +Bottom coordinate of the object in the form. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | --------------- | +| bottom | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Left + +Left coordinate of the object on the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| left | number | minimum: 0 | + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Right + +Right coordinate of the object in the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| right | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Top + +Top coordinate of the object in the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| top | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Corner Radius + +Defines the corner roundness (in pixels) of objects of the [rectangle](shapes_overview.md#rectangle) type. By default, the radius value for rectangles is 0 pixels. You can change this property to draw rounded rectangles with custom shapes: + +![](assets/en/FormObjects/shape_rectangle.png) + +Minimum value is 0, in this case a standard non-rounded rectangle is drawn. Maximum value depends on the rectangle size (it cannot exceed half the size of the shortest rectangle side) and is calculated dynamically. + +You can also set this property using the [OBJECT Get corner radius](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-Get-corner-radius.301-4311357.en.html) and [OBJECT SET CORNER RADIUS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-CORNER-RADIUS.301-4311356.en.html) commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| borderRadius | integer | minimum: 0 | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) + + + + +--- +## Height + +This property designates an object's vertical size. +> Some objects may have a predefined height that cannot be altered. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | --------------- | +| height | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Width + +This property designates an object's horizontal size. +> * Some objects may have a predefined height that cannot be altered. +> * If the [Resizable](properties_ResizingOptions.md#resizable) property is used for a [list box column](listbox_overview.md#list-box-columns), the user can also manually resize the column. +> * When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| width | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + + + + + + +--- +## Maximum Width + +The maximum width of the column (in pixels). The width of the column cannot be increased beyond this value when resizing the column or form. +> When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| maxWidth | number | minimum: 0 | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + +--- +## Minimum Width + +The minimum width of the column (in pixels). The width of the column cannot be reduced below this value when resizing the column or form. +> When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| minWidth | number | minimum: 0 | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + + + +--- +## Row Height + + +Sets the height of list box rows (excluding headers and footers). By default, the row height is set according to the platform and the font size. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ---------------------------------------- | +| rowHeight | string | css value in unit "em" or "px" (default) | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height Array](#row-height-array) + + + +--- +## Row Height Array +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is used to specify the name of a row height array that you want to associate with the list box. A row height array must be of the numeric type (longint by default). + +When a row height array is defined, each of its elements whose value is different from 0 (zero) is taken into account to determine the height of the corresponding row in the list box, based on the current Row Height unit. + +For example, you can write: + +```code4d +ARRAY LONGINT(RowHeights;20) +RowHeights{5}:=3 +``` + +Assuming that the unit of the rows is "lines," then the fifth row of the list box will have a height of three lines, while every other row will keep its default height. +> * The Row Height Array property is not taken into account for hierarchical list boxes. +> * For array-based list boxes, this property is available only if the [Automatic Row Height](#automatic-row-height) option is not selected. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | ---------------------------- | +| rowHeightSource | string | Name of a 4D array variable. | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height](#row-height) + + + + diff --git a/website/translated_docs/ja/FormObjects/properties_Crop.md b/website/translated_docs/ja/FormObjects/properties_Crop.md new file mode 100644 index 00000000000000..5a08cf891a9c09 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Crop.md @@ -0,0 +1,47 @@ +--- +id: propertiesCrop +0: title:Crop +--- + +--- +## Columns + +Sets the number of columns in a thumbnail table. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----------- |:---------:| --------------- | +| columnCount | integer | minimum: 1 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + +--- +## Rows + +Sets the number of rows in a thumbnail table. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------- |:---------:| --------------- | +| rowCount | integer | minimum: 1 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + + + + + + + diff --git a/website/translated_docs/ja/FormObjects/properties_DataSource.md b/website/translated_docs/ja/FormObjects/properties_DataSource.md new file mode 100644 index 00000000000000..33f64f77686a73 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_DataSource.md @@ -0,0 +1,290 @@ +--- +id: propertiesDataSource +title: Data Source +--- + +--- +## Automatic Insertion + +When this option is selected, if a user enters a value that is not found in the choice list associated with the object, this value is automatically added to the list stored in memory. You can associate choice lists to objects using: +- the [Choice List](properties_DataSource.md#choice-list) JSON property +- the [OBJECT SET LIST BY NAME](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-NAME.301-4128227.en.html) or [OBJECT SET LIST BY REFERENCE](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-REFERENCE.301-4128237.en.html) commands. +- the form editor's Property List. + +For example, given a choice list containing "France, Germany, Italy" that is associated with a "Countries" combo box: if the **automatic insertion** property is set and a user enters "Spain", then the value "Spain" is automatically added to the list in memory: + +![](assets/en/FormObjects/comboBox_AutomaticInsertion_example.png) + +Naturally, the value entered must not belong to the list of [excluded values](properties_RangeOfValues.md#excluded-list) associated with the object, if one has been set. +> If the list was created from a list defined in Design mode, the original list is not modified. + +When the **automatic insertion** option is not selected (default), the value entered is stored in the object but not in the list in memory. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| automaticInsertion | boolean | true, false | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Choice List + +Associates a choice list with an object. It can be a choice list name (a list reference) or a collection of default values. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ---------------- | --------------------------------------------------- | +| choiceList | list, collection | A list of possible values | +| list | list, collection | A list of possible values (hierarchical lists only) | + + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Choice List (static list) + +List of static values to use as labels for the tab control object. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | ---------------- | ---------------------------------------- | +| labels | list, collection | A list of values to fill the tab control | + +#### Objects Supported + +[Tab Control](tabControl.md) + + +--- +## Current item +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the collection element/entity selected by the user. You must use an object variable or an assignable expression that accepts objects. If the user does not select anything or if you used a collection of scalar values, the Null value is assigned. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | ----------------- | +| currentItemSource | string | Object expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + + + +--- + +## Current item position +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned a longint indicating the position of the collection element/entity selected by the user. + +* if no element/entity is selected, the variable or expression receives zero, +* if a single element/entity is selected, the variable or expression receives its location, +* if multiple elements/entities are selected, the variable or expression receives the position of element/entity that was last selected. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------------- | --------- | ----------------- | +| currentItemPositionSource | string | Number expression | + +#### Objects Supported +[List Box ](listbox_overview.md) + + + + + +--- +## Data Type + +Please refer to [Expression Type](properties_Object.md#expression-type) section. + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- + +## Default (list of) values + +List of values that will be used as default values for the list box column (array type only). These values are automatically available in the [array variable](properties_Object.md#variable-or-expression) associated with this column when the form is executed. Using the language, you can manage the object by referring to this array. + +> Do not make confusion between this property and the "[default value](properties_RangeOfValues.md#default-list-of-values)" property that allows to define a field value in new records. + +You must enter a list of values. In the Form editor, a specific dialog box allows you to enter values separated by carriage returns: + +![](assets/en/FormObjects/defaultValues.png) + +> You can also define a [choice list](properties_DataSource.md#choice-list) with the list box column. However, a choice list will be used as list of selectable values for each column row, whereas the default list fill all column rows. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | ---------- | ---------------------------------------------------------------- | +| values | collection | A collection of default values (strings), ex: "a", "b", "c", "d" | + +#### Objects Supported + +[List Box Column (array type only)](listbox_overview.md#list-box-columns) + + + + +--- +## Expression + +This description is specific to [selection](listbox_overview.md#selection-list-boxes) and [collection](listbox_overview.md#collection-or-entity-selection-list-boxes) type list box columns. See also **[Variable or Expression](properties_Object.md#variable-or-expression)** section. + +A 4D expression to be associated with a column. You can enter: + +- A **simple variable** (in this case, it must be explicitly declared for compilation). You can use any type of variable except BLOBs and arrays. The value of the variable will be generally calculated in the `On Display Detail` event. + +- A **field** using the standard [Table]Field syntax ([selection type list box](listbox_overview.md#selection-list-boxes) only), for example: `[Employees]LastName`. The following types of fields can be used: + * String + * Numeric + * Date + * Time + * Picture + * Boolean You can use fields from the Master Table or from other tables. + +- A **4D expression** (simple expression, formula or 4D method). The expression must return a value. The value will be evaluated in the `On Display Detail` and `On Data Change` events. The result of the expression will be automatically displayed when you switch to Application mode. The expression will be evaluated for each record of the selection (current or named) of the Master Table (for selection type list boxes), each element of the collection (for collection type list boxes) or each entity of the selection (for entity selection list boxes). If it is empty, the column will not display any results. The following expression types are supported: + * String + * Numeric + * Date + * Picture + * Boolean + + For collection/entity selection list boxes, Null or unsupported types are displayed as empty strings. When using collections or entity selections, you will usually declare the element property or entity attribute associated to a column within an expression containing [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html). `This` is a dedicated 4D command that returns a reference to the currently processed element. For example, you can use **This.\** where **\** is the path of a property in the collection or an entity attribute path to access the current value of each element/entity. If you use a collection of scalar values, 4D will create an object for each collection element with a single property (named "value"), filled with the element value. In this case, you will use **This.value** as expression. + + If a [non-assignable expression](Concepts/quick-tour.md#expressions) is used (e.g. `[Person]FirstName+" "+[Person]LastName`), the column is never enterable even if the [Enterable](properties_Entry.md#enterable) property is enabled. + +If a field, a variable, or an assignable expression (*e.g. Person.lastName*) is used, the column can be enterable or not depending on the [Enterable](properties_Entry.md#enterable) property. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------- | +| dataSource | string | A 4D variable, field name, or an arbitrary complex language expression. | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Master Table +`Current selection list boxes` + +Specifies the table whose current selection will be used. This table and its current selection will form the reference for the fields associated with the columns of the list box (field references or expressions containing fields). Even if some columns contain fields from other tables, the number of rows displayed will be defined by the master table. + +All database tables can be used, regardless of whether the form is related to a table (table form) or not (project form). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| table | number | Table number | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + + + +--- + +## Save as + + +This property is available in the following conditions: + +- a [choice list](#choice-list) is associated with the object +- for [inputs](input_overview.md) and [list box columns](listbox_overview.md#list-box-columns), a [required list](properties_RangeOfValues.md#required-list) is also defined for the object (both options should use usually the same list), so that only values from the list can be entered by the user. + +This property specifies, in the context of a field or variable associated with a list of values, the type of contents to save: + +- **Save as Value** (default option): the value of the item chosen in the list by the user is saved directly. For example, if the user chooses the value "Blue", then this value is saved in the field. +- **Save as Reference**: the reference of the choice list item is saved in the object. This reference is the numeric value associated with each item either through the *itemRef* parameter of the `APPEND TO LIST` or `SET LIST ITEM` commands, or in the lists editor. + +This option lets you optimize memory usage: storing numeric values in fields uses less space than storing strings. It also makes it easier to translate applications: you just create multiple lists in different languages but with the same item references, then load the list based on the language of the application. + +Using this property requires compliance with the following principles: + +- To be able to store the reference, the field or variable data source must be of the Number type (regardless of the type of value displayed in the list). +- Valid and unique references must be associated with list items. +- If you use this property for a [drop-down list](dropdownList_Overview.md), it must be associated with a field. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | -------------------- | +| saveAs | string | "value", "reference" | + +#### Objects Supported +[Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Selected Items +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the elements or entities selected by the user. + +* for a collection list box, you must use a collection variable or an assignable expression that accepts collections, +* for an entity selection list box, an entity selection object is built. You must use an object variable or an assignable expression that accepts objects. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------------- | +| selectedItemsSource | string | Collection expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + +--- +## Selection Name +`Named selection list boxes` + +Specifies the named selection to be used. You must enter the name of a valid named selection. It can be a process or interprocess named selection. The contents of the list box will be based on this selection. The named selection chosen must exist and be valid at the time the list box is displayed, otherwise the list box will be displayed blank. + +> Named selections are ordered lists of records. They are used to keep the order and current record of a selection in memory. For more information, refer to **Named Selections** section in the *4D Language Reference manual*. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | -------------------- | +| namedSelection | string | Named selection name | + +#### Objects Supported +[List Box](listbox_overview.md#overview) diff --git a/website/translated_docs/ja/FormObjects/properties_Display.md b/website/translated_docs/ja/FormObjects/properties_Display.md new file mode 100644 index 00000000000000..f816af4527a9d8 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Display.md @@ -0,0 +1,611 @@ +--- +id: propertiesDisplay +0: title:Display +--- + +--- +## Alpha Format + +Alpha formats control the way the alphanumeric fields and variables appear when displayed or printed. Here is a list of formats provided for alphanumeric fields: + +![](assets/en/FormObjects/property_alphaFormat.png) + +You can choose a format from this list or use any custom format. The default list contains formats for some of the most common alpha fields that require formats: US telephone numbers (local and long distance), Social Security numbers, and zip codes. You can also enter a custom format name set in the Filters and formats editor of the tool box. In this case, the format cannot be modified in the object properties. Any custom formats or filters that you have created are automatically available, preceded by a vertical bar (|). + +The number sign (#) is the placeholder for an alphanumeric display format. You can include the appropriate dashes, hyphens, spaces, and any other punctuation marks that you want to display. You use the actual punctuation marks you want and the number sign for each character you want to display. + +For example, consider a part number with a format such as "RB-1762-1". + +The alpha format would be: + + ##-####-# + +When the user enters "RB17621," the field displays: + + RB-1762-1 + +The field actually contains "RB17621". + +If the user enters more characters than the format allows, 4D displays the last characters. For example, if the format is: + + (#######) + +and the user enters "proportion", the field displays: + + (portion) + +The field actually contains "proportion". 4D accepts and stores the entire entry no matter what the display format. No information is lost. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------------------------------------------ | +| textFormat | string | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats | + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + + + +--- + +## Date Format + +Date formats control the way dates appear when displayed or printed. For data entry, you enter dates in the MM/DD/YYYY format, regardless of the display format you have chosen. +> Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for dates must only be selected among the 4D built-in formats. + +The table below shows choices available: + +| Format name | JSON String | Example (US system) | +| ------------------------------- | ------------ | ----------------------------- | +| System date short | - (default) | 03/25/20 | +| System date abbreviated *(1)* | systemMedium | Wed, Mar 25, 2020 | +| System date long | systemLong | Wednesday, March 25, 2020 | +| RFC 822 | rfc822 | Tue, 25 Mar 2020 22:00:00 GMT | +| Short Century | shortCentury | 03/25/20 but 04/25/2032 *(2)* | +| Internal date long | long | March 25, 2020 | +| Internal date abbreviated *(1)* | abbreviated | Mar 25, 2020 | +| Internal date short | short | 03/25/2020 | +| ISO Date Time *(3)* | iso8601 | 2020-03-25T00:00:00 | + +*(1)* To avoid ambiguity and in accordance with current practice, the abbreviated date formats display "jun" for June and "jul" for July. This particularity only applies to French versions of 4D. + +*(2)* The year is displayed using two digits when it belongs to the interval (1930;2029) otherwise it will be displayed using four digits. This is by default but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + +*(3)* The `ISO Date Time` format corresponds to the XML date and time representation standard (ISO8601). It is mainly intended to be used when importing/exporting data in XML format and in Web Services. +> Regardless of the display format, if the year is entered with two digits then 4D assumes the century to be the 21st if the year belongs to the interval (00;29) and the 20th if it belongs to the interval (30;99). This is the default setting but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dateFormat | string | "systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + +--- +## Number Format +> Number fields include the Integer, Long integer, Integer 64 bits, Real and Float types. + +Number formats control the way numbers appear when displayed or printed. For data entry, you enter only the numbers (including a decimal point or minus sign if necessary), regardless of the display format you have chosen. + +4D provides various default number formats. + +### Placeholders + +In each of the number display formats, the number sign (#), zero (0), caret (^), and asterisk (*) are used as placeholders. You create your own number formats by using one placeholder for each digit you expect to display. + +| Placeholder | Effect for leading or trailing zero | +| ----------- | ----------------------------------- | +| # | Displays nothing | +| 0 | Displays 0 | +| ^ | Displays a space (1) | +| * | Displays an asterisk | + +(1) The caret (^) generates a space character that occupies the same width as a digit in most fonts. + + +For example, if you want to display three-digit numbers, you could use the format ###. If the user enters more digits than the format allows, 4D displays <<< in the field to indicate that more digits were entered than the number of digits specified in the display format. + + +If the user enters a negative number, the leftmost character is displayed as a minus sign (unless a negative display format has been specified). If ##0 is the format, minus 26 is displayed as –26 and minus 260 is displayed as <<< because the minus sign occupies a placeholder and there are only three placeholders. +> No matter what the display format, 4D accepts and stores the number entered in the field. No information is lost. + +Each placeholder character has a different effect on the display of leading or trailing zeros. A leading zero is a zero that starts a number before the decimal point; a trailing zero is a zero that ends a number after the decimal point. + +Suppose you use the format ##0 to display three digits. If the user enters nothing in the field, the field displays 0. If the user enters 26, the field displays 26. + + +### Separator characters + +The numeric display formats (except for scientific notations) are automatically based on regional system parameters. 4D replaces the “.” and “,” characters by, respectively, the decimal separator and the thousand separator defined in the operating system. The period and comma are thus considered as placeholder characters, following the example of 0 or #. +> On Windows, when using the decimal separator key of the numeric keypad, 4D makes a distinction depending on the type of field where the cursor is located: * in a Real type field, using this key will insert the decimal separator defined in the system, * in any other type of field, this key inserts the character associated with the key, usually a period (.) or comma (,). + + +### Decimal points and other display characters + +You can use a decimal point in a number display format. If you want the decimal to display regardless of whether the user types it in, it must be placed between zeros. + +You can use any other characters in the format. When used alone, or placed before or after placeholders, the characters always appear. For example, if you use the following format: + + $##0 + +a dollar sign always appears because it is placed before the placeholders. + +If characters are placed between placeholders, they appear only if digits are displayed on both sides. For example, if you define the format: + + ###.##0 + +the point appears only if the user enters at least four digits. + +Spaces are treated as characters in number display formats. + +### Formats for positive, negative, and zero + +A number display format can have up to three parts allowing you to specify display formats for positive, negative, and zero values. You specify the three parts by separating them with semicolons as shown below: + + Positive;Negative;Zero + +You do not have to specify all three parts of the format. If you use just one part, 4D uses it for all numbers, placing a minus sign in front of negative numbers. + +If you use two parts, 4D uses the first part for positive numbers and zero and the second part for negative numbers. If you use three parts, the first is for positive numbers, the second for negative numbers, and the third for zero. +> The third part (zero) is not interpreted and does not accept replacement characters. If you enter `###;###;#`, the zero value will be displayed “#”. In other words, what you actually enter is what will be displayed for the zero value. + +Here is an example of a number display format that shows dollar signs and commas, places negative values in parentheses, and does not display zeros: + + $###,##0.00;($###,##0.00); + +Notice that the presence of the second semicolon instructs 4D to use nothing to display zero. The following format is similar except that the absence of the second semicolon instructs 4D to use the positive number format for zero: + + $###,##0.00;($###,##0.00) + +In this case, the display for zero would be $0.00. + +### Scientific notation + +If you want to display numbers in scientific notation, use the **ampersand** (&) followed by a number to specify the number of digits you want to display. For example, the format: + + &3 + +would display 759.62 as: + + 7.60e+2 + + +The scientific notation format is the only format that will automatically round the displayed number. Note in the example above that the number is rounded up to 7.60e+2 instead of truncating to 7.59e+2. + +### Hexadecimal formats + +You can display a number in hexadecimal using the following display formats: + +* `&x`: This format displays hexadecimal numbers using the “0xFFFF” format. +* `&$`: This format displays hexadecimal numbers using the “$FFFF” format. + +### XML notation + +The `&xml` format will make a number compliant with XML standard rules. In particular, the decimal separator character will be a period "." in all cases, regardless of the system settings. + +### Displaying a number as a time + +You can display a number as a time (with a time format) by using `&/` followed by a digit. Time is determined by calculating the number of seconds since midnight that the value represents. The digit in the format corresponds to the order in which the time format appears in the Format drop-down menu. + +For example, the format: + + &/5 + +corresponds to the 5th time format in the pop-up menu, specifically the AM/PM time. A number field with this format would display 25000 as: + + 6:56 AM + +### Examples + +The following table shows how different formats affect the display of numbers. The three columns — Positive, Negative, and Zero — each show how 1,234.50, –1,234.50, and 0 would be displayed. + +| Format Entered | Positive | Negative | Zero | +| -------------------------------------- | ---------------- | ------------- | ---------------------------- | +| ### | <<< | <<< | | +| #### | 1234 | <<<< | | +| ####### | 1234 | -1234 | | +| #####.## | 1234.5 | -1234.5 | | +| ####0.00 | 1234.50 | -1234.50 | 0.00 | +| #####0 | 1234 | -1234 | 0 | +| +#####0;–#####0;0 | +1234 | -1234 | 0 | +| #####0DB;#####0CR;0 | 1234DB | 1234CR | 0 | +| #####0;(#####0) | 1234 | (1234) | 0 | +| ###,##0 | 1,234 | -1,234 | 0 | +| ##,##0.00 | 1,234.50 | -1,234.50 | 0.00 | +| \^\^\^\^\^\^\^ | 1234 | -1234 | | +| \^\^\^\^\^\^0 | 1234 | -1234 | 0 | +| \^\^\^,\^\^0 | 1,234 | -1,234 | 0 | +| \^\^,\^\^0.00 | 1,234.50 | -1,234.50 | 0.00 | +| \*\*\*\*\*\*\* | \*\*\*1234 | \*\*-1234 | \*\*\*\*\*\*\* | +| \*\*\**\*\*0 | \*\*\*1234 | \*\*-1234 | \*\*\*\*\*\*0 | +| \*\*\*,*\*0 | \*\*1,234 | \*-1,234 | \*\*\*\*\*\*0 | +| \*\*,\*\*0.00 | \*1,234.50 | -1,234.50 | \*\*\*\*\*0.00 | +| $\*,\*\*0.00;–$\*,\*\*0.00 | $1,234.50 | -$1,234.50 | $\*\*\*\*0.00 | +| $\^\^\^\^0 | $ 1234 | $–1234 | $ 0 | +| $\^\^\^0;–$\^\^\^0 | $1234 | –$1234 | $ 0 | +| $\^\^\^0 ;($\^\^\^0) | $1234 | ($1234) | $ 0 | +| $\^,\^\^0.00 ;($\^,\^\^0.00) | $1,234.50 | ($1,234.50) | $ 0.00 | +| &2 | 1.2e+3 | -1.2e+3 | 0.0e+0 | +| &5 | 1.23450e+3 | -1.23450e+3 | 0.00000 | +| &xml | 1234.5 | -1234.5 | 0 | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | -------------------------------------------------------------- | +| numberFormat | string | Numbers (including a decimal point or minus sign if necessary) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Progress Indicators](progressIndicator.md) + + + + + + +--- +## Picture Format + +Picture formats control how pictures appear when displayed or printed. For data entry, the user always enters pictures by pasting them from the Clipboard or by drag and drop, regardless of the display format. + +The truncation and scaling options do not affect the picture itself. The contents of a Picture field are always saved. Only the display on the particular form is affected by the picture display format. + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Truncated (centered and non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Truncated (centered)** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. +> When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + +### Scaled to fit (proportional) and Scaled to fit centered (proportional) + +`JSON grammar: "proportionalTopLeft" / "proportionalCenter"` + +When you use **Scaled to fit (proportional)**, the picture is reduced proportionally on all sides to fit the area created for the picture. The **Scaled to fit centered (proportional)** option does the same, but centers the picture in the picture area. + +If the picture is smaller than the area set in the form, it will not be modified. If the picture is bigger than the area set in the form, it is proportionally reduced. Since it is proportionally reduced, the picture will not appear distorted. + +If you have applied the **Scaled to fit centered (proportional)** format, the picture is also centered in the area: + +![](assets/en/FormObjects/property_pictureFormat_ScaledProportional.png) + + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------------------------------------------------------------------- | +| pictureFormat | string | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft", "proportionalCenter" | + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + +--- +## Time Format + +Time formats control the way times appear when displayed or printed. For data entry, you enter times in the 24-hour HH:MM:SS format or the 12-hour HH:MM:SS AM/PM format, regardless of the display format you have chosen. +> Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for times must only be selected among the 4D built-in formats. + +The table below shows the Time field display formats and gives examples: + +| Format name | JSON string | Comments | Example for 04:30:25 | +| ---------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------- | +| HH:MM:SS | hh_mm_ss | | 04:30:25 | +| HH:MM | hh_mm | | 04:30 | +| Hour Min Sec | HH_MM_SS | | 4 hours 30 minutes 25 seconds | +| Hour Min | HH_MM | | 4 hours 30 minutes | +| HH:MM AM/PM | hh_mm_am | | 4:30 a.m. | +| MM SS | mm_ss | Time expressed as a duration from 00:00:00 | 270:25 | +| Min Sec | MM_SS | Time expressed as a duration from 00:00:00 | 270 Minutes 25 Seconds | +| ISO Date Time | iso8601 | Corresponds to the XML standard for representing time-related data. It is mainly intended to be used when importing/exporting data in XML format | 0000-00-00T04:30:25 | +| System time short | - (default) | Standard time format defined in the system | 04:30:25 | +| System time long abbreviated | systemMedium | macOS only: Abbreviated time format defined in the system.
    Windows: this format is the same as the System time short format | 4•30•25 AM | +| System time long | systemLong | macOS only: Long time format defined in the system.
    Windows: this format is the same as the System time short format | 4:30:25 AM HNEC | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timeFormat | string | "systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + +--- +## Text when False/Text when True + +When a [boolean expression](properties_Object.md#expression-type) is displayed as: +- a text in an [input object](input_overview.md) +- a ["popup"](properties_Display.md#display-type) in a [list box column](listbox_overview.md#list-box-columns), + +... you can select the text to display for each value: +- **Text when True** - the text to be displayed when the value is "true" +- **Text when False** - the text to be displayed when the value is "false" + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ------------------------------------------------------------------------ | +| booleanFormat | string | "\<*textWhenTrue*\>;\<*textWhenFalse*\>", e.g. "Assigned;Unassigned" | + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + +--- +## Display Type + +Used to associate a display format with the column data. The formats provided depends on the variable type (array type list box) or the data/field type (selection and collection type list boxes). + +Boolean and number (numeric or integer) columns can be displayed as check boxes. In this case, the [Title](#title) property can be defined. + +Boolean columns can also be displayed as pop-up menus. In this case, the [Text when False and Text when True](#text-when-false-text-when-true) properties must be defined. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| controlType | string |

  • **number columns**: "automatic" (default) or "checkbox"
  • **boolean columns**: "checkbox" (default) or "popup" | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Not rendered + +When this property is enabled, the object is not drawn on the form, however it can still be activated. + +In particular, this property allows implementing "invisible" buttons. Non-rendered buttons can be placed on top of graphic objects. They remain invisible and do not highlight when clicked, however their action is triggered when they are clicked. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | --------------- | +| display | boolean | true, false | + +#### Objects Supported + +[Button](button_overview.md) - [Drop-down List](dropdownList_Overview.md) + + + + + + + +--- +## Three-States + +Allows a check box object to accept a third state. The variable associated with the check box returns the value 2 when the check box is in the third state. + + +#### Three-states check boxes in list box columns + +List box columns with a numeric [data type](properties_Object.md#expression-type) can be displayed as three-states check boxes. If chosen, the following values are displayed: +* 0 = unchecked box, +* 1 = checked box, +* 2 (or any value >0) = semi-checked box (third state). For data entry, this state returns the value 2. +* -1 = invisible check box, +* -2 = unchecked box, not enterable, +* -3 = checked box, not enterable, +* -4 = semi-checked box, not enterable + +In this case as well, the [Title](#title) property is also available so that the title of the check box can be entered. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| threeState | boolean | true, false | + +#### Objects Supported + +[Check box](checkbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Title + +This property is available for a list box column if: +- the [column type](properties_Object.md#expression-type) is **boolean** and its [display type](properties_Display.md#display-type) is "Check Box" +- the [column type](properties_Object.md#expression-type) is **number** (numeric or integer) and its [display type](properties_Display.md#display-type) is "Three-states Checkbox". + +In that cases, the title of the check box can be entered using this property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ---------------------------------- | +| controlTitle | string | Any custom label for the check box | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Truncate with ellipsis + +Controls the display of values when list box columns are too narrow to show their full contents. + +This option is available for columns with any type of contents, except pictures and objects. + +* When the property is enabled (default), if the contents of a list box cell exceed the width of the column, they are truncated and an ellipsis is displayed: + + ![](assets/en/FormObjects/property_truncate1.png) +> The position of the ellipsis depends on the OS. In the above example (Windows), it is added on the right side of the text. On macOS, the ellipsis is added in the middle of the text. + +* When the property is disabled, if the contents of a cell exceed the width of the column, they are simply clipped with no ellipsis added: + + ![](assets/en/FormObjects/property_truncate2.png) + +The Truncate with ellipsis option is enabled by default and can be specified with list boxes of the Array, Selection, or Collection type. + + +> When applied to Text type columns, the Truncate with ellipsis option is available only if the [Wordwrap](#wordwrap) option is not selected. When the Wordwrap property is selected, extra contents in cells are handled through the word-wrapping features so the Truncate with ellipsis property is not available. + +The Truncate with ellipsis property can be applied to Boolean type columns; however, the result differs depending on the [cell format](#display-type): +- For Pop-up type Boolean formats, labels are truncated with an ellipsis, +- For Check box type Boolean formats, labels are always clipped. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ---------------------- | +| truncateMode | string | "withEllipsis", "none" | + + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-footers) + + + + + +--- +## Visibility + +This property allows hiding by default the object in the Application environment. + +You can handle the Visible property for most form objects. This property simplifies dynamic interface development. In this context, it is often necessary to hide objects programatically during the `On load` event of the form then to display certain objects afterwards. The Visible property allows inverting this logic by making certain objects invisible by default. The developer can then program their display using the `OBJECT SET VISIBLE` command depending on the context. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------- | +| visibility | string | "visible", "hidden" | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + + + + + +--- +## Wordwrap + +> For [input](input_overview.md) objects, available when the [Multiline](properties_Entry.md#multiline) property is set to "yes" . + +Manages the display of contents when it exceeds the width of the object. + +#### Checked for list box/Yes for input +`JSON grammar: "normal"` + +When this option is selected, text automatically wraps to the next line whenever its width exceeds that of the column/area, if the column/area height permits it. + +- In single-line columns/areas, only the last word that can be displayed entirely is displayed. 4D inserts line returns; it is possible to scroll the contents of the area by pressing the down arrow key. + +- In multiline columns/areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap2.png) + + +#### Unchecked for list box/No for input +`JSON grammar: "none"` + +When this option is selected, 4D does not do any automatic line returns and the last word that can be displayed may be truncated. In text type areas, carriage returns are supported: + +![](assets/en/FormObjects/wordwrap3.png) + +In list boxes, any text that is too long is truncated and displayed with an ellipse (...). In the following example, the Wordwrap option is **checked for the left column** and **unchecked for the right column**: + +![](assets/en/FormObjects/property_wordwrap1.png) + +Note that regardless of the Wordwrap option’s value, the row height is not changed. If the text with line breaks cannot be entirely displayed in the column, it is truncated (without an ellipse). In the case of list boxes displaying just a single row, only the first line of text is displayed: + +![](assets/en/FormObjects/property_wordwrap2.png) + + +#### Automatic for input (default option) +`JSON grammar: "automatic"` + +- In single-line areas, words located at the end of lines are truncated and there are no line returns. +- In multiline areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap1.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | -------------------------------------------------- | +| wordwrap | string | "automatic" (excluding list box), "normal", "none" | + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + diff --git a/website/translated_docs/ja/FormObjects/properties_Entry.md b/website/translated_docs/ja/FormObjects/properties_Entry.md new file mode 100644 index 00000000000000..786e2a8dd6cfd8 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Entry.md @@ -0,0 +1,339 @@ +--- +id: propertiesEntry +0: title:Entry +--- + +--- +## Auto Spellcheck + +4D includes an integrated and customizable spell-check utility. Text type [inputs](input_overview.md) can be checked, as well as [4D Write Pro](writeProArea_overview.md) documents. + +The Auto Spellcheck property activates the spell-check for each object. When used, a spell-check is automatically performed during data entry. You can also execute the `SPELL CHECKING` 4D language command for each object to be checked. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| spellcheck | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Input](input_overview.md) + + +--- +## Context Menu + +Allows the user access to a standard context menu in the object when the form is executed. + +For a picture type [input](input_overview.md), in addition to standard editing commands (Cut, Copy, Paste and Clear), the menu contains the **Import...** command, which can be used to import a picture stored in a file, as well as the **Save as...** command, which can be used to save the picture to disk. The menu can also be used to modify the display format of the picture: the **Truncated non-centered**, **Scaled to fit** and **Scaled to fit centered prop.** options are provided. The modification of the [display format](properties_Display#picture-format) using this menu is temporary; it is not saved with the record. + +For a [multi-style](properties_Text.md#multi-style) text type [input](input_overview.md), in addition to standard editing commands, the context menu provides the following commands: +- **Fonts...**: displays the font system dialog box +- **Recent fonts**: displays the names of recent fonts selected during the session. The list can store up to 10 fonts (beyond that, the last font used replaces the oldest). By default, this list is empty and the option is not displayed. You can manage this list using the `SET RECENT FONTS` and `FONT LIST` commands. +- commands for supported style modifications: font, size, style, color and background color. When the user modifies a style attribute via this pop-up menu, 4D generates the `On After Edit` form event. + +For a [Web Area](webArea_overview.md), the contents of the menu depend of the rendering engine of the platform. It is possible to control access to the context menu via the [`WA SET PREFERENCE`](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ------------------------------------- | +| contextMenu | string | "automatic" (used if missing), "none" | + +#### Objects Supported + +[Input](input_overview.md) - [Web Area](webArea_overview.md) - [4D Write Pro areas](writeProArea_overview.md) + + + + + + +--- +## Enterable + +The Enterable attribute indicates whether users can enter values into the object. + +Objects are enterable by default. If you want to make a field or an object non-enterable for that form, you can disable the Enterable property for the object. A non-enterable object only displays data. You control the data by methods that use the field or variable name. You can still use the `On Clicked`, `On Double Clicked`, `On Drag Over`, `On Drop`, `On Getting Focus` and `On Losing Focus` form events with non-enterable objects. This makes it easier to manage custom context menus and lets you design interfaces where you can drag-and-drop and select non-enterable variables. + +When this property is disabled, any pop-up menus associated with a list box column via a list are disabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| enterable | boolean | true, false | + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Progress Bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + +--- +## Entry Filter + +An entry filter controls exactly what the user can type during data entry. Unlike [required lists](properties_RangeOfValues.md#required-list) for example, entry filters operate on a character-by-character basis. For example, if a part number always consists of two letters followed by three digits, you can use an entry filter to restrict the user to that pattern. You can even control the particular letters and numbers. + +An entry filter operates only during data entry. It has no effect on data display after the user deselects the object. In general, you use entry filters and [display formats](properties_Display.md) together. The filter constrains data entry and the format ensures proper display of the value after data entry. + +During data entry, an entry filter evaluates each character as it is typed. If the user attempts to type an invalid character (a number instead of a letter, for example), 4D simply does not accept it. The null character remains unchanged until the user types a valid character. + +Entry filters can also be used to display required formatting characters so that the user need not enter them. For example, an American telephone number consists of a three-digit area code, followed by a seven-digit number that is broken up into two groups of three and four digits, respectively. A display format can be used to enclose the area code in parentheses and display a dash after the third digit of the telephone number. When such a format is used, the user does not need to enter the parentheses or the dashes. + +### Defining an entry filter + +Most of the time, you can use one of the [built-in filters](#default-entry-filters) of 4D for what you need; however, you can also create and use custom filters: + +- you can directly enter a filter definition string +- or you can enter the name of an entry filter created in the Filters editor in the Toolbox. The names of custom filters you create begin with a vertical bar (|). + +For information about creating entry filters, see [Filter and format codes](https://doc.4d.com/4Dv18/4D/18/Filter-and-format-codes.300-4575706.en.html). + + +### Default entry filters + +Here is a table that explains each of the entry filter choices in the Entry Filter drop-down list: + +| Entry Filter | Description | +| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| ~A | Allow any letters, but convert to uppercase. | +| &9 | Allow only numbers. | +| &A | Allow only capital letters. | +| &a | Allow only letters (uppercase and lowercase). | +| &@ | Allow only alphanumeric characters. No special characters. | +| ~a## | State name abbreviation (e.g., CA). Allow any two letters, but convert to uppercase. | +| !0&9##/##/## | Standard date entry format. Display zeros in entry spaces. Allow any numbers. | +| !0&9 Day: ## Month: ## Year: ## | Custom date entry format. Display zeros in entry spaces. Allow any numbers. Two entries after each word. | +| !0&9##:## | Time entry format. Limited to hours and minutes. Display zeros in entry spaces. Allow any four numbers, separated by a colon. | +| !0&9## Hrs ## Mins ## Secs | Time entry format. Display zeros in entry spaces. Allow any two numbers before each word. | +| !0&9Hrs: ## Mins: ## Secs: ## | Time entry format. Display zeros in entry spaces. Allow any two numbers after each word. | +| !0&9##-##-##-## | Local telephone number format. Display zeros in entry spaces. Allow any number. Three entries, hyphen, four entries. | +| !_&9(###)!0###-#### | Long distance telephone number. Display underscores in first three entry spaces, zeros in remainder. | +| !0&9###-###-### | Long distance telephone number. Display zeros in entry spaces. Allow any number. Three entries, hyphen, three entries, hyphen, four entries. | +| !0&9###-##-### | Social Security number. Display zeros in entry spaces. Allow any numbers. | +| ~"A-Z;0-9; ;,;.;-" | Uppercase letters and punctuation. Allow only capital letters, numbers, spaces, commas, periods, and hyphens. | +| &"a-z;0-9; ;,;.;-" | Upper and lowercase letters and punctuation. Allow lowercase letters, numbers, spaces, commas, periods, and hyphens. | +| &"0-9;.;-" | Numbers. Allow only numbers, decimal points, and hyphens (minus sign). | + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ---------------------------------------------------------------------------------------------------------------------------- | +| entryFilter | string |
  • Entry filter code or
  • Entry filter name (filter names start with | ) | + + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + + +--- +## Focusable + +When the **Focusable** property is enabled for an object, the object can have the focus (and can thus be activated by the keyboard for instance). It is outlined by a gray dotted line when it is selected — except when the [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) option has also been selected. + +> An [input object](input_overview.md) is always focusable if it has the [Enterable](#enterable) property. + +* ![](assets/en/FormObjects/property_focusable1.png)
    Check box shows focus when selected

    + +* ![](assets/en/FormObjects/property_focusable2.png)
    Check box is selected but cannot show focus| + + +When the **Focusable** property is selected for a non-enterable object, the user can select, copy or even drag-and-drop the contents of the area. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| focusable | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) + + + + +--- +## Keyboard Layout + +This property associates a specific keyboard layout to an [input object](input_overview.md). For example, in an international application, if a form contains a field whose contents must be entered in Greek characters, you can associate the "Greek" keyboard layout with this field. This way, during data entry, the keyboard configuration is automatically changed when this field has the focus. + +By default, the object uses the current keyboard layout. + +> You can also set and get the keyboard dynamically using the `OBJECT SET KEYBOARD LAYOUT` and `OBJECT Get keyboard layout` commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------------------------------------------------------------- | +| keyboardDialect | text | Language code, for example "ar-ma" or "cs". See RFC3066, ISO639 and ISO3166 | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Multiline + +This property is available for [inputs objects](input_overview.md) containing expressions of the Text type and fields of the Alpha and Text type. It can have three different values: Yes, No, Automatic (default). + +#### Automatic +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- In multiline inputs, 4D carries out automatic line returns: ![](assets/en/FormObjects/multilineAuto.png) + +#### No +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- There are never line returns: the text is always displayed on a single row. If the Alpha or Text field or variable contains carriage returns, the text located after the first carriage return is removed as soon as the area is modified: ![](assets/en/FormObjects/multilineNo.png) + +#### Yes +When this value is selected, the property is managed by the [Wordwrap](properties_Display.md#wordwrap) option. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------------------------- | +| multiline | text | "yes", "no", "automatic" (default if not defined) | + + +#### Objects Supported + +[Input](input_overview.md) + + + +--- +## Placeholder + +4D can display placeholder text in the fields of your forms. + +Placeholder text appears as watermark text in a field, supplying a help tip, indication or example for the data to be entered. This text disappears as soon as the user enters a character in the area: + +![](assets/en/FormObjects/property_placeholder.png) + +The placeholder text is displayed again if the contents of the field is erased. + +A placeholder can be displayed for the following types of data: + +- string (text or alpha) +- date and time when the **Blank if null** property is enabled. + +You can use an XLIFF reference in the ":xliff:resname" form as a placeholder, for example: + + :xliff:PH_Lastname + +You only pass the reference in the "Placeholder" field; it is not possible to combine a reference with static text. +> You can also set and get the placeholder text by programming using the [OBJECT SET PLACEHOLDER](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-PLACEHOLDER.301-4128243.en.html) and [OBJECT Get placeholder](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-Get-placeholder.301-4128249.en.html) commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ---------------------------------------------------------------------------- | +| placeholder | string | Text to be displayed (grayed out) when the object does not contain any value | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Input](input_overview.md) + + +#### See also + +[Help tip](properties_Help.md) + + + +--- +## Selection always visible + +This property keeps the selection visible within the object after it has lost the focus. This makes it easier to implement interfaces that allow the text style to be modified (see [Multi-style](properties_Text.md#multi-style)). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| showSelection | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Shortcut + +This property allows setting special meaning keys (keyboard shortcuts) for [buttons](button_overview.md), [radio buttons](radio_overview.md), and [checkboxes](checkbox_overview.md). They allow the user to use the control using the keyboard instead of having to use the mouse. + +You can configure this option by clicking the [...] button in the Shortcuts property in the Property List. + + +![](assets/en/FormObjects/property_shortcut.png) +> You can also assign a shortcut to a custom menu command. If there is a conflict between two shortcuts, the active object has priority. For more information about associating shortcuts with menus, refer to [Setting menu properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Setting-menu-properties.300-4163525.en.html). + +To view a list of all the shortcuts used in the 4D Design environment, see the [Shortcuts Page](https://doc.4d.com/4Dv17R5/4D/17-R5/Shortcuts-Page.300-4163701.en.html) in the Preferences dialog box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| shortcutAccel | boolean | true, false (Ctrl Windows/Command macOS) | +| shortcutAlt | boolean | true, false | +| shortcutCommand | boolean | true, false | +| shortcutControl | boolean | true, false (macOS Control) | +| shortcutShift | boolean | true, false | +| | | | +| shortcutKey | string |

  • any character key: "a", "b"...
  • [F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Radio Button](radio_overview.md) + + + + + +--- +## Single-Click Edit + +Enables direct passage to edit mode in list boxes. + +When this option is enabled, list box cells switch to edit mode after a single user click, regardless of whether or not this area of the list box was selected beforehand. Note that this option allows cells to be edited even when the list box [selection mode](properties_ListBox.md#selection-mode) is set to "None". + +When this option is not enabled, users must first select the cell row and then click on a cell in order to edit its contents. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------- | +| singleClickEdit | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + diff --git a/website/translated_docs/ja/FormObjects/properties_Footers.md b/website/translated_docs/ja/FormObjects/properties_Footers.md new file mode 100644 index 00000000000000..b9de67269ca9b2 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Footers.md @@ -0,0 +1,70 @@ +--- +id: propertiesFooters +title: Footers +--- + +--- +## Display Footers + +This property is used to display or hide [list box column footers](listbox_overview.md#list-box-footers). There is one footer per column; each footer is configured separately. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| showFooters | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box footer in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. +> This property can also be set dynamically using the [LISTBOX SET FOOTERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/List-box-footer-specific-properties.300-4354808.en.html) command. + + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels *(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showFooters": true, + "footerHeight": "44px", + ... + } +``` + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ----------------------------- | +| footerHeight | string | positive decimal+px | em | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Headers](properties_Headers.md) - [List box footers](listbox_overview.md#list-box-footers) \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/properties_Gridlines.md b/website/translated_docs/ja/FormObjects/properties_Gridlines.md new file mode 100644 index 00000000000000..ffbcdaa2a01f39 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Gridlines.md @@ -0,0 +1,37 @@ +--- +id: propertiesGridlines +title: Gridlines +--- + +--- +## Horizontal Line Color + +Defines the color of the horizontal lines in a list box (gray by default). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | ------------------------------------------ | +| horizontalLineStroke | color | any css value, "'transparent", "automatic" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Vertical Line Color + +Defines the color of the vertical lines in a list box (gray by default). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | ------------------------------------------ | +| verticalLineStroke | color | any css value, "'transparent", "automatic" | + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/properties_Headers.md b/website/translated_docs/ja/FormObjects/properties_Headers.md new file mode 100644 index 00000000000000..8949ac077f9a09 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Headers.md @@ -0,0 +1,69 @@ +--- +id: propertiesHeaders +title: Headers +--- + +--- +## Display Headers + +This property is used to display or hide [list box column headers](listbox_overview.md#list-box-headers). There is one header per column; each header is configured separately. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| showHeaders | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box header in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. +> This property can also be set dynamically using the [LISTBOX SET HEADERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-SET-HEADERS-HEIGHT.301-4311129.en.html) command. + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels *(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showHeaders": true, + "headerHeight": "22px", + ... + } +``` + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ------------------------------- | +| headerHeight | string | positive decimal+px | em ) | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Footers](properties_Footers.md) - [List box headers](listbox_overview.md#list-box-headers) \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/properties_Help.md b/website/translated_docs/ja/FormObjects/properties_Help.md new file mode 100644 index 00000000000000..d573c0bd16093f --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Help.md @@ -0,0 +1,53 @@ +--- +id: propertiesHelp +0: title:Help +--- + +--- +## Help Tip + +This property allows associating help messages with active objects in your forms. They can be displayed at runtime: + +![](assets/en/FormObjects/property_helpTip.png) + +> - The display delay and maximum duration of help tips can be controlled using the `Tips delay` and `Tips duration` selectors of the **[SET DATABASE PARAMETER](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html)** command. +> - Help tips can be globally disabled or enabled for the application using the Tips enabled selector of the [**SET DATABASE PARAMETER**](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html) command. + +You can either: + +- designate an existing help tip, previously specified in the [Help tips](https://doc.4d.com/4Dv17R5/4D/17-R5/Help-tips.200-4163423.en.html) editor of 4D. +- or enter the help message directly as a string. This allows you to take advantage of XLIFF architecture. You can enter an XLIFF reference here in order to display a message in the application language (for more information about XLIFF, refer to [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html). You can also use 4D references ([see Using references in static text](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-references-in-static-text.300-4163725.en.html)). +> In macOS, displaying help tips is not supported in pop-up type windows. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------:|:---------:| ------------------------------------- | +| tooltip | text | additional information to help a user | + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md#overview) - [Hierarchical List](list_overview.md#overview) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up menu](picturePopupMenu_overview.md) - [Radio Button](radio_overview.md) + + +#### Other help features + +You can also associate help messages with form objects in two other ways: + +- at the level of the database structure (fields only). In this case, the help tip of the field is displayed in every form where it appears. For more information, refer to “Help Tips” in [Field properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Field-properties.300-4163580.en.html). +- using the **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command, for the current process. + +When different tips are associated with the same object in several locations, the following priority order is applied: + +1. structure level (lowest priority) +2. form editor level +3. **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command (highest priority) + + +#### See also + +[Placeholder](properties_Entry.md#placeholder) + + + diff --git a/website/translated_docs/ja/FormObjects/properties_Hierarchy.md b/website/translated_docs/ja/FormObjects/properties_Hierarchy.md new file mode 100644 index 00000000000000..a87c6c4f1ffffd --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Hierarchy.md @@ -0,0 +1,26 @@ +--- +id: propertiesHierarchy +title: Hierarchy +--- + +--- +## Hierarchical List Box +`Array type list boxes` + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +See [Hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes) + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ------------ | ------------------------------------------------ | +| datasource | string array | Collection of array names defining the hierarchy | + +#### Objects Supported + +[List Box](listbox_overview.md) diff --git a/website/translated_docs/ja/FormObjects/properties_ListBox.md b/website/translated_docs/ja/FormObjects/properties_ListBox.md new file mode 100644 index 00000000000000..4b6f62a59e161b --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_ListBox.md @@ -0,0 +1,248 @@ +--- +id: propertiesListBox +title: List Box +--- + +--- +## Columns + +Collection of columns of the list box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | ---------------------------- | ------------------------------------------------ | +| columns | collection of column objects | Contains the properties for the list box columns | + +For a list of properties supported by column objects, please refer to the [Column Specific Properties](listbox_overview#column-specific-properties) section. + +#### Objects Supported + +[List Box](listbox_overview.md) + +--- +## Detail Form Name +`Selection type list box` + +Specifies the form to use for modifying or displaying individual records of the list box. + +The specified form is displayed: + +* when using `Add Subrecord` and `Edit Subrecord` standard actions applied to the list box (see [Using standard actions](https://doc.4d.com/4Dv17R6/4D/17-R6/Using-standard-actions.300-4354811.en.html)), +* when a row is double-clicked and the [Double-click on Row](#double-click-on-row) property is set to "Edit Record" or "Display Record". + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| detailForm | string |
  • Name (string) of table or project form
  • POSIX path (string) to a .json file describing the form
  • Object describing the form | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Double-click on row +`Selection type list box` + +Sets the action to be performed when a user double-clicks on a row in the list box. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the detail form defined [for the list box](#detail-form-name). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. +> Double-clicking an empty row is ignored in list boxes. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | ----------------------------------- | +| doubleClickInRowAction | string | "editSubrecord", "displaySubrecord" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Highlight Set + +`Selection type list box` + +This property is used to specify the set to be used to manage highlighted records in the list box (when the **Arrays** data source is selected, a Boolean array with the same name as the list box is used). + +4D creates a default set named *ListBoxSetN* where *N* starts at 0 and is incremented according to the number of list boxes in the form. If necessary, you can modify the default set. It can be a local, process or interprocess set (we recommend using a local set, for example *$LBSet*, in order to limit network traffic). It is then maintained automatically by 4D. If the user selects one or more rows in the list box, the set is updated immediately. If you want to select one or more rows by programming, you can apply the commands of the “Sets” theme to this set. +> * The highlighted status of the list box rows and the highlighted status of the table records are completely independent. +> * If the “Highlight Set” property does not contain a name, it will not be possible to make selections in the list box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| highlightSet | string | Name of the set | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Locked columns and static columns + +Locked columns and static columns are two separate and independent functionalities in list boxes: + +* Locked columns always stay displayed to the left of the list box; they do not scroll horizontally. +* Static columns cannot be moved by drag and drop within the list box. +> You can set static and locked columns by programming, refer to [List Box](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box.201-4310263.en.html) in the [4D Language Reference](https://doc.4d.com/4Dv17R6/4D/17-R6/4D-Language-Reference.100-4310216.en.html) manual. + +These properties interact as follows: + +* If you set columns that are only static, they cannot be moved. + +* If you set columns that are locked but not static, you can still change their position freely within the locked area. However, a locked column cannot be moved outside of this locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns1.png) + +* If you set all of the columns in the locked area as static, you cannot move these columns within the locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns2.png) + +* You can set a combination of locked and static columns according to your needs. For example, if you set three locked columns and one static column, the user can swap the two right-most columns within the locked area (since only the first column is static). + +### Number of Locked Columns + +Number of columns that must stay permanently displayed in the left part of the list box, even when the user scrolls through the columns horizontally. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | --------------- | +| lockedColumnCount | integer | minimum: 0 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +### Number of Static Columns + +Number of columns that cannot be moved during execution. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | --------------- | +| staticColumnCount | integer | minimum: 0 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Number of Columns + +Sets the number of columns of the list box. +> You can add or remove columns dynamically by programming, using commands such as [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-INSERT-COLUMN.301-4505224.en.html) or [LISTBOX DELETE COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-DELETE-COLUMN.301-4505185.en.html). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| columnCount | integer | minimum: 1 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Row Control Array + +`Array type list box` + +A 4D array controlling the display of list box rows. + +You can set the "hidden", "disabled" and "selectable" interface properties for each row in an array-based list box using this array. It can also be designated using the `LISTBOX SET ARRAY` command. + +The row control array must be of the Longint type and include the same number of rows as the list box. Each element of the *Row Control Array* defines the interface status of its corresponding row in the list box. Three interface properties are available using constants in the "List Box" constant theme: + +| Constant | Value | Comment | +| ------------------------ | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| lk row is disabled | 2 | The corresponding row is disabled. The text and controls such as check boxes are dimmed or grayed out. Enterable text input areas are no longer enterable. Default value: Enabled | +| lk row is hidden | 1 | The corresponding row is hidden. Hiding rows only affects the display of the list box. The hidden rows are still present in the arrays and can be managed by programming. The language commands, more particularly `LISTBOX Get number of rows` or `LISTBOX GET CELL POSITION`, do not take the displayed/hidden status of rows into account. For example, in a list box with 10 rows where the first 9 rows are hidden, `LISTBOX Get number of rows` returns 10. From the user’s point of view, the presence of hidden rows in a list box is not visibly discernible. Only visible rows can be selected (for example using the Select All command). Default value: Visible | +| lk row is not selectable | 4 | The corresponding row is not selectable (highlighting is not possible). Enterable text input areas are no longer enterable unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. Controls such as check boxes and lists are still functional however. This setting is ignored if the list box selection mode is "None". Default value: Selectable | + +To change the status for a row, you just need to set the appropriate constant(s) to the corresponding array element. For example, if you do not want row #10 to be selectable, you can write: + +```code4d + aLControlArr{10}:=lk row is not selectable +``` + +![](assets/en/FormObjects/listbox_styles5.png) + +You can define several interface properties at once: + +```code4d + aLControlArr{8}:=lk row is not selectable + lk row is disabled +``` + +![](assets/en/FormObjects/listbox_styles6.png) + +Note that setting properties for an element overrides any other values for this element (if not reset). For example: + +```code4d + aLControlArr{6}:=lk row is disabled + lk row is not selectable + //sets row 6 as disabled AND not selectable + aLControlArr{6}:=lk row is disabled + //sets row 6 as disabled but selectable again +``` + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------- | --------- | ---------------------- | +| rowControlSource | string | Row control array name | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | string | "multiple", "single", "none" | + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/properties_Object.md b/website/translated_docs/ja/FormObjects/properties_Object.md new file mode 100644 index 00000000000000..6a9786b1a3908c --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Object.md @@ -0,0 +1,334 @@ +--- +id: propertiesObject +0: title:Objects +--- + +--- +## Type + + `MANDATORY SETTING` + +This property designates the type of the [active or inactive form object](formObjects_overview.md). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| type | string | "button", "buttonGrid", "checkbox", "combo", "dropdown", "groupBox", "input", "line", "list", "listbox", "oval", "picture", "pictureButton", "picturePopup", "plugin", "progress", "radio", "rectangle", "ruler", "spinner", "splitter", "stepper", "subform", "tab", "text", "view", "webArea", "write" | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) -[Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + +--- +## Object Name + +Each active form object is associated with an object name. Each object name must be unique. +> Object names are limited to a size of 255 bytes. + +When using 4D’s language, you can refer to an active form object by its object name (for more information about this, refer to [Object Properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Object-Properties.300-4128195.en.html) in the 4D Language Reference manual). + +For more information about naming rules for form objects, refer to [Identifiers](Concepts/identifiers.md) section. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------------------------------- | +| name | string | Any allowed name which does not belong to an already existing object | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + + +--- +## Variable or Expression + +> See also **[Expression](properties_DataSource#expression)** for Selection and collection type list box columns. + + +This property specifies the source of the data. Each active form object is associated with an object name and a variable name. The variable name can be different from the object’s name. In the same form, you can use the same variable several times while each [object name](#object-name) must be unique. +> Variable name size is limited to 31 bytes. See [Identifiers](Concepts/identifiers.md) section for more information about naming rules. + +The form object variables allow you to control and monitor the objects. For example, when a button is clicked, its variable is set to 1; at all other times, it is 0. The expression associated with a progress indicator lets you read and change the current setting. + +Variables or expressions can be enterable or non-enterable and can receive data of the Text, Integer, Numeric, Date, Time, Picture, Boolean, or Object type. + +### Expressions + +You can use an expression as data source for an object. Any valid 4D expression is allowed: simple expression, formula, 4D function, project method name or field using the standard `[Table]Field` syntax. The expression is evaluated when the form is executed and reevaluated for each form event. Note that expressions can be [assignable or non-assignable](Concepts/quick-tour.md#expressions). +> If the value entered corresponds to both a variable name and a method name, 4D considers that you are indicating the method. + + + +### Dynamic variables + +You can leave it up to 4D to create variables associated with your form objects (buttons, enterable variables, check boxes, etc.) dynamically and according to your needs. To do this, simply leave the "Variable or Expression" property (or `dataSource` JSON field) blank. + +When a variable is not named, when the form is loaded, 4D creates a new variable for the object, with a calculated name that is unique in the space of the process variables of the interpreter (which means that this mechanism can be used even in compiled mode). This temporary variable will be destroyed when the form is closed. In order for this principle to work in compiled mode, it is imperative that dynamic variables are explicitly typed. There are two ways to do this: + +- You can set the type using the [Expression type](#expression-type) property. +- You can use a specific initialization code when the form is loaded that uses, for example, the `VARIABLE TO VARIABLE` command: + +```code4d + If(Form event=On Load) + C_TEXT($init) + $Ptr_object:=OBJECT Get pointer(Object named;"comments") + $init:="" + VARIABLE TO VARIABLE(Current process;$Ptr_object->;$init) + End if +``` + +In the 4D code, dynamic variables can be accessed using a pointer obtained with the `OBJECT Get pointer` command. For example: + +```code4d + // assign the time 12:00:00 to the variable for the "tstart" object + $p :=OBJECT Get pointer(Object named;"tstart") + $p->:=?12:00:00? +``` + +There are two advantages with this mechanism: + +- On the one hand, it allows the development of "subform" type components that can be used several times in the same host form. Let us take as an example the case of a datepicker subform that is inserted twice in a host form to set a start date and an end date. This subform will use objects for choosing the date of the month and the year. It will be necessary for these objects to work with different variables for the start date and the end date. Letting 4D create their variable with a unique name is a way of resolving this difficulty. +- On the other hand, it can be used to limit memory usage. In fact, form objects only work with process or inter-process variables. However, in compiled mode, an instance of each process variable is created in all the processes, including the server processes. This instance takes up memory, even when the form is not used during the session. Therefore, letting 4D create variables dynamically when loading the forms can save memory. + + +### Hierarchical List Box + +Using a string array (collection of arrays names) as *dataSource* value for a list box column defines a [hierarchical list box](listbox_overview.md#hierarchical-list-boxes). + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dataSource | string, or string array |
  • 4D variable, field name, or arbitrary complex language expression.
  • Empty string for [dynamic variables](#dynamic-variables).
  • String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column] | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Tab control](tabControl.md) - [Subform](subform_overview.md#overview) - [Radio Button](radio_overview.md) + + + + + +--- +## Expression Type + +> This property is called **Data Type** in the Property List for Selection and collection type list box columns. + + +Specify the data type for the expression or variable associated to the object. Note that main purpose of this setting is to configure options (such as display formats) available for the data type. It does not actually type the variable itself. In view of database compilation, you must use the 4D language commands of the `Compiler` theme. + +However, this property has a typing function in the following specific cases: + +- **[Dynamic variables](#dynamic-variables)**: you can use this property to declare the type of dynamic variables. +- **[List Box Columns](listbox_overview.md#list-box-columns)**: this property is used to associate a display format with the column data. The formats provided will depend on the variable type (array type list box) or the data/field type (selection and collection type list boxes). The standard 4D formats that can be used are: Alpha, Numeric, Date, Time, Picture and Boolean. The Text type does not have specific display formats. Any existing custom formats are also available. +- **[Picture variables](input_overview.md)**: you can use this menu to declare the variables before loading the form in interpreted mode. Specific native mechanisms govern the display of picture variables in forms. These mechanisms require greater precision when configuring variables: from now on, they must have already been declared before loading the form — i.e., even before the `On Load` form event — unlike other types of variables. To do this, you need either for the statement `C_PICTURE(varName)` to have been executed before loading the form (typically, in the method calling the `DIALOG` command), or for the variable to have been typed at the form level using the expression type property. Otherwise, the picture variable will not be displayed correctly (only in interpreted mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dataSourceTypeHint | string |
  • **standard objects:** "integer", "boolean", "number", "picture", "text", date", "time", "arrayText", "arrayDate", "arrayTime", "arrayNumber", "collection", "object", "undefined"
  • **list box columns:** "boolean", "number", "picture", "text", date" (*array/selection list box only*) "integer", "time", "object" | + +#### Objects Supported + +[Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab Control](tabControl.md) + + +--- +## CSS Class + +A list of space-separated words used as class selectors in css files. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------------------------------------------------- | +| class | string | One string with CSS name(s) separated by space characters | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Radio Button](radio_overview.md) - [Static Picture](staticPicture.md) - [Subform](subform_overview.md#overview) - [Web Area](webArea_overview.md#overview) + + + +--- +## Collection or entity selection + +To use collection elements or entities to define the row contents of the list box. + +Enter an expression that returns either a collection or an entity selection. Usually, you will enter the name of a variable, a collection element or a property that contain a collection or an entity selection. + +The collection or the entity selection must be available to the form when it is loaded. Each element of the collection or each entity of the entity selection will be associated to a list box row and will be available as an object through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command: + +* if you used a collection of objects, you can call **This** in the datasource expression to access each property value, for example **This.\**. +* if you used an entity selection, you can call **This** in the datasource expression to access each attribute value, for example **This.\**. +> If you used a collection of scalar values (and not objects), 4D allows you to display each value by calling **This.value** in the datasource expression. However in this case you will not be able to modify values or to access the current ite object (see below) Note: For information about entity selections, please refer to the [ORDA](https://doc.4d.com/4Dv17R6/4D/17-R6/ORDA.200-4354624.en.html) chapter. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------------------ | +| dataSource | string | Expression that returns a collection or an entity selection. | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Data Source + +Specify the type of list box. + +![](assets/en/FormObjects/listbox_dataSource.png) + +- **Arrays**(default): use array elements as the rows of the list box. +- **Current Selection**: use expressions, fields or methods whose values will be evaluated for each record of the current selection of a table. +- **Named Selection**: use expressions, fields or methods whose values will be evaluated for each record of a named selection. +- **Collection or Entity Selection**: use collection elements or entities to define the row contents of the list box. Note that with this list box type, you need to define the [Collection or Entity Selection](properties_Object.md#collection-or-entity-selection) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------- | +| listboxType | string | "array", "currentSelection", "namedSelection", "collection" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Plug-in Kind + +Name of the [plug-in external area](pluginArea_overview.md) associated to the object. Plug-in external area names are published in the manifest.json file of the plug-in. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | ------------------------------------------------------------- | +| pluginAreaKind | string | Name of the plug-in external area (starts with a % character) | + + +#### Objects Supported +[プラグインエリア](pluginArea_overview.md) + + + +--- + +## Radio Group + +Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ---------------- | +| radioGroup | string | Radio group name | + + +#### Objects Supported + +[ラジオボタン](radio_overview.md) + + + +--- + +## Title + +Allows inserting a label on an object. The font and the style of this label can be specified. + +You can force a carriage return in the label by using the \ character (backslash). + +![](assets/en/FormObjects/property_title.png) + +To insert a \ in the label, enter "\\". + +By default, the label is placed in the center of the object. When the object also contains an icon, you can modify the relative location of these two elements using the [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) property. + +For database translation purposes, you can enter an XLIFF reference in the title area of a button (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| text | string | any text | + +#### Objects Supported + +[Button](button_overview.md) (*Regular, Flat, Toolbar, Bevel, Rounded Bevel, OS X Gradient Button, OS X Textured Button, Office XP, Circle, Custom*) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) + + + + + + + +--- +## Variable Calculation + +This property sets the type of calculation to be done in a [column footer](listbox_overview.md#list-box-footers) area. +> The calculation for footers can also be set using the `LISTBOX SET FOOTER CALCULATION` 4D command. + +There are several types of calculations available. The following table shows which calculations can be used according to the type of data found in each column and indicates the type automatically affected by 4D to the footer variable (if it is not typed by the code): + +| Calculation | Num | Text | Date | Time | Bool | Pict | footer var type | +| --------------------- | --- | ---- | ---- | ---- | ---- | ---- | ------------------- | +| Minimum | X | | X | X | X | | Same as column type | +| Maximum | X | | X | X | X | | Same as column type | +| Sum | X | | X | | X | | Same as column type | +| Count | X | X | X | X | X | X | Longint | +| Average | X | | | X | | | Real | +| Standard deviation(*) | X | | | X | | | Real | +| Variance(*) | X | | | X | | | Real | +| Sum squares(*) | X | | | X | | | Real | +| Custom ("none") | X | X | X | X | X | X | Any | + +(*) Only for array type list boxes. + +When an automatic calculation is set, it is applied to all the values found in the list box column. Note that the calculation does not take the shown/hidden state of list box rows into account. If you want to restrict a calculation to only visible rows, you must use a custom calculation. + +When **Custom** ("none" in JSON) is set, no automatic calculations are performed by 4D and you must assign the value of the variable in this area by programming. +> Automatic calculations are not supported with: * footers of columns based on formulas, * footers of [Collection and Entity selection](listbox_overview.md#collection-or-entity-selection-list-boxes) list boxes. You need to use custom calculations. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | ----------------------------------------------------------------------------------------------------- | +| variableCalculation | string | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" | + +#### Objects Supported + +[List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + diff --git a/website/translated_docs/ja/FormObjects/properties_Picture.md b/website/translated_docs/ja/FormObjects/properties_Picture.md new file mode 100644 index 00000000000000..d99fd0373cd3dd --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Picture.md @@ -0,0 +1,73 @@ +--- +id: propertiesPicture +0: title:Picture +--- + +--- +## Pathname + +Pathname of a static source picture for a [picture button](pictureButton_overview.md), [picture pop-up Menu](picturePopupMenu_overview.md), or [static picture](staticPicture.md). You must use the POSIX syntax. + +Two main locations can be used for static picture path: + +- in the **Resources** folder of the project database. Appropriate when you want to share static pictures between several forms in the database. In this case, the Pathname is "/RESOURCES/\". +- in an image folder (e.g. named **Images**) within the form folder. Appropriate when the static pictures are used only in the form and/or you want to be able to move or duplicate the whole form within the project or different projects. In this case, the Pathname is "\" and is resolved from the root of the form folder. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------:|:---------:| ------------------------------------------- | +| picture | text | Relative or filesystem path in POSIX syntax | + + +#### Objects Supported + +[Picture button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Static Picture](staticPicture.md) + + +--- +## Display + + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + + + +### Center / Truncated (non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Center** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. +> When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | -------------------------------------------------------- | +| pictureFormat | string | "scaled", "tiled", "truncatedCenter", "truncatedTopLeft" | + +#### Objects Supported + +[Static Picture](staticPicture.md) \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/properties_Plugins.md b/website/translated_docs/ja/FormObjects/properties_Plugins.md new file mode 100644 index 00000000000000..9bd44062b6e013 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Plugins.md @@ -0,0 +1,25 @@ +--- +id: propertiesPlugIns +0: title:Plug-ins +--- + +--- +## Advanced Properties + +If advanced options are provided by the author of the plug-in, an **Advanced Properties** button may be enabled in the Property list. In this case, you can click this button to set these options, usually through a custom dialog box. + +Because the Advanced properties feature is under the control of the author of the plug-in, information about these Advanced options is the responsibility of the distributor of the plug-in. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------- | +| customProperties | text | object | Plugin specific properties, passed to plugin as a JSON string if an object, or as a binary buffer if a base64 encoded string | + + +#### Objects Supported + +[プラグインエリア](pluginArea_overview.md) + diff --git a/website/translated_docs/ja/FormObjects/properties_Print.md b/website/translated_docs/ja/FormObjects/properties_Print.md new file mode 100644 index 00000000000000..32114b2665dab2 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Print.md @@ -0,0 +1,36 @@ +--- +id: propertiesPrint +0: title:Print +--- + +--- +## Print frame + +This property handles the print mode for objects whose size can vary from one record to another depending on their contents. These objects can be set to print with either a fixed or variable frame. Fixed frame objects print within the confines of the object as it was created on the form. Variable frame objects expand during printing to include the entire contents of the object. Note that the width of objects printed as a variable size is not affected by this property; only the height varies automatically based on the contents of the object. + +You cannot place more than one variable frame object side-by-side on a form. You can place non-variable frame objects on either side of an object that will be printed with a variable size provided that the variable frame object is at least one line longer than the object beside it and that all objects are aligned on the top. If this condition is not respected, the contents of the other fields will be repeated for every horizontal slice of the variable frame object. + +> The `Print object` and `Print form` commands do not support this property. + + +The print options are: + +- **Variable** option / **Print Variable Frame** checked: 4D enlarges or reduces the form object area in order to print all the subrecords. + +- **Fixed (Truncation)** option / **Print Variable Frame** unchecked: 4D only prints the contents that appear in the object area. The form is only printed once and the contents not printed are ignored. + +- **Fixed (Multiple Records)** (subforms only): the initial size of the subform area is kept but 4D prints the form several times in order to print all the records. + +> This property can be set by programming using the `OBJECT SET PRINT VARIABLE FRAME` command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----------:|:---------:| --------------------------------------------------- | +| printFrame | string | "fixed", "variable", (subform only) "fixedMultiple" | + + +#### Objects Supported + +[Input](input_overview.md) - [Subforms](subform_overview.md) (list subforms only) - [4D Write Pro areas](writeProArea_overview.md) diff --git a/website/translated_docs/ja/FormObjects/properties_RangeOfValues.md b/website/translated_docs/ja/FormObjects/properties_RangeOfValues.md new file mode 100644 index 00000000000000..41f6be2cb6d239 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_RangeOfValues.md @@ -0,0 +1,83 @@ +--- +id: propertiesRangeOfValues +title: Range of Values +--- + +--- +## Default value + +You can assign a default value to be entered in an input object. This property is useful for example when the input [data source](properties_Object.md#variable-or-expression) is a field: the default value is entered when a new record is first displayed. You can change the value unless the input area has been defined as [non-enterable](properties_Entry.md#enterable). + +The default value can only be used if the [data source type](properties_Object.md#expression-type) is: +- text/string +- number/integer +- date +- time +- boolean + +4D provides stamps for generating default values for the date, time, and sequence number. The date and time are taken from the system date and time. 4D automatically generates any sequence numbers needed. The table below shows the stamp to use to generate default values automatically: + +| Stamp | Meaning | +| ----- | --------------- | +| #D | Current date | +| #H | Current time | +| #N | Sequence number | + +You can use a sequence number to create a unique number for each record in the table for the current data file. A sequence number is a longint that is generated for each new record. The numbers start at one (1) and increase incrementally by one (1). A sequence number is never repeated even if the record it is assigned to is deleted from the table. Each table has its own internal counter of sequence numbers. For more information, refer to the [Autoincrement](https://doc.4d.com/4Dv17R6/4D/17-R6/Field-properties.300-4354738.en.html#976029) paragraph. + +> Do not make confusion between this property and the "[default values](properties_DataSource.md#default-list-of-values)" property that allows to fill a list box column with static values. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | ----------------------------------- | ------------------------------------------ | +| defaultValue | string, number, date, time, boolean | Any value and/or a stamp: "#D", "#H", "#N" | + +#### Objects Supported + +[Input](input_overview.md) + + + +--- + +## Excluded List + +Allows setting a list whose values cannot be entered in the object. If an excluded value is entered, it is not accepted and an error message is displayed. +> If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | -------------------------------- | +| excludedList | list | A list of values to be excluded. | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + +--- + +## Required List + +Restricts the valid entries to the items on the list. For example, you may want to use a required list for job titles so that valid entries are limited to titles that have been approved by management. + +Making a list required does not automatically display the list when the field is selected. If you want to display the required list, assign the same list to the [Choice List](properties_DataSource.md#choice-list) property. However, unlike the [Choice List](properties_DataSource.md#choice-list) property, when a required list is defined, keyboard entry is no longer possible, only the selection of a list value using the pop-up menu is allowed. If different lists are defined using the [Choice List](properties_DataSource.md#choice-list) and Required List properties, the Required List property has priority. +> If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------------------- | +| requiredList | list | A list of mandatory values. | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + + diff --git a/website/translated_docs/ja/FormObjects/properties_Reference.md b/website/translated_docs/ja/FormObjects/properties_Reference.md new file mode 100644 index 00000000000000..79153ed8effc4f --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Reference.md @@ -0,0 +1,280 @@ +--- +id: propertiesReference +title: JSON property list +--- + +## A + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | +| [action](properties_Action.md#standard-action) | Typical activity to be performed. | The name of a valid standard action. | +| [allowFontColorPicker](properties_Text.md#allow-font-color-picker) | Allows displaying system font picker or color picker to edit object attributes | true, false (default) | +| [alternateFill](properties_BackgroundAndBorder.md#alternate-background-color) | Allows setting a different background color for odd-numbered rows/columns in a list box. | Any CSS value; "transparent"; "automatic" | +| [automaticInsertion](properties_DataSource.md#automatic-insertion) | Enables automatically adding a value to a list when a user enters a value that is not in the object's associated choice list. | true, false | + +## B + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------- | +| [booleanFormat](properties_Display.md#boolean-format) | Specifies only two possible values. | true, false | +| [borderRadius](properties_CoordinatesAndSizing.md#corner-radius) | The radius value for round rectangles. | minimum: 0 | +| [borderStyle](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) | Allows setting a standard style for the object border. | "system", "none", "solid", "dotted", "raised", "sunken", "double" | +| [bottom](properties_CoordinatesAndSizing.md#bottom) | Positions an object at the bottom (centered). | minimum: 0 | + +## C + +| Property | Description | Possible Values | +| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| [choiceList](properties_DataSource.md#choice-list) | A list of choices associated with an object | A list of choices | +| [class](properties_Object.md#class) | A list of space-separated words used as class selectors in css files. | A list of class names | +| [columnCount](properties_Crop.md#columns) | Number of columns. | minimum: 1 | +| [columns](properties_ListBox.md#columns) | A collection of list box columns | Collection of column objects with defined column properties | +| [contextMenu](properties_Entry.md#context-menu) | Provides the user access to a standard context menu in the selected area. | "automatic", "none" | +| [continuousExecution](properties_Action.md#execute-object-method) | Designates whether or not to run the method of an object while the user is tracking the control. | true, false | +| [controlType](properties_Display.md#display-type) | Specifies how the value should be rendered in a list box cell. | "input", "checkbox" (for boolean / numeric columns), "automatic", "popup" (only for boolean columns) | +| [currentItemSource](properties_DataSource.md#current-item) | The last selected item in a list box. | Object expression | +| [currentItemPositionSource](properties_DataSource.md#current-item-position) | The position of the last selected item in a list box. | Number expression | +| [customBackgroundPicture](properties_TextAndPicture.md#background-pathname) | Sets the picture that will be drawn in the background of a button. | Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option. | +| [customBorderX](properties_TextAndPicture.md#horizontal-margin) | Sets the size (in pixels) of the internal horizontal margins of an object. Must be used with the style property with the "custom" option. | minimum: 0 | +| [customBorderY](properties_TextAndPicture.md#vertical-margin) | Sets the size (in pixels) of the internal vertical margins of an object. Must be used with the style property with the "custom" option. | minimum: 0 | +| [customOffset](properties_TextAndPicture.md#icon-offset) | Sets a custom offset value in pixels. Must be used with the style property with the "custom" option. | minimum: 0 | + +## D + +| Property | Description | Possible Values | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [dataSource](properties_Object.md#variable-or-expression) (objects)
    [dataSource](properties_Subform.md#source) (subforms)
    [dataSource](properties_Object.md#data-source) (array list box)
    [dataSource](properties_Object.md#collection-or-entity-selection) (Collection or entity selection list box)
    [dataSource](properties_DataSource.md#expression) (list box column)
    [dataSource](properties_Hierarchy.md#hierarchical-list-box) (hierarchical list box) | Specifies the source of the data. | A 4D variable, field name, or an arbitrary complex language expression. | +| [dataSourceTypeHint](properties_Object.md#expression-type) (objects)
    [dataSourceTypeHint](properties_DataSource.md#data-type) (list box column) | Indicates the variable type. | "integer", "number", "boolean", "picture", "text", date", "time", "arrayText", "collection", "object", "undefined" | +| [dateFormat](properties_Display.md#date-format) | Controls the way dates appear when displayed or printed. Must only be selected among the 4D built-in formats. | "systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values) | +| [defaultButton](properties_Appearance.md#default-button) | Modifies a button's appearance in order to indicate the recommended choice to the user. | true, false | +| [defaultValue](properties_RangeOfValues.md#default-value) | Defines a value or a stamp to be entered by default in an input object | String or "#D", "#H", "#N" | +| [deletableInList](properties_Subform.md#allow-deletion) | Specifies if the user can delete subrecords in a list subform | true, false | +| [detailForm](properties_ListBox.md#detail-form-name) (list box)
    [detailForm](properties_Subform.md#detail-form) (subform) | Associates a detail form with a list subform. | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | +| [display](properties_Display.md#not-rendered) | The object is drawn or not on the form. | true, false | +| [doubleClickInEmptyAreaAction](properties_Subform.md#double-click-on-empty-row) | Action to perform in case of a double-click on an empty line of a list subform. | "addSubrecord" or "" to do nothing | +| [doubleClickInRowAction](properties_ListBox.md#double-click-on-row) (list box)
    [doubleClickInRowAction](properties_Subform.md#double-click-on-row) (subform) | Action to perform in case of a double-click on a record. | "editSubrecord", "displaySubrecord" | +| [dpi](properties_Appearance.md#resolution) | Screen resolution for the 4D Write Pro area contents. | 0=automatic, 72, 96 | +| [dragging](properties_Action.md#draggable) | Enables dragging function. | "none", "custom", "automatic" (excluding list, list box) | +| [dropping](properties_Action.md#droppable) | Enables dropping function. | "none", "custom", "automatic" (excluding list, list box) | + +## E + +| Property | Description | Possible Values | +| ---------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------- | +| [enterable](properties_Entry.md#enterable) | Indicates whether users can enter values into the object. | true, false | +| [enterableInList](properties_Subform.md#enterable-in-list) | Indicates whether users can modify record data directly in the list subform. | true, false | + + +[entryFiler](properties_Entry.md#entry-filter)|Associates an entry filter with the object or column cells. This property is not accessible if the Enterable property is not enabled.|Text to narrow entries | |[excludedList](properties_RangeOfValues.md#excluded-list)|Allows setting a list whose values cannot be entered in the column.|A list of values to be excluded.| |[events](XXX)|List of all events selected for the object or form|Collection of event names, e.g. ["onClick","onDataChange"...].| + + +## F + +| Property | Description | Possible Values | +| --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | +| [fill](properties_BackgroundAndBorder.md#background-color-fill-color) | Defines the background color of an object. | Any CSS value, "transparent", "automatic" | +| [focusable](properties_Entry.md#focusable) | Indicates whether the object can have the focus (and can thus be activated by the keyboard for instance) | true, false | +| [fontFamily](properties_Text.md#font) | Specifies the name of font family used in the object. | CSS font family name | +| [fontSize](properties_Text.md#font-size) | Sets the font size in points when no font theme is selected | minimum: 0 | +| [fontStyle](properties_Text.md#italic) | Sets the selected text to slant slightly to the right. | "normal", "italic" | +| [fontTheme](properties_Text.md#font-theme) | Sets the automatic style | "normal", "main", "additional" | +| [fontWeight](properties_Text.md#bold) | Sets the selected text to appear darker and heavier. | "normal", "bold" | +| [footerHeight](properties_Footers.md#height) | Used to set the row height | pattern (\\d+)(p|em)?$ (positive decimal + px/em ) | +| [frameDelay](properties_Animation.md#switch-every-x-ticks) | Enables cycling through the contents of the picture button at the specified speed (in ticks). | minimum: 0 | + +## G + +| Property | Description | Possible Values | +| ----------------------------------------------------- | -------------------------- | --------------- | +| [graduationStep](properties_Scale.md#graduation-step) | Scale display measurement. | minimum: 0 | + +## H + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| [header](properties_Headers.md#header) | Defines the header of a list box column | Object with properties "text", "name", "icon", "dataSource", "fontWeight", "fontStyle", "tooltip" | +| [headerHeight](properties_Headers.md#height) | Used to set the row height | pattern ^(\\d+)(px|em)?$ (positive decimal + px/em ) | +| [height](properties_CoordinatesAndSizing.md#height) | Designates an object's vertical size | minimum: 0 | +| [hideExtraBlankRows](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | Deactivates the visibility of extra, empty rows. | true, false | +| [hideFocusRing](properties_Appearance.md#hide-focus-rectangle) | Hides the selection rectangle when the object has the focus. | true, false | +| [hideSystemHighlight](properties_Appearance.md#hide-selection-highlight) | Used to specify hiding highlighted records in the list box. | true, false | +| [highlightSet](properties_ListBox.md#highlight-set) | string | Name of the set. | +| [horizontalLineStroke](properties_Gridlines.md#horizontal-line-color) | Defines the color of the horizontal lines in a list box (gray by default). | Any CSS value, "'transparent", "automatic" | + +## I + +| Property | Description | Possible Values | +| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------- | +| [icon](properties_TextAndPicture.md#picture-pathname) | The pathname of the picture used for buttons, check boxes, radio buttons, list box headers. | Relative or filesystem path in POSIX syntax. | +| [iconFrames](properties_TextAndPicture.md#number-of-states) | Sets the exact number of states present in the picture. | minimum: 1 | +| [iconPlacement](properties_TextAndPicture.md#icon-location) | Designates the placement of an icon in relation to the form object. | "none", "left", "right" | + +## K + +| Property | Description | Possible Values | +| ------------------------------------------------------ | ---------------------------------------------------- | ------------------------------------ | +| [keyboardDialect](properties_Entry.md#keyboardDialect) | To associate a specific keyboard layout to an input. | A keyboard code string, e.g. "ar-ma" | + + +## L + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| [labels](properties_DataSource.md#choice-list-static-list) | A list of values to be used as tab control labels | ex: "a", "b, "c", ... | +| [labelsPlacement](properties_Scale.md#label-location) (objects)
    [labelsPlacement](properties_Appearance.md#tab-control-direction) (splitter / tab control) | Specifies the location of an object's displayed text. | "none", "top", "bottom", "left", "right" | +| [layoutMode](properties_Appearance.md#view-mode) | Mode for displaying the 4D Write Pro document in the form area. | "page", "draft", "embedded" | +| [left](properties_CoordinatesAndSizing.md#left) | Positions an object on the left. | minimum: 0 | +| list, see [choiceList](properties_DataSource.md#choice-list) | A list of choices associated with a hierarchical list | A list of choices | +| [listboxType](properties_Object.md#data-source) | The list box data source. | "array", "currentSelection", "namedSelection", "collection" | +| [listForm](properties_Subform.md#list-form) | List form to use in the subform. | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | +| [lockedColumnCount](properties_ListBox.md#number-of-locked-columns) | Number of columns that must stay permanently displayed in the left part of a list box. | minimum: 0 | +| [loopBackToFirstFrame](properties_Animation.md#loop-back-to-first-frame) | Pictures are displayed in a continuous loop. | true, false | + +## M + +| Property | Description | Possible Values | +| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- | +| [max](properties_Scale.md#maximum) | The maximum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. | minimum: 0 (for numeric data types) | +| [maxWidth](properties_CoordinatesAndSizing.md#maximum-width) | Designates the largest size allowed for list box columns. | minimum: 0 | +| [metaSource](properties_Text.md#meta-info-expression) | A meta object containing style and selection settings. | An object expression | +| [method](properties_Action.md#method) | A project method name. | The name of an existing project method | +| [methodsAccessibility](properties_WebArea.md#access-4d-methods) | Which 4D methods can be called from a Web area | "none" (default), "all" | +| [min](properties_Scale.md#minimum) | The minimum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. | minimum: 0 (for numeric data types) | +| [minWidth](properties_CoordinatesAndSizing.md#minimum-width) | Designates the smallest size allowed for list box columns. | minimum: 0 | +| [movableRows](properties_Action.md#movable-rows) | Authorizes the movement of rows during execution. | true, false | +| [multiline](properties_Entry.md#multiline) | Handles multiline contents. | "yes", "no", "automatic" | + +## N + +| Property | Description | Possible Values | +| --------------------------------------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------- | +| [name](properties_Object.md#object-name) | The name of the form object. (Optional for the form) | Any name which does not belong to an already existing object | +| [numberFormat](properties_Display.md#number-format) | Controls the way the alphanumeric fields and variables appear when displayed or printed. | Numbers (including a decimal point or minus sign if necessary) | + +## P + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [picture](properties_Picture.md#pathname) | The pathname of the picture for picture buttons, picture pop-up menus, or static pictures | Relative or filesystem path in POSIX syntax. | +| [pictureFormat](properties_Display.md#picture-format) (input, list box column or footer)
    [pictureFormat](properties_Picture.md#display) (static picture) | Controls how pictures appear when displayed or printed. | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft" (excluding static pictures), "proportionalCenter"(excluding static pictures) | +| [placeholder](properties_Entry.md#placeholder) | Grays out text when the data source value is empty. | Text to be grayed out. | +| [pluginAreaKind](properties_Object.md#plug-in-kind) | Describes the type of plug-in. | The type of plug-in. | +| [popupPlacement](properties_TextAndPicture.md#with-pop-up-menu) | Allows displaying a symbol that appears as a triangle in the button, which indicates that there is a pop-up menu attached. | "None", Linked", "Separated" | +| [printFrame](properties_Print.md#print-frame) | Print mode for objects whose size can vary from one record to another depending on their contents | "fixed", "variable", (subform only) "fixedMultiple" | +| [progressSource](properties_WebArea.md#progression) | A value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually. | minimum: 0 | + +## R + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | +| [radioGroup](properties_Object.md#radio-group) | Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set. | Radio group name | +| [requiredList](properties_RangeOfValues.md#required-list) | Allows setting a list where only certain values can be inserted. | A list of mandatory values. | +| [resizable](properties_ResizingOptions.md#resizable) | Designates if the size of an object can be modified by the user. | "true", "false" | +| [resizingMode](properties_ResizingOptions.md#column-auto-resizing) | Specifies if a list box column should be automatically resized | "rightToLeft", "legacy" | +| [right](properties_CoordinatesAndSizing.md#right) | Positions an object on the right. | minimum: 0 | +| [rowControlSource](properties_ListBox.md#row-control-array) | A 4D array defining the list box rows. | Array | +| [rowCount](properties_Crop.md#rows) | Sets the number of rows. | minimum: 1 | +| [rowFillSource](properties_BackgroundAndBorder.md#row-background-color-array) (array list box)
    [rowFillSource](properties_BackgroundAndBorder.md#background-color-expression) (selection or collection list box) | The name of an array or expression to apply a custom background color to each row of a list box. | The name of an array or expression. | +| [rowHeight](properties_CoordinatesAndSizing.md#row-height) | Sets the height of list box rows. | CSS value unit "em" or "px" (default) | +| [rowHeightAuto](properties_CoordinatesAndSizing.md#automatic-row-height) | boolean | "true", "false" | +| [rowHeightAutoMax](properties_CoordinatesAndSizing.md#maximum-width) | Designates the largest height allowed for list box rows. | CSS value unit "em" or "px" (default). minimum: 0 | +| [rowHeightAutoMin](properties_CoordinatesAndSizing.md#minimum-width) | Designates the smallest height allowed for list box rows. | CSS value unit "em" or "px" (default). minimum: 0 | +| [rowHeightSource](properties_CoordinatesAndSizing.md#row-height-array) | An array defining different heights for the rows in a list box. | Name of a 4D array variable. | +| [rowStrokeSource](properties_Text.md#row-font-color-array) (array list box)
    [rowStrokeSource](properties_Text.md#font-color-expression) (selection or collection/entity selection list box) | An array or expression for managing row colors. | Name of array or expression. | +| [rowStyleSource](properties_Text.md#row-style-array) (array list box)
    [rowStyleSource](properties_Text.md#style-expression) (selection or collection/entity selection list box) | An array or expression for managing row styles. | Name of array or expression. | + +## S + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [scrollbarHorizontal](properties_Appearance.md#horizontal-scroll-bar) | A tool allowing the user to move the viewing area to the left or right. | "visible", "hidden", "automatic" | +| [scrollbarVertical](properties_Appearance.md#vertical-scroll-bar) | A tool allowing the user to move the viewing area up or down. | "visible", "hidden", "automatic" | +| [selectedItemsSource](properties_DataSource.md#selected-items) | Collection of the selected items in a list box. | Collection expression | +| [selectionMode](properties_Action.md#multi-selectable) (hierarchical list)
    [selectionMode](properties_ListBox.md#selection-mode) (list box)
    [selectionMode](properties_Subform.md#selection-mode) (subform) | Allows the selection of multiple records/rows. | "multiple", "single", "none" | +| [shortcutAccel](properties_Entry.md#shortcut) | Specifies the system to use, Windows or Mac. | true, false | +| [shortcutAlt](properties_Entry.md#shortcut) | Designates the Alt key | true, false | +| [shortcutCommand](properties_Entry.md#shortcut) | Designates the Command key (macOS) | true, false | +| [shortcutControl](properties_Entry.md#shortcut) | Designates the Control key (Windows) | true, false | +| [shortcutKey](properties_Entry.md#shortcut) | The letter or name of a special meaning key. | "[F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | +| [shortcutShift](properties_Entry.md#shortcut) | Designates the Shift key | true, false | +| [showFooters](properties_Footers.md#display-headers) | Displays or hides column footers. | true, false | +| [showGraduations](properties_Scale.md#display-graduation) | Displays/Hides the graduations next to the labels. | true, false | +| [showHeaders](properties_Headers.md#display-headers) | Displays or hides column headers. | true, false | +| [showHiddenChars](properties_Appearance.md#show-hidden-characters) | Displays/hides invisible characters. | true, false | +| [showHorizontalRuler](properties_Appearance.md#show-horizontal-ruler) | Displays/hides the horizontal ruler when the document view is in Page view mode | true, false | +| [showHTMLWysiwyg](properties_Appearance.md#show-html-wysiwyg) | Enables/disables the HTML WYSIWYG view | true, false | +| [showPageFrames](properties_Appearance.md#show-page-frame) | Displays/hides the page frame when the document view is in Page view mode | true, false | +| [showReferences](properties_Appearance.md#show-references) | Displays all 4D expressions inserted in the 4D Write Pro document as *references* | true, false | +| [showSelection](properties_Entry.md#selection-always-visible) | Keeps the selection visible within the object after it has lost the focus | true, false | +| [showVerticalRuler](properties_Appearance.md#show-vertical-ruler) | Displays/hides the vertical ruler when the document view is in Page view mode | true, false | +| [singleClickEdit](properties_Entry.md#single-click-edit) | Enables direct passage to edit mode. | true, false | +| [sizingX](properties_ResizingOptions.md#horizontal-sizing) | Specifies if the horizontal size of an object should be moved or resized when a user resizes the form. | "grow", "move", "fixed" | +| [sizingY](properties_ResizingOptions.md#horizontal-sizing) | Specifies if the vertical size of an object should be moved or resized when a user resizes the form. | "grow", "move", "fixed" | +| [sortable](properties_Action.md#sortable) | Allows sorting column data by clicking the header. | true, false | +| [spellcheck](properties_Entry.md#auto-spellcheck) | Activates the spell-check for the object | true, false | +| [splitterMode](properties_ResizingOptions.md#pusher) | When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop. | "grow", "move", "fixed" | +| [startPoint](shapes_overview.md#startpoint-property) | Starting point for drawing a line object (only available in JSON Grammar). | "bottomLeft", topLeft" | +| [staticColumnCount](properties_ListBox.md#number-of-static-columns) | Number of columns that cannot be moved during execution. | minimum: 0 | +| [step](properties_Scale.md#step) | Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value. | minimum: 1 | +| [storeDefaultStyle](properties_Text.md#store-with-default-style-tags) | Store the style tags with the text, even if no modification has been made | true, false | +| [stroke](properties_Text.md#font-color) (text)
    [stroke](properties_BackgroundAndBorder.md#line-color) (lines)
    [stroke](properties_BackgroundAndBorder.md#transparent) (list box) | Specifies the color of the font or line used in the object. | Any CSS value, "transparent", "automatic" | +| [strokeDashArray](properties_BackgroundAndBorder.md#dotted-line-type) | Describes dotted line type as a sequence of black and white points | Number array or string | +| [strokeWidth](properties_BackgroundAndBorder.md#line-width) | Designates the thickness of a line. | An integer or 0 for smallest width on a printed form | +| [style](properties_TextAndPicture.md#multi-style) | Enables the possibility of using specific styles in the selected area. | true, false | +| [styledText](properties_Text.md#style) | Allows setting the general appearance of the button. See Button Style for more information. | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" | +| [switchBackWhenReleased](properties_Animation.md#switch-back-when-released) | Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released. | true, false | +| [switchContinuously](properties_Animation.md#switch-continuously-on-clicks) | Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation). | true, false | +| [switchWhenRollover](properties_Animation.md#switch-when-roll-over) | Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area. | true, false | + + +## T + +| Property | Description | Possible Values | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [table](properties_Subform.md#source) | Table that the list subform belongs to (if any). | 4D table name, or "" | +| [text](properties_Object.md#title) | The title of the form object | Any text | +| [textAlign](properties_Text.md#horizontal-alignment) | Horizontal location of text within the area that contains it. | "automatic", "right", "center", "justify", "left" | +| [textAngle](properties_Text.md#orientation) | Modifies the orientation (rotation) of the text area. | 0, 90, 180, 270 | +| [textDecoration](properties_Text.md#underline) | Sets the selected text to have a line running beneath it. | "normal", "underline" | +| [textFormat](properties_Display.md#alpha-format) | Controls the way the alphanumeric fields and variables appear when displayed or printed. | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats | +| [textPlacement](properties_TextAndPicture.md#title-picture-position) | Relative location of the button title in relation to the associated icon. | "left", "top", "right", "bottom", "center" | +| [threeState](properties_Display.md#three-states) | Allows a check box object to accept a third state. | true, false | +| [timeFormat](properties_Display.md#time-format) | Controls the way times appear when displayed or printed. Must only be selected among the 4D built-in formats. | "systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values) | +| [truncateMode](properties_Display.md#trucate-with-ellipsis) | Controls the display of values when list box columns are too narrow to show their full contents. | "withEllipsis", "none" | +| [type](properties_Object.md#type) | Mandatory. Designates the data type of the form object. | "text", "rectangle", "groupBox", "tab", "line", "button", "checkbox", "radio", "dropdown", "combo", "webArea", "write", "subform", "plugin", "splitter", "buttonGrid", "progress", "ruler", "spinner", "stepper", "list", "pictureButton", "picturePopup", "listbox", "input", "view" | +| [tooltip](properties_Help.md) | Provide users with additional information about a field. | Additional information to help a user | +| [top](properties_CoordinatesAndSizing.md#top) | Positions an object at the top (centered). | minimum: 0 | + +## U + +| Property | Description | Possible Values | +| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------- | +| [urlSource](properties_WebArea.md#url) | Designates the the URL loaded or being loading by the associated Web area. | A URL. | +| [useLastFrameAsDisabled](properties_Animation.md#use-last-frame-as-disabled) | Enables setting the last thumbnail as the one to display when the button is disabled. | true, false | +| [userInterface](properties_Appearance.md#user-interface) | 4D View Pro area interface. | "none" (default), "ribbon", "toolbar" | + +## V + +| Property | Description | Possible Values | +| ----------------------------------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | +| [values](properties_DataSource.md#default-list-values) | List of default values for an array listbox column | ex: "A","B","42"... | +| [variableCalculation](properties_Object.md#variable-calculation) | Allows mathematical calculations to be performed. | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" | +| [verticalAlign](properties_Text.md#vertical-alignment) | Vertical location of text within the area that contains it. | "automatic", "top", "middle", "bottom" | +| [verticalLineStroke](properties_Gridlines.md#vertical-line-color) | Defines the color of the vertical lines in a list box (gray by default). | Any CSS value, "'transparent", "automatic" | +| [visibility](properties_Display.md#visibility) | Allows hiding the object in the Application environment. | "visible", "hidden", "selectedRows", "unselectedRows" | + +## W + +| Property | Description | Possible Values | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | +| [webEngine](properties_WebArea.md#use-embedded-web-rendering-engine) | Used to choose between two rendering engines for the Web area, depending on the specifics of the application. | "embedded", "system" | +| [width](properties_CoordinatesAndSizing.md#width) | Designates an object's horizontal size | minimum: 0 | +| [withFormulaBar](properties_Appearance.md#show-formula-bar) | Manages the display of a formula bar with the Toolbar interface in the 4D View Pro area. | true, false | +| [wordwrap](properties_Display.md#wordwrap) | Manages the display of contents when it exceeds the width of the object. | "automatic" (excluding list box), "normal", "none" | + + +## Z + +| Property | Description | Possible Values | +| ------------------------------------- | ------------------------------------------------ | ------------------ | +| [zoom](properties_Appearance.md#zoom) | Zoom percentage for displaying 4D Write Pro area | number (minimum=0) | diff --git a/website/translated_docs/ja/FormObjects/properties_ResizingOptions.md b/website/translated_docs/ja/FormObjects/properties_ResizingOptions.md new file mode 100644 index 00000000000000..4cd69b138fadf4 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_ResizingOptions.md @@ -0,0 +1,144 @@ +--- +id: propertiesResizingOptions +0: title:Resizing Options +--- + +--- +## Column Auto-Resizing + +When this property is enabled (`rightToLeft` value in JSON), list box columns are automatically resized along with the list box, within the limits of the [minimum](properties_CoordinatesAndSizing.md#minimum-width) and [maximum](properties_CoordinatesAndSizing.md#maximum-width) widths defined. + +When this property is disabled (`legacy` value in JSON), only the rightmost column of the list box is resized, even if its width exceeds the maximum value defined. + +### How column auto-resizing works + +* As the list box width increases, its columns are enlarged, one by one, starting from right to left, until each reaches its [maximum width](properties_CoordinatesAndSizing.md#maximum-width). Only columns with the [Resizable](#resizable) property selected are resized. + +* The same procedure applies when the list box width decreases, but in reverse order (*i.e.*, columns are resized starting from left to right). When each column has reached its [minimum width](properties_CoordinatesAndSizing.md#minimum-width), the horizontal scroll bar becomes active again. + +* Columns are resized only when the horizontal scroll bar is not "active"; *i.e.*, all columns are fully visible in the list box at its current size. **Note**: If the horizontal scroll bar is hidden, this does not alter its state: a scroll bar may still be active, even though it is not visible. + +* After all columns reach their maximum size, they are no longer enlarged and instead a blank (fake) column is added on the right to fill the extra space. If a fake (blank) column is present, when the list box width decreases, this is the first area to be reduced. + +![](assets/en/FormObjects/property_columnAutoResizing.png) + +#### About the fake (blank) column + +The appearance of the fake column matches that of the existing columns; it will have a fake header and/or footer if these elements are present in the existing list box columns and it will have the same background color(s) applied. + +The fake header and/or footer can be clicked but this does not have any effect on the other columns (e.g.: no sort is performed); nevertheless, the `On Clicked`, `On Header Click` and `On Footer Click` events are generated accordingly. + +If a cell in the fake column is clicked, the [LISTBOX GET CELL POSITION](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-GET-CELL-POSITION.301-4311145.en.html) command returns "X+1" for its column number (where X is the number of existing columns). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ----------------------- | +| resizingMode | string | "rightToLeft", "legacy" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Horizontal Sizing + +This property specifies if the horizontal size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +| Option | JSON value | Result | +| ------ | ---------- | ---------------------------------------------------------------------------------------------------------------------- | +| Grow | "grow" | The same percentage is applied to the object’s width when the user resizes the width of the window, | +| Move | "move" | The object is moved the same amount left or right as the width increase when the user resizes the width of the window, | +| None | "fixed" | The object remains stationary when the form is resized | +> This property works in conjunction with the [Vertical Sizing](#vertical-sizing) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | ----------------------- | +| sizingX | string | "grow", "move", "fixed" | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Vertical Sizing + +This property specifies if the vertical size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +| Option | JSON value | Result | +| ------ | ---------- | -------------------------------------------------------------------------------------------------------------------- | +| Grow | "grow" | The same percentage is applied to the object's height when the user resizes the width of the window, | +| Move | "move" | The object is moved the same amount up or down as the height increase when the user resizes the width of the window, | +| None | "fixed" | The object remains stationary when the form is resized | +> This property works in conjunction with the [Horizontal Sizing](#horizontal-sizing) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | ----------------------- | +| sizingY | string | "grow", "move", "fixed" | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Pusher + +When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop. + +Here is the result of a “pusher” splitter being moved: ![](assets/en/FormObjects/splitter_pusher1.png) + +![](assets/en/FormObjects/splitter_pusher3.png) + +When this property is not applied to the splitter, the result is as follows: + +![](assets/en/FormObjects/splitter_pusher2.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:------------ |:---------:|:------------------------------------:| +| splitterMode | string | "move" (pusher), "resize" (standard) | + +#### Objects Supported + +[スプリッター](splitterTabControlOverview#splitters) + + + + +--- +## Resizable + +Designates if the size of the column can be modified by the user. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:--------- |:---------:|:---------------:| +| resizable | boolean | "true", "false" | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + diff --git a/website/translated_docs/ja/FormObjects/properties_Scale.md b/website/translated_docs/ja/FormObjects/properties_Scale.md new file mode 100644 index 00000000000000..c5fec5f7494574 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Scale.md @@ -0,0 +1,137 @@ +--- +id: propertiesScale +title: Scale +--- + +--- +## Barber shop + +Enables the "barber shop" variant for the thermometer. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| ----------------------------------------------------------- | +| [max](#maximum) | number | NOT passed = enabled; passed = disabled (basic thermometer) | + +#### Objects Supported + +[Barber shop](progressIndicator.md#barber-shop) + + + +--- +## Display graduation + +Displays/Hides the graduations next to the labels. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| --------------- | +| showGraduations | boolean | "true", "false" | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Graduation step + +Scale display measurement. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:--------------:|:---------:| --------------- | +| graduationStep | integer | minimum: 0 | + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Label Location + +Specifies the location of an object's displayed text. + +* None - no label is displayed +* Top - Displays labels to the left of or above an indicator +* Bottom - Displays labels to the right of or below an indicator + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| ---------------------------------------- | +| labelsPlacement | string | "none", "top", "bottom", "left", "right" | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Maximum + +Maximum value of an indicator. + +- For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. +- To enable [Barber shop thermometers](progressIndicator.md#barber-shop), this property must be omitted. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------------:| ----------------------------------- | +| max | string / number | minimum: 0 (for numeric data types) | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + +--- +## Minimum + +Minimum value of an indicator. For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------------:| ----------------------------------- | +| min | string / number | minimum: 0 (for numeric data types) | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + +--- +## Step + +Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------:| --------------- | +| step | integer | minimum: 1 | + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + + + diff --git a/website/translated_docs/ja/FormObjects/properties_Subform.md b/website/translated_docs/ja/FormObjects/properties_Subform.md new file mode 100644 index 00000000000000..b50e4a773b427e --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Subform.md @@ -0,0 +1,169 @@ +--- +id: propertiesSubform +title: Subform +--- + +--- +## Allow Deletion + +Specifies if the user can delete subrecords in a list subform. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------------- | +| deletableInList | boolean | true, false (default: true) | + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## Detail Form + +You use this property to declare the detail form to use in the subform. It can be: + +- a widget, i.e. a page-type subform endowed with specific functions. In this case, the [list subform](#list-form) and [Source](#source) properties must be empty or not present. You can select a component form name when it is published in the component. +> You can generate [components](Concepts/components.md) providing additional functionalities through subforms. + +- the detail form to associate a with the [list subform](#list-form). The detail form can be used to enter or view subrecords. It generally contains more information than the list subform. Naturally, the detail form must belong to the same table as the subform. You normally use an Output form as the list form and an Input form as the detail form. If you do not specify the form to use for full page entry, 4D automatically uses the default Input format of the table. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| detailForm | string | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Double-click on empty row + +Action to perform in case of a double-click on an empty line of a list subform. The following options are available: +- Do nothing: Ignores double-click. +- Add Record: Creates a new record in the subform and changes to editing mode. The record will be created directly in the list if the [Enterable in List] property is enabled. Otherwise, it will be created in page mode, in the [detail form](detail-form) associated with the subform. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------------- | --------- | ---------------------------------- | +| doubleClickInEmptyAreaAction | string | "addSubrecord" or "" to do nothing | + +#### Objects Supported + +[Subform](subform_overview.md) + +#### See also +[Double click on row](#double-click-on-row) + +--- +## Double-click on row + +`List subform` + +Sets the action to be performed when a user double-clicks on a row in a list subform. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the [detail form defined for the list subform](#detail-form). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | ----------------------------------- | +| doubleClickInRowAction | string | "editSubrecord", "displaySubrecord" | + +#### Objects Supported + +[Subform](subform_overview.md) + + +#### See also +[Double click on empty row](#double-click-on-empty-row) + +--- +## Enterable in list + +When a list subform has this property enabled, the user can modify record data directly in the list, without having to use the [associated detail form](#detail-form). + +> To do this, simply click twice on the field to be modified in order to switch it to editing mode (make sure to leave enough time between the two clicks so as not to generate a double-click). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------- | +| enterableInList | boolean | true, false | + + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## List Form + +You use this property to declare the list form to use in the subform. A list subform lets you enter, view, and modify data in other tables. + +List subforms can be used for data entry in two ways: the user can enter data directly in the subform, or enter it in an [input form](#detail-form). In this configuration, the form used as the subform is referred to as the List form. The input form is referred to as the Detail form. + +You can also allow the user to enter data in the List form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| listForm | string | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + + + +--- +## Source + +Specifies the table that the list subform belongs to (if any). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------------------------- | +| table | string | 4D table name, or "" if no table. | + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Enterable in list](subform_overview.md#enterable-in-list) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + - The selected subrecords are returned by the `GET HIGHLIGHTED RECORDS` command. + - Clicking on the record will select it, but it does not modify the current record. + - A **Ctrl+click** (Windows) or **Command+click** (macOS) on a record toggles its state (between selected or not). The Up and Down arrow keys select the previous/next record in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the selected record is changed. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | string | "multiple", "single", "none" | + +#### Objects Supported + +[Subform](subform_overview.md) diff --git a/website/translated_docs/ja/FormObjects/properties_Text.md b/website/translated_docs/ja/FormObjects/properties_Text.md new file mode 100644 index 00000000000000..3607d96415dfde --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_Text.md @@ -0,0 +1,754 @@ +--- +id: propertiesText +0: title:Text +--- + +--- +## Allow font/color picker + +When this property is enabled, the [OPEN FONT PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-FONT-PICKER.301-4505612.en.html) and [OPEN COLOR PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-COLOR-PICKER.301-4505611.en.html) commands can be called to display the system font and color picker windows. Using these windows, the users can change the font or color of a form object that has the focus directly by clicking. When this property is disabled (default), the open picker commands have no effect. + + +#### JSON Grammar + +| Property | Data Type | Possible Values | +| -------------------- | --------- | --------------------- | +| allowFontColorPicker | boolean | false (default), true | + +#### Objects Supported + +[Input](input_overview.md) + +--- +## Bold + +Sets the selected text to appear darker and heavier. + +You can set this property using the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. +> This is normal text.
    **This is bold text.** + +#### JSON Grammar + +| Property | Data Type | Possible Values | +| ---------- | --------- | ---------------- | +| fontWeight | text | "normal", "bold" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Italic + +Sets the selected text to slant slightly to the right. + +You can also set this property via the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. +> This is normal text.
    *This is text in italics.* + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------ | +| fontStyle | string | "normal", "italic" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +--- +## Underline +Sets the text to have a line running beneath it. +> This is normal text.
    This is underlined text. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | --------------------- | +| textDecoration | string | "normal", "underline" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + + +--- +## Font + +This property allows you to specify either the **font theme** or the **font family** used in the object. +> **Font theme** and **font family** properties are mutually exclusive. A font theme takes hold of font attributes, including size. A font family allows you to define font name, font size and font color. + + +### Font Theme + +The font theme property designates an automatic style name. Automatic styles determine the font family, font size and font color to be used for the object dynamically according to system parameters. These parameters depend on: + +- the platform, +- the system language, +- and the type of form object. + +With the font theme, you are guaranteed that titles are always displayed in accordance with the current interface standards of the system. However, their size may vary from one machine to another. + +Three font themes are available: +- **normal**: automatic style, applied by default to any new object created in the Form editor. +- **main** and **additional** font themes are only supported by [text areas](text.md) and [inputs](input_overview.md). These themes are primarily intended for designing dialog boxes. They refer to font styles used, respectively, for main text and additional information in your interface windows. Here are typical dialog boxes (macOS and Windows) using these font themes: + +![](assets/en/FormObjects/fontThemes.png) + +> Font themes manage the font as well as its size and color. If you modify one of the properties managed by a font theme, it no longer works dynamically. However, you can apply custom style properties (Bold, Italic or Underline) without altering its functioning. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------ | +| fontTheme | string | "normal", "main", "additional" | + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +### Font Family + +There are two types of font family names: + +* *family-name:* The name of a font-family, like "times", "courier", "arial", etc. +* *generic-family:* The name of a generic-family, like "serif", "sans-serif", "cursive", "fantasy", "monospace". + +You can set this using the [**OBJECT SET FONT**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT.301-4054834.en.html) command. +> This is Times New Roman font.
    This is Calibri font.
    This is Papyrus font. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------- | +| fontFamily | string | CSS font family name | +> 4D recommends using only [web safe](https://www.w3schools.com/cssref/css_websafe_fonts.asp) fonts. + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + +--- +## Font Size + +> This property is only available when no [font theme](#font-theme) is selected. + +Allows defining the object's font size in points. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------- | +| fontSize | integer | Font size in points. Minimum value: 0 | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Font Color + +This property specifies the color of the font used in the object. The color can be specified by: + +* a color name - like "red" +* a HEX value - like "#ff0000" +* an RGB value - like "rgb(255,0,0)" + +You can also set this property using the [**OBJECT SET RGB COLORS**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-RGB-COLORS.301-4128232.en.html) command. +> This font is red. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ----------------------------------------- | +| stroke | string | any css value, "transparent", "automatic" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + +--- + +## Font Color Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom font color to each row of the list box. You must use RGB color values. For more information about this, refer to the description of the [OBJECT SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-RGB-COLORS.301-4311385.en.html) command in the 4D Language Reference manual. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. +> This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +The following example uses a variable name: enter *CompanyColor* for the **Font Color Expression** and, in the form method, write the following code: + +```code4d +CompanyColor:=Choose([Companies]ID;Background color;Light shadow color; +Foreground color;Dark shadow color) +``` + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------- | +| rowStrokeSource | string | Font color expression | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + +--- +## Style Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom character style to each row of the list box or each cell of the column. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed (if applied to the list box) or each cell displayed (if applied to a column). You can use the constants of the [Font Styles](https://doc.4d.com/4Dv17R6/4D/17-R6/Font-Styles.302-4310343.en.html) theme. + +Example: + +```code4d +Choose([Companies]ID;Bold;Plain;Italic;Underline) +``` +> This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | ----------------------------------------------- | +| rowStyleSource | string | Style expression to evaluate for each row/cell. | + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Horizontal Alignment + +Horizontal location of text within the area that contains it. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------------------------- | +| textAlign | string | "automatic", "right", "center", "justify", "left" | + +#### Objects Supported + +[Group Box](groupBox.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Header](listbox_overview.md#list-box-footers) - [Text Area](text.md) + + +--- +## Vertical Alignment + +Vertical location of text within the area that contains it. + +The **Default** option (`automatic` JSON value) sets the alignment according to the type of data found in each column: +- `bottom` for all data (except pictures) and +- `top` for picture type data. + +This property can also be handled by the [OBJECT Get vertical alignment](https://doc.4d.com/4Dv18/4D/18/OBJECT-Get-vertical-alignment.301-4505442.en.html) and [OBJECT SET VERTICAL ALIGNMENT](https://doc.4d.com/4Dv18/4D/18/OBJECT-SET-VERTICAL-ALIGNMENT.301-4505430.en.html) commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | -------------------------------------- | +| verticalAlign | string | "automatic", "top", "middle", "bottom" | + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) + + + + + + + + + +--- +## Meta Info Expression +`Collection or entity selection type list boxes` + +Specifies an expression or a variable which will be evaluated for each row displayed. It allows defining a whole set of row text attributes. You must pass an **object variable** or an **expression that returns an object**. The following properties are supported: + +| Property name | Type | Description | +| ------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| stroke | string | Font color. Any CSS color (ex: "#FF00FF"), "automatic", "transparent" | +| fill | string | Background color. Any CSS color (ex: "#F00FFF"), "automatic", "transparent" | +| fontStyle | string | "normal","italic" | +| fontWeight | string | "normal","bold" | +| textDecoration | string | "normal","underline" | +| unselectable | boolean | Designates the corresponding row as not being selectable (*i.e.*, highlighting is not possible). Enterable areas are no longer enterable if this option is enabled unless the "Single-Click Edit" option is also enabled. Controls such as checkboxes and lists remain functional. This setting is ignored if the list box selection mode is "None". Default value: False. | +| disabled | boolean | Disables the corresponding row. Enterable areas are no longer enterable if this option is enabled. Text and controls (checkboxes, lists, etc.) appear dimmed or grayed out. Default value: False. | +| cell.\ | object | Allows applying the property to a single column. Pass in \ the object name of the list box column. **Note**: "unselectable" and "disabled" properties can only be defined at row level. They are ignored if passed in the "cell" object | + +> Style settings made with this property are ignored if other style settings are already defined through expressions (*i.e.*, [Style Expression](#style-expression), [Font Color Expression](#font-color-expression), [Background Color Expression](#background-color-expression)). + +The following example uses the *Color* project method. + +In the form method, write the following code: + +```code4d +//form method +Case of + :(Form event=On Load) + Form.meta:=New object +End case +``` + + +In the *Color* method, write the following code: + +```code4d +//Color method +//Sets font color for certain rows and the background color for a specific column: +C_OBJECT($0) +If(This.ID>5) //ID is an attribute of collection objects/entities + Form.meta.stroke:="purple" + Form.meta.cell:=New object("Column2";New object("fill";"black")) +Else + Form.meta.stroke:="orange" +End if +$0:=Form.meta +``` +> See also the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------ | +| metaSource | string | Object expression to evaluate for each row/cell. | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + + +--- +## Multi-style + +This property enables the possibility of using specific styles in the selected area. When this option is checked, 4D interprets any \ HTML tags found in the area.

    + +

    + By default, this option is not enabled. +

    + + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + styledText + + boolean + + true, false +
    + +

    + Objects Supported +

    + +

    + List Box Column - Input +

    + + + + + + + + +
    +

    + Orientation +

    + +

    + Modifies the orientation (rotation) of a text area. Text areas can be rotated by increments of 90°. Each orientation value is applied while keeping the same lower left starting point for the object: +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Orientation value + + Result +
    + 0 (default) + + +
    + 90 + + +
    + 180 + + +
    + 270 + + +
    + +

    + In addition to static text areas, input text objects can be rotated when they are non-enterable. When a rotation property is applied to an input object, the enterable property is removed (if any). This object is then excluded from the entry order. +

    + + + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + textAngle + + number + + 0, 90, 180, 270 +
    + +

    + Objects Supported +

    + +

    + Input (non-enterable) - Text Area +

    + + + + + +
    +

    + Row Font Color Array +

    + +

    + Array type list boxes +

    + +

    + Allows setting a custom font color to each row of the list box or cell of the column. +

    + +

    + The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the SET RGB COLORS theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. +

    + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + rowStrokeSource + + string + + The name of a longint array +
    + +

    + Objects Supported +

    + +

    + List Box - List Box Column +

    + + + + + +
    +

    + Row Style Array +

    + +

    + Array type list boxes +

    + +

    + Allows setting a custom font style to each row of the list box or each cell of the column. +

    + +

    + The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. To fill the array (using a method), use the constants of the Font Styles theme. You can add constants together to combine styles. If you want the cell to inherit the style defined at the higher level, pass the value -255 to the corresponding array element. +

    + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + rowStyleSource + + string + + The name of a longint array. +
    + +

    + Objects Supported +

    + +

    + List Box - List Box Column +

    + + + +
    +

    + Store with default style tags +

    + +

    + This property is only available for a Multi-style input area. When this property is enabled, the area will store the style tags with the text, even if no modification has been made. In this case, the tags correspond to the default style. When this property is disabled, only modified style tags are stored. +

    + +

    + For example, here is a text that includes a style modification: +

    + +

    + +

    + +

    + When the property is disabled, the area only stores the modification. The stored contents are therefore: +

    + +
    What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!
    +
    + +

    + When the property is enabled, the area stores all the formatting information. The first generic tag describes the default style then each variation is the subject of a pair of nested tags. The contents stored in the area are therefore: +

    + +
    <SPAN STYLE="font-family:'Arial';font-size:9pt;text-align:left;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background-color:#FFFFFF">What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!</SPAN>
    +
    + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + storeDefaultStyle + + boolean + + true, false (default). +
    + +

    + Objects Supported +

    + +

    + Input +

    + + + + + + + + + + + + + + + + + + + + + diff --git a/website/translated_docs/ja/FormObjects/properties_TextAndPicture.md b/website/translated_docs/ja/FormObjects/properties_TextAndPicture.md new file mode 100644 index 00000000000000..423aba0e270cc1 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_TextAndPicture.md @@ -0,0 +1,252 @@ +--- +id: propertiesTextAndPicture +0: title:Text and Picture +--- + +--- +## Background pathname + +Sets the path of the picture that will be drawn in the background of the object. If the object uses an [icon](#picture-pathname) with [different states](#number-of-states), the background picture will automatically support the same number of states. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------------- | --------- | ------------------------------------------------------------------------------------------------------------ | +| customBackgroundPicture | string | Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option. | + + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## Button Style + +General appearance of the button. The button style also plays a part in the availability of certain options. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-----:|:---------:| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| style | text | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" | + + +#### Objects Supported + +[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Horizontal Margin + +This property allows setting the size (in pixels) of the horizontal margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders: + +| With / Without | Example | +| -------------------- | --------------------------------------------------------- | +| Without margin | ![](assets/en/FormObjects/property_horizontalMargin1.png) | +| With 13-pixel margin | ![](assets/en/FormObjects/property_horizontalMargin2.png) | +> This property works in conjunction with the [Vertical Margin](#vertical-margin) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------------------------------- | +| customBorderX | number | For use with "custom" style. Minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- + +## Icon Location + +Designates the placement of an icon in relation to the form object. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------- | +| iconPlacement | string | "none", "left", "right" | + +#### Objects Supported + +[List Box Header](listbox_overview.md#list-box-headers) + + + + + +--- +## Icon Offset + +Sets a custom offset value in pixels, which will be used when the button is clicked + +The title of the button will be shifted to the right and toward the bottom for the number of pixels entered. This allows applying a customized 3D effect when the button is clicked. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| customOffset | number | minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + +--- +## Number of States + +This property sets the exact number of states present in the picture used as the icon for a [button with icon](button_overview.md), a [check box](checkbox_overview.md) or a custom [radio button](radio_overview.md). In general, a button icon includes four states: active, clicked, mouse over and inactive. + +Each state is represented by a different picture. In the source picture, the states must be stacked vertically: + +![](assets/en/property_numberOfStates.png) + +The following states are represented: +1. button not clicked / check box unchecked (variable value=0) +2. button clicked / check box checked (variable value=1) +3. roll over +4. disabled + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| iconFrames | number | minimum: 1 | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + + +--- +## Picture pathname + +Sets the path of the picture that will be used as icon for the object. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +> When used as icon for active objects, the picture must be designed to support a variable [number of states](#number-of-states). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------- | +| icon | picture | Relative or filesystem path in POSIX syntax. | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) + + + + +--- +## Title/Picture Position + +This property allows modifying the relative location of the button title in relation to the associated icon. This property has no effect when the button contains only a title (no associated picture) or a picture (no title). By default, when a button contains a title and a picture, the text is placed below the picture. + +Here are the results using the various options for this property: + +| Option | Description | Example | +| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- | +| **Left** | The text is placed to the left of the icon. The contents of the button are aligned to the right. | ![](assets/en/FormObjects/property_titlePosition_left.en.png) | +| **Top** | The text is placed above the icon. The contents of the button are centered. | ![](assets/en/FormObjects/property_titlePosition_top.png) | +| **Right** | The text is placed to the right of the icon. The contents of the button are aligned to the left. | ![](assets/en/FormObjects/property_titlePosition_right.png) | +| **Bottom** | The text is placed below the icon. The contents of the button are centered. | ![](assets/en/FormObjects/property_titlePosition_bottom.png) | +| **Centered** | The text of the icon is centered vertically and horizontally in the button. This parameter is useful, for example, for text included in an icon. | ![](assets/en/FormObjects/property_titlePosition_centered.png) | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ------------------------------------------ | +| textPlacement | string | "left", "top", "right", "bottom", "center" | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Vertical Margin + +This property allows setting the size (in pixels) of the vertical margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders. + +> This property works in conjunction with the [Horizontal Margin](#horizontal-margin) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------------------------------- | +| customBorderY | number | For use with "custom" style. Minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## With pop-up menu + +This property allows displaying a symbol that appears as a triangle in the button to indicate the presence of an attached pop-up menu: + +![](assets/en/FormObjects/property_popup.png) + +The appearance and location of this symbol depends on the button style and the current platform. + + +### Linked and Separated + +To attach a pop-up menu symbol to a button, there are two display options available: + +| Linked | Separated | +|:----------------------------------------------------:|:-------------------------------------------------------:| +| ![](assets/en/FormObjects/property_popup_linked.png) | ![](assets/en/FormObjects/property_popup_separated.png) | +> The actual availability of a "separated" mode depends on the style of the button and the platform. + +Each option specifies the relation between the button and the attached pop-up menu: + +
  • When the pop-up menu is **separated**, clicking on the left part of the button directly executes the current action of the button; this action can be modified using the pop-up menu accessible in the right part of the button.
  • When the pop-up menu is **linked**, a simple click on the button only displays the pop-up menu. Only the selection of the action in the pop-up menu causes its execution. + + +### Managing the pop-up menu + +It is important to note that the "With Pop-up Menu" property only manages the graphic aspect of the button. The display of the pop-up menu and its values must be handled entirely by the developer, more particularly using `form events` and the **[Dynamic pop up menu](https://doc.4d.com/4Dv18/4D/18/Dynamic-pop-up-menu.301-4505524.en.html)** and **[Pop up menu](https://doc.4d.com/4Dv17R5/4D/17-R5/Pop-up-menu.301-4127438.en.html)** commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------------- | --------- | ---------------------------------------------------------------------------------------------------- | +| popupPlacement | string |
  • "none"
  • "linked"
  • "separated" | + + +#### Objects Supported + +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#Rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-XP) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/properties_WebArea.md b/website/translated_docs/ja/FormObjects/properties_WebArea.md new file mode 100644 index 00000000000000..d5cf817f97fca0 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/properties_WebArea.md @@ -0,0 +1,103 @@ +--- +id: propertiesWebArea +title: Webエリア +--- + +--- +## Access 4D methods + +You can call 4D methods from the JavaScript code executed in a Web area and get values in return. To be able to call 4D methods from a Web area, you must activate the 4D methods accessibility property ("all"). + +> This property is only available if the Web area [uses the embedded Web rendering engine](#use-embedded-web-rendering-engine). + +When this property is on, a special JavaScript object named `$4d` is instantiated in the Web area, which you can [use to manage calls to 4D project methods](webArea_overview.md#4d-object). + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | ----------------------- | +| methodsAccessibility | string | "none" (default), "all" | + +#### Objects Supported + +[Webエリア](webArea_overview.md) + + +--- +## Progression + +Name of a Longint type variable. This variable will receive a value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | -------------------------- | +| progressSource | string | Name of a Longint variable | + +#### Objects Supported + +[Webエリア](webArea_overview.md) + + + + +--- +## URL + +A String type variable that designates the URL loaded or being loading by the associated Web area. The association between the variable and the Web area works in both directions: + +* If the user assigns a new URL to the variable, this URL is automatically loaded by the Web area. +* Any browsing done within the Web area will automatically update the contents of the variable. + +Schematically, this variable functions like the address area of a Web browser. You can represent it via a text area above the Web area. + +### URL Variable and WA OPEN URL command + +The URL variable produces the same effects as the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. The following differences should nevertheless be noted: +- For access to documents, this variable only accepts URLs that are RFC-compliant ("file://c:/My%20Doc") and not system pathnames ("c:\MyDoc"). The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command accepts both notations. +- If the URL variable contains an empty string, the Web area does not attempt to load the URL. The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command generates an error in this case. +- If the URL variable does not contain a protocol (http, mailto, file, etc.), the Web area adds "http://", which is not the case for the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. +- When the Web area is not displayed in the form (when it is located on another page of the form), executing the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command has no effect, whereas assigning a value to the URL variable can be used to update the current URL. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| urlSource | string | A URL. | + +#### Objects Supported + +[Webエリア](webArea_overview.md) + + + + + + +--- +## Use embedded Web rendering engine + +This option allows choosing between two rendering engines for the Web area, depending on the specifics of your application: + +* **unchecked** - `JSON value: system` (default): In this case, 4D uses the "best" engine corresponding to the system. On Windows, 4D automatically uses the most recent version of the browser found on the machine (IE11, MS Edge, etc.). On macOS, 4D uses the current version of WebKit (Safari). This means that you automatically benefit from the latest advances in Web rendering, through HTML5 or JavaScript. However, you may notice some rendering differences between Internet Explorer/Edge implementations and Web Kit ones. +* **checked** - `JSON value: embedded`: In this case, 4D uses Blink engine from Google. Using the embedded Web engine means that Web area rendering and their functioning in your application are identical regardless of the platform used to run 4D (slight variations of pixels or differences related to network implementation may nevertheless be observed). When this option is chosen, you no longer benefit from automatic updates of the Web engine performed by the operating system; however, new versions of the engines are provided through 4D. + + Note that the Blink engine has the following limitations: + * [WA SET PAGE CONTENT](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PAGE-CONTENT.301-4310783.en.html): using this command requires that at least one page is already loaded in the area (through a call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or an assignment to the URL variable associated to the area). + * Execution of Java applets, JavaScripts and plug-ins is always enabled and cannot be disabled in Web areas in Blink. The following selectors of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) and [WA GET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-GET-PREFERENCE.301-4310763.en.html) commands are ignored: + * `WA enable Java applets` + * `WA enable JavaScript` + * `WA enable plugins` + * When URL drops are enabled by the `WA enable URL drop` selector of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command, the first drop must be preceded by at least one call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or one assignment to the URL variable associated to the area. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | -------------------- | +| webEngine | string | "embedded", "system" | + +#### Objects Supported + +[Webエリア](webArea_overview.md) \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/radio_overview.md b/website/translated_docs/ja/FormObjects/radio_overview.md new file mode 100644 index 00000000000000..ac910fb04b37b0 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/radio_overview.md @@ -0,0 +1,162 @@ +--- +id: radiobuttonOverview +title: ラジオボタン +--- + +## Overview + +Radio buttons are objects that allow the user to select one of a group of buttons. + +Usually, a radio button shows a small bullseye with text. However, radio buttons can have [various appearances](#button-styles). + +![](assets/en/FormObjects/radio1.png) + +A radio button is selected: +- when the user clicks on it +- when it has the focus and the user presses the **Space bar** key. + + + +## Configuring radio buttons + +Radio buttons are used in coordinated sets: only one button at a time can be selected in the set. In order to operate in a coordinated manner, a set of radio buttons must share the same [Radio Group](properties_Object.md#radio-group) property. + +Radio buttons are controlled with methods. Like all buttons, a radio button is set to 0 when the form is first opened. A method associated with a radio button executes when the button is selected. The following is an example of a group of radio buttons used in a video collection database to enter the speed of the recording (SP, LP, or EP): + +![](assets/en/FormObjects/radio2.png) + +Selecting one radio button in a group sets that button to 1 and all of the others in the group to 0. Only one radio button can be selected at a time. +> You can associate [Boolean type expressions](properties_Object.md#variable-or-expression) with radio buttons. In this case, when a radio button in a group is selected, its variable is True and the variables for the group's other radio buttons are False. + +The value contained in a radio button object is not saved automatically (except if it is the representation of a Boolean field); radio button values must be stored in their variables and managed with methods. + + + + +## Button Styles + +Radio [button styles](properties_TextAndPicture.md#button-style) control radio button's general appearance as well as its available properties. It is possible to apply different predefined styles to radio buttons. However, the same button style must be applied to all radio buttons in a group so that they work as expected. + +4D provides radio buttons in the following predefined styles: + + +### Regular + +The Regular radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_regular.png) + +In addition to initiating code execution, the Regular radio button style changes bullsey color when being hovered. + + +### Flat + +The Flat radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_flat.png) + +By default, the Flat style has a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + + +### Toolbar + +The Toolbar radio button style is primarily intended for integration in a toolbar. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + +![](assets/en/FormObjects/radio_toolbar.png) + + - *macOS* - the highlight of the button never appears. + + + +### Bevel + +The Bevel radio button style is similar to the [Toolbar](#toolbar) style's behavior, except that it has a light gray background and a gray outline. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + + ![](assets/en/FormObjects/radio_bevel.png) + + - *macOS* - the highlight of the button never appears. + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the corners of the button are rounded. ![](assets/en/FormObjects/roundedBevel.png) + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the button is displayed as a two-tone system button. + + + +### OS X Textured + +The OS X Textured radio button style is nearly identical to the [Toolbar](#toolbar) style except, depending on the OS, it may have a different appearance and does not display hover. + +By default, the OS X Textured style appears as: + + - *Windows* - a toolbar-like button with a label in the center and the background is always displayed. + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/OSXTextured.png) + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + + ![](assets/en/FormObjects/radio_xp.png) + + - *macOS* - its background is always displayed. + + + +### Collapse / Expand + +This button style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. In Windows, the button looks like a [+] or a [-]; in macOS, it looks like a triangle pointing right or down. + +![](assets/en/FormObjects/checkbox_collapse.png) + + + +### Disclosure Button + +The disclosure radio button style displays the radio button as a standard disclosure button, usually used to show/hide additional information. The button symbol points downwards with value 0 and upwards with value 1. + +![](assets/en/FormObjects/checkbox_disclosure.png) + + +### Custom + +The Custom radio button style accepts a personalized background picture and allows managing additional parameters such as [icon offset](properties_TextAndPicture.md#icon-offset) and [margins](properties_TextAndPicture.md#horizontalMargin). + + +## Supported properties + +All radio buttons share the same set of basic properties: + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Radio Group](properties_Object.md#radio-group) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +Additional specific properties are available depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/website/translated_docs/ja/FormObjects/shapes_overview.md b/website/translated_docs/ja/FormObjects/shapes_overview.md new file mode 100644 index 00000000000000..ff3ad307660bc6 --- /dev/null +++ b/website/translated_docs/ja/FormObjects/shapes_overview.md @@ -0,0 +1,109 @@ +--- +id: shapesOverview +title: Shapes +--- + +Shapes are [static objects](formObjects_overview.md#active-and-static-objects) that can be added to 4D forms. + +4D forms support the following basic shapes: + +- rectangles +- lines +- ovals + + +## Rectangle + +A static rectangle is a decorative object for forms. Rectangles are constrained to squared shapes. + +The design of rectangles is controlled through many properties (color, line thickness, pattern, etc.). Specifically, the [roundness](properties_CoordinatesAndSizing.md#corner-radius) of its corners can be defined. + +![](assets/en/FormObjects/shapes_rectangle2.png) + +#### JSON Example: + +```code4d + "myRectangle": { + "type": "rectangle", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "borderRadius": 20 //define the roundness of the corners + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Corner radius](properties_CoordinatesAndSizing.md#corner-radius) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Line + +A static line is a decorative object for forms, drawn between two plots. Lines can be horizontal, vertical, or of any angle shapes. + +The design of lines is controlled through many properties (color, line thickness, etc.). + + +### startPoint property +The `startPoint` JSON property defines from which coordinate to draw the line (see example). + +> the `startPoint` property is not exposed in the Property List, where the line drawing direction is visible. + + + +#### JSON Examples: + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "topLeft", //first direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: ![](assets/en/FormObjects/shape_line1.png) + + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "bottomLeft", //2nd direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: ![](assets/en/FormObjects/shape_line2.png) + + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [startPoint](#startpoint-property) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Oval + +A static oval is a decorative object for forms. Oval objects can be used to draw circular shapes (when [width](properties_CoordinatesAndSizing.md#width) and [height](properties_CoordinatesAndSizing.md#height) properties are equal). + +![](assets/en/FormObjects/shape_oval.png) + +#### JSON Example: + +```code4d + "myOval": { + "type": "oval", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "fill": "blue" //define the background color + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/website/translated_docs/ja/Project/architecture.md b/website/translated_docs/ja/Project/architecture.md index 0328abafded2cb..38d955271f5658 100644 --- a/website/translated_docs/ja/Project/architecture.md +++ b/website/translated_docs/ja/Project/architecture.md @@ -1,19 +1,19 @@ --- id: architecture -title: Architecture of a 4D project +title: 4D プロジェクトのアーキテクチャー --- -A 4D project is made of several folders and files, stored within a single parent database folder. For example: +4D プロジェクトは、一つの親プロジェクトフォルダーに格納された、複数のフォルダーやファイルから構成されています。 For example: ![](assets/en/Project/project1.png) -> If your project has been converted from a binary database, additional folders may be present. See "Converting databases to projects" on [doc.4d.com](https://doc.4d.com). +> バイナリデータベースから変換されたプロジェクトの場合には、追加のフォルダーが存在している場合があります (doc.4d.com にて "[データベースをプロジェクトモードに変換する](https://doc.4d.com/4Dv18/4D/18/Converting-databases-to-projects.300-4606146.ja.html)" 参照)。 -## Project folder +## Project フォルダー -The Project folder typically contains the following hierarchy: +典型的な Project フォルダーの構造です: -- *databaseName*.4DProject file +- *databaseName*.4DProject ファイル - Sources + DatabaseMethods + Methods @@ -21,18 +21,18 @@ The Project folder typically contains the following hierarchy: + TableForms + Triggers + DerivedData -+ Trash (if any) ++ Trash (あれば) -### *databaseName*.4DProject file +### *databaseName*.4DProject ファイル -Project development file, used to designate and launch the project. This file can be opened by: +プロジェクトを定義し、起動するためのプロジェクト開発ファイルです。 このファイルを開くには次のいずれかが必要です: - 4D Developer -- 4D Server (read-only, see [Developing a project](developing.md)) +- 4D Server (読み取り専用モード;[プロジェクトの開発](developing.md) 参照) -**Note:** In 4D projects, development is done with 4D Developer and multi-user development is managed through source control tools. 4D Server can open .4DProject files for testing purposes. +**注:** 4D プロジェクトの開発は 4D Developer によっておこない、マルチユーザー開発はソースコントロールツールによって管理します。 4D Server は .4DProject ファイルをテスト用に開くことができます。 -### Sources folder +### Sources フォルダー | Contents | Description | Format | | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | @@ -48,21 +48,21 @@ Project development file, used to designate and launch the project. This file ca | styleSheets_windows.css | Windows css style sheets (from converted binary database) | CSS | -#### DatabaseMethods folder +#### DatabaseMethods フォルダー | Contents | Description | Format | | ------------------------ | ---------------------------------------------------------------------- | ------ | | *databaseMethodName*.4dm | Database methods defined in the database. One file per database method | text | -#### Methods folder +#### Methods フォルダー | Contents | Description | Format | | ---------------- | ------------------------------------------------------------ | ------ | | *methodName*.4dm | Project methods defined in the database. One file per method | text | -#### Forms folder +#### Forms フォルダー | Contents | Description | Format | | ----------------------------------------- | ------------------------------------------ | ------- | @@ -72,7 +72,7 @@ Project development file, used to designate and launch the project. This file ca | *formName*/ObjectMethods/*objectName*.4dm | Object methods. One file per object method | text | -#### TableForms folder +#### TableForms フォルダー | Contents | Description | Format | | ---------------------------------------------------- | ------------------------------------------------------ | ------- | @@ -86,7 +86,7 @@ Project development file, used to designate and launch the project. This file ca | *n*/Output/*formName*/ObjectMethods/*objectName*.4dm | Output form object methods. One file per object method | text | -#### Triggers folder +#### Triggers フォルダー | Contents | Description | Format | | ------------- | ------------------------------------------------------------------------------------------- | ------ | @@ -95,7 +95,7 @@ Project development file, used to designate and launch the project. This file ca **Note:** The .4dm file extension is a text-based file format, containing the code of a 4D method. It is compliant with source control tools. -### Trash folder +### Trash フォルダー The Trash folder contains methods and forms that were deleted from the project (if any). It can contain the following folders: @@ -105,11 +105,11 @@ The Trash folder contains methods and forms that were deleted from the project ( Within these folders, deleted element names are in parentheses, e.g. "(myMethod).4dm". The folder organization is identical to the [Sources](#sources) folder. -### DerivedData folder +### DerivedData フォルダー The DerivedData folder contains cached data used internally by 4D to optimize processing. It is automatically created or recreated when necessary. You can ignore this folder. -## Resources folder +## Resources フォルダー The Resources folder contains any custom database resource files and folders. In this folder, you can place all the files needed for the translation or customization of the application interface (picture files, text files, XLIFF files, etc.). 4D uses automatic mechanisms to work with the contents of this folder, in particular for the handling of XLIFF files and static pictures. For using in remote mode, the Resources folder lets you share files between the server machine and all the client machines. See the *4D Server Reference Manual*. @@ -121,7 +121,7 @@ The Resources folder contains any custom database resource files and folders. In (*) only if the project was exported from a .4db binary database. -## Data folder +## Data フォルダー The data folder contains the data file and all files and folders relating to the data. @@ -134,7 +134,7 @@ The data folder contains the data file and all files and folders relating to the (*) When the project is created from a .4db binary database, the data file is left untouched. Thus, it can be named differently and placed in another location. -### Settings folder +### Settings フォルダー This folder contains **user settings files for data** used for database administration. @@ -146,7 +146,7 @@ This folder contains **user settings files for data** used for database administ | settings.4DSettings | Custom database settings for this data file | XML | -### Logs folder +### Logs フォルダー The Logs folder contains all log files used by the project. Log files include, in particular: @@ -158,7 +158,7 @@ The Logs folder contains all log files used by the project. Log files include, i > An additional Logs folder is available in the system user preferences folder (active 4D folder, see [Get 4D folder](https://doc.4d.com/4Dv17R6/4D/17-R6/Get-4D-folder.301-4311294.en.html) command) for maintenance log files and in cases where data folder is read-only. -## Settings folder +## Settings フォルダー This folder contains **user settings files** used for database administration. File are added to the folder when necessary. @@ -171,7 +171,7 @@ This folder contains **user settings files** used for database administration. F | Backup.4DSettings | Database backup settings, used to set the [backup options](Backup/settings.md)) when each backup is launched. This file can also be used to read or set additional options, such as the amount of information stored in the *backup journal*. Keys concerning backup configuration are described in the *4D XML Keys Backup* manual. | XML | -## userPreferences.*userName* folder +## userPreferences.*userName* フォルダー This folder contains files that memorize user configurations, e.g. break point positions. You can just ignore this folder. It contains for example: @@ -186,12 +186,12 @@ This folder contains files that memorize user configurations, e.g. break point p | preferencesv15.4DPreferences | User preferences | JSON | -## Components folder +## Components フォルダー This folder contains the components to be available in the project database only. It must be stored at the same level as the Project folder. -> A project database can be used itself as a component: - for development: put an alias of the .4dproject file in the Components folder of the host database. - for deployment: put the component as .4dz file (see [Building a project package](building.md)) in a .4dbase folder, just like with .4db/.4dc files. +> A project database can be used itself as a component: - for development: put an alias of the .4dproject file in the Components folder of the host database. - for deployment: build the component (see [Building a project package](building.md)) and put the resulting .4dz file in a .4dbase folder in the Components folder of the host database. -## Plugins folder +## Plugins フォルダー This folder contains the plug-ins to be available in the project database only. It must be stored at the same level as the Project folder. \ No newline at end of file diff --git a/website/translated_docs/ja/Project/creating.md b/website/translated_docs/ja/Project/creating.md index 950ab3572a10cb..ef7e9688a15f33 100644 --- a/website/translated_docs/ja/Project/creating.md +++ b/website/translated_docs/ja/Project/creating.md @@ -1,27 +1,31 @@ --- id: creating -title: Creating a 4D project +title: 4D プロジェクトの作成 --- -## Requirements +## 要件 -New 4D projects can only be created from **4D Developer** (see [Developing a project](developing.md)). +新規の 4D プロジェクトを作成できるのは **4D Developer** アプリケーションのみです ([プロジェクトの開発](developing.md) 参照)。 -**Note:** 4D Server can open .4DProject files in read-only mode, for testing purposes only. For deployment, 4D projects are provided as .4dz files (zipped files). For more information, please refer to [Building a project package](building.md). +**注:** 4D Server は .4DProject ファイルを読み取り専用モードで開くことができます (テスト目的のみ)。 運用するにあたっては、4D プロジェクトは .4dz ファイル (圧縮ファイル) の形で提供されます。 詳細については [プロジェクトパッケージのビルド](building.md) を参照ください。 -> You can create project databases by exporting existing binary databases. See "Export from a 4D database" on [doc.4d.com](https://doc.4d.com). +> 既存のバイナリデータベースを変換してプロジェクトデータベースにすることもできます doc.4d.com の "[データベースをプロジェクトモードに変換する](https://doc.4d.com/4Dv18/4D/18/Converting-databases-to-projects.300-4606146.ja.html)" 参照。 -## Creating the project files +## プロジェクトファイルの作成 -To create a new database project: +新規データベースプロジェクトを作成するには: -1. Launch a 4D Developer application. -2. Select **New > Database Project...** from the **File** menu: ![](assets/en/Project/project-create1.png) OR Select **Database Project...** from the **New** toolbar button: ![](assets/en/Project/projectCreate2.png) - A standard **Save** dialog box appears so that you can choose the name and location of the 4D database project main folder. -3. Enter the name of your project folder and click **Save**. This name will be used: - - as the name of the main project folder (named "MyFirstProject" in the [Architecture of a 4D Project](Project/architecture.md) section example), - - as the name of the .4DProject file at the first level of the "Project" folder. You can choose any name allowed by your operating system. *Warning:* if your database project is intended to work on other systems or to be saved via a source control tool, you must take their specific naming recommendations into account. +1. 4D Developer アプリケーションを起動します。 +2. **ファイル**メニューから**新規 > データベースプロジェクト...**を選択します: ![](assets/en/Project/project-create1.png) + または + ツールバーの**新規**ボタンの矢印をクリックして**データベースプロジェクト...**を選択します: ![](assets/en/Project/projectCreate2.png) + 標準の**保存**ダイアログが開き、4D データベースプロジェクトを格納するフォルダーの名称と場所が指定できます。 +3. プロジェクトフォルダー名を入力したら、**保存**をクリックします。 この名称はつぎの場所に使用されます: + - プロジェクトを格納するフォルダーの名称 ([4D プロジェクトのアーキテクチャー](Project/architecture.md) で紹介している例では "MyFirstProject") + - "Project" フォルダーの中にある .4DProject ファイルの名称 + + OS によって許可されている名称であれば使用可能です。 *警告:* 異なる OS での使用を予定していたり、ソースコントロールツールを利用したりするのであれば、それらの命名規則を考慮する必要があります。 -When you validate the dialog box, 4D closes the current database (if any), creates a project folder at the indicated location, and puts all the files needed for proper operation of the database project into it. For more information, refer to [Architecture of a 4D Project](Project/architecture.md). +ダイアログボックスを受け入れると、4D は開いているデータベース (あれば) を閉じ、指定の場所にプロジェクトフォルダーを作成し、データベースプロジェクトに必要なファイルを設置します (詳細については [4D プロジェクトのアーキテクチャー](Project/architecture.md) を参照ください)。 -Next, the 4D application window is displayed with the Explorer in the foreground. You can then, for example, create project forms or display the Structure editor and add tables, fields, etc. \ No newline at end of file +つぎに、エクスプローラーを最前面にした 4D アプリケーションウィンドウが表示されます。 プロジェクトが作成されたら、プロジェクトフォームの作成や、ストラクチャーエディターを開いてテーブルおよびフィールドを追加するなど、開発作業へと進みます。 \ No newline at end of file diff --git a/website/translated_docs/ja/Project/overview.md b/website/translated_docs/ja/Project/overview.md index 9f1877f6953fb4..65f7b6f81efc08 100644 --- a/website/translated_docs/ja/Project/overview.md +++ b/website/translated_docs/ja/Project/overview.md @@ -3,33 +3,33 @@ id: overview title: Overview --- -A 4D project contains all of the source code of a 4D database application, from the database structure to the user interface, including forms, menus, user settings, or any required resources. A 4D project is primarily made of text-based files. +データベースストラクチャーからユーザーインターフェース (フォームやメニュー、ユーザー設定、その他必要なリソース含む) まで、4D データベースアプリケーションのすべてのソースコードが 4D プロジェクトには格納されています。 4D プロジェクトは主にテキストファイルによって構成されています。 -4D projects are created and handled using the 4D Developer application. Project files are then used to build final application deployment files, that can be opened by 4D Server or 4D Volume license (merged applications). +4D プロジェクトは 4D Developer アプリケーションを使って作成・編集します。 プロジェクトファイルをもとにビルドしたアプリケーション運用ファイルは、4D Server や 4D Volume ライセンスで開くことができます (組み込みアプリケーション)。 -## Project files +## プロジェクトファイル -4D project files are open and edited using regular 4D platform applications. Full-featured editors are available to manage files, including a structure editor, a method editor, a form editor, a menu editor... +4D プロジェクトファイルは 4D で開いて編集します。 ストラクチャーエディター、メソッドエディター、フォームエディター、メニューエディターなど、機能の充実したエディターを使ってファイルを扱うことができます。 -Moreover, since projects are in human-readable, plain text files (JSON, XML, etc.), they can be read or edited manually by developers, using any code editor. +また、人間にも解読可能なテキストファイル (JSON、XML等) 形式で提供されているため、プロジェクトの読み書きは任意のコードエディターでおこなうことも可能です。 -## Source control +## ソースコントロール -4D project files make it easier to program generically, create application templates, and share code. +4D プロジェクトファイルによって、汎用的なコーディング、アプリケーションテンプレートの作成や、コードシェアリングが容易になります。 -The flexibility of developing a 4D project is especially demonstrated when multiple developers need to work on the same part of an application, at the same time. 4D project files are particularly well suited to be managed by a **source control** repository (Perforce, Git, SVN, etc.), allowing development teams to take advantage of features such as: +4D プロジェクト開発の柔軟性が一番顕著になるのは、複数のデベロッパーがアプリケーションの同じ部分で同時に作業しなければならないときです。 4D プロジェクトファイルの管理には、Perforce、Git、SVNなどの**ソースコントロール**リポジトリがとくに適しており、これらによって開発チームはつぎのような機能を活用できます: -- Versioning -- Revision comparisons -- Rollbacks +- バージョン管理 +- リビジョン比較 +- ロールバック -## Working with projects +## プロジェクトで作業する -You create a 4D database project by: +4D データベースプロジェクトを作成する方法は二つあります: -- creating a new, blank project -- see [Creating a 4D project](creating.md). -- exporting an existing 4D "binary" development to a project -- see "Export from a 4D database" on [doc.4d.com](https://doc.4d.com). +- まっさらなプロジェクトを新規作成する -- [4D プロジェクトの作成](creating.md) 参照 +- 既存の 4D バイナリデータベースをプロジェクトへと変換する -- doc.4d.com にて "[データベースをプロジェクトモードに変換する](https://doc.4d.com/4Dv18/4D/18/Converting-databases-to-projects.300-4606146.ja.html)" 参照 -Project development is done locally, using the 4D Developer application -- see [Developing a project](developing.md). Team development interactions are handled by the source control tool +プロジェクトの開発は 4D Developer アプリケーションを用いて、ローカルにおこないます -- [プロジェクトの開発](developing.md) 参照。 チーム開発によるソースの管理にはソースコントロールツールを使います。 -4D projects can be compiled and easily deployed as single-user or client-server applications containing compacted versions of your project -- see [Building a project package](building.md). \ No newline at end of file +4D プロジェクトはコンパイルして圧縮し、シングルユーザーまたはクライアントサーバーアプリケーションとして簡単に運用することができます -- [プロジェクトパッケージのビルド](building.md) 参照。 \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/buttonGrid_overview.md b/website/translated_docs/pt/FormObjects/buttonGrid_overview.md new file mode 100644 index 00000000000000..be25d6a1f87c8a --- /dev/null +++ b/website/translated_docs/pt/FormObjects/buttonGrid_overview.md @@ -0,0 +1,35 @@ +--- +id: buttonGridOverview +title: Button Grid +--- + +## Overview + +A button grid is a transparent object that is placed on top of a graphic. The graphic should depict a row-by-column array. When one of the graphics is clicked on, it will have a sunken or pressed appearance: + +![](assets/en/FormObjects/buttonGrid_smileys.png) + +You can use a button grid object to determine where the user clicks on the graphic. The object method would use the `On Clicked` event and take appropriate action depending on the location of the click. + + +## Creating button grids + +To create the button grid, add a background graphic to the form and place a button grid on top of it. Specify the number of [rows](properties_Crop.md#rows) and [columns](properties_Crop.md#columns). + +In 4D, a button grid is used as a color palette: + +![](assets/en/FormObjects/button_buttonGrid.png) + +## Using button grids + +The buttons on the grid are numbered from top left to bottom right. In the above example, the grid is 16 columns across by 16 rows down. The button in the top-left position returns 1 when clicked. If the red button at the far right of the second row is selected, the button grid returns 32. If no element is selected, the value is 0 + + +### Goto page + +You can assign the `gotoPage` [standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) to a button grid. When this action is selected, 4D will automatically display the page of the form that corresponds to the number of the button that is selected in the button grid. For example, if the user selects the tenth button of the grid, 4D will display the tenth page of the current form (if it exists). + + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Standard action](properties_Action.md#standard-action) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Width](properties_CoordinatesAndSizing.md#width) - [Visibility](properties_Display.md#visibility) \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/button_overview.md b/website/translated_docs/pt/FormObjects/button_overview.md new file mode 100644 index 00000000000000..72ed394a8facba --- /dev/null +++ b/website/translated_docs/pt/FormObjects/button_overview.md @@ -0,0 +1,366 @@ +--- +id: buttonOverview +title: Button +--- + +A button is an active object that can be assigned an action (*e.g.*, a database task or an interface function) to perform when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +Buttons can fulfill a variety of roles, depending on their style and the action assigned to it. For example, buttons could lead a user through a questionnaire or form to complete, or to make choices. Depending on its settings, a button may be designed to be clicked only once and execute a command, while others may require the user to click more than once to receive the desired result. + +

    + +## Handling buttons + +The actions assigned to buttons can originate from predefined [standard actions](properties_Action.md#standard-action) or from custom object methods. Examples of typical actions include letting the user accept, cancel, or delete records, copy or paste data, move from page to page in a multi-page form, open, delete, or add records in a subform, handle font attributes in text areas, etc. + +Buttons with standard actions are dimmed when appropriate during form execution. For example, if the first record of a table is displayed, a button with the `firstRecord` standard action would appear dimmed. + +If you want a button to perform an action that's not available as a standard action, leave the standard action field empty and write an object method to specify the button’s action. For more information about object methods and how to create and associate them, see [Using object methods](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-object-methods.300-4163733.en.html). Normally, you would activate the `On Clicked` event and the method would run only when the button is clicked. You can associate a method with any button. + +The [variable](properties_Object.md#variable-or-expression) associated with a button is automatically set to **0** when the form is executed for the first time in Design or Application mode. When the user clicks a button, its variable is set to **1**. + +> A button can be assigned both a standard action and a method. In this case, if the button is not disabled by the standard action, the method is executed before the standard action. + + + +## Button Styles + +Button styles control a button's general appearance as well as its available properties. It is possible to apply different predefined styles to buttons or to associate pop-up menus with them. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many button objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides buttons in the following predefined styles: + + + +### Regular + +The Regular button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_regular.png) + +By default, the Regular style has a light gray background with a label in the center. When the cursor hovers over the Regular button style, the border and background color change to demonstrate that it has the focus. In addition to initiating code execution, the Regular button style mimics a mechanical button by quickly changing background color when being clicked. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", //define the type of object + "style":"regular", //define the style of the button + "defaultButton":"true" //define button as the default choice + "text": "OK", //text to appear on the button + "action": "Cancel", //action to be be performed + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the button + "height": 20 //height of the button + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + + +### Flat + +The Flat button style is a standard system button (*i.e.*, a rectangle with a descriptive label) which executes code when a user clicks on it. + +![](assets/en/FormObjects/button_flat.png) + +By default, the Flat style has a white background with a label in the center, rounded corners, and a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + +#### JSON Example: + +```code4d + + "myButton": { + "type": "button", + "style":"flat", + "defaultButton":"true" + "text": "OK", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. + +### Toolbar + +The Toolbar button style is primarily intended for integration in a toolbar. It includes the option to add a pop-up menu (indicated by an inverted triangle) which is generally used to display additional choices for the user to select. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted when it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_toolbar.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"toolbar", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel button style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive label) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_bevel.png) + + - *macOS* - the highlight of the button never appears. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"bevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the Rounded Bevel style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + + ![](assets/en/FormObjects/button_roundedbevel.png) + + - *macOS* - the corners of the button are rounded. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"roundedBevel", + "text": "OK", + "popupPlacement":"none" / + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Gradient style has a light gray background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is identical to the Bevel style. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and in the center of the button. + +![](assets/en/FormObjects/button_osxgradient.png) + + - *macOS* - the button is displayed as a two-tone system button. When it uses the “With Pop-up Menu” property, a triangle is displayed to the right and at the bottom of the button. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"gradientBevel", + "text": "OK", + "popupPlacement":"linked" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### OS X Textured + +The OS X Textured button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's pop-up menu property option. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light gray background with a label in the center. It has the special feature of being transparent in Vista. + + ![](assets/en/FormObjects/button_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"texturedBevel", + "text": "OK", + "popupPlacement":"separated" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's transparency and pop-up menu property option. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + +![](assets/en/FormObjects/button_officexp.png) + + - *macOS* - its background is always displayed. + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"office", + "text": "OK", + "popupPlacement":"none" + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Help + + +The Help button style can be used to display a standard system help button. By default, the Help style is displayed as a question mark within a circle. + +![](assets/en/FormObjects/button_help.png) + +#### JSON Example: + +```code4d + "myButton": { + "type": "button", + "style":"help", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + +> The Help style does not support [Number of States](properties_TextAndPicture.md#number-of-states), [Picture pathname](properties_TextAndPicture.md#picture-pathname), and [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) basic properties. + + +### Circle + +The Circle button style appears as a round system button. This button style is designed for macOS. + +![](assets/en/FormObjects/button_circleM.png) + +On Windows, it is identical to the “None” style (the circle in the background is not taken into account). + + +#### JSON Example: + +``` + "myButton": { + "type": "button", + "style":"circular", + "text": "OK", + "dropping": "custom", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Custom + +The Custom button style accepts a personalized background picture and allows managing additional parameters such as icon and margin offset. + +![](assets/en/FormObjects/button_custom.png) + + +#### JSON Example: + +```code + "myButton": { + "type": "button", + "style":"custom", + "text": "", + "customBackgroundPicture": "/RESOURCES/bkgnd.png", + "icon": "/RESOURCES/custom.png", + "textPlacement": "center", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +## Supported Properties + +All buttons share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Not rendered](properties_Display.md#not-rendered) - [Number of States](properties_TextAndPicture.md#number-of-states)(1) - [Object Name](properties_Object.md#object-name) - [Picture pathname](properties_TextAndPicture.md#picture-pathname)(1) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position)(1) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +> (1) Not supported by the [Help](#help) style. + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Default Button](properties_Appearance.md#default-button) (Flat, Regular) +- [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) - [With pop-up menu](properties_TextAndPicture.md#with-popup-menu) (Toolbar, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Circle, Custom) + diff --git a/website/translated_docs/pt/FormObjects/checkbox_overview.md b/website/translated_docs/pt/FormObjects/checkbox_overview.md new file mode 100644 index 00000000000000..884bef346fc62c --- /dev/null +++ b/website/translated_docs/pt/FormObjects/checkbox_overview.md @@ -0,0 +1,420 @@ +--- +id: checkboxOverview +title: Check Box +--- + +## Overview + +A check box is a type of button used to enter or display binary (true-false) data. Basically, it is either checked or unchecked, but a third state can be defined (see below). + +![](assets/en/FormObjects/checkbox.png) + +Check boxes are controlled by methods. Like all buttons, a check box variable is set to 0 when the form is first opened. The method associated with it executes when the check box is selected. + +A check box displays text next to a small square. This text is set in the [Title](properties_Object.md#title) property of the check box. You can enter a title in the form of an XLIFF reference in this area (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + + +## Using check boxes + +A check box can be associated to a [variable or expression](properties_Object.md#variable-or-expression) of type integer or boolean. + +- **integer:** if the box is checked, the variable has the value 1. When not checked, it has the value 0. If check box is in third state (see below), it has the value 2. +- **boolean:** if the box is checked, the variable has the value `True`. When not checked, it has the value `False`. + +Any or all check boxes in a form can be checked or unchecked. A group of check boxes allows the user to select multiple options. + + +### Three-States check box + +Check box objects with style [Regular](checkbox_overview.md#regular) and [Flat](checkbox_overview.md#flat) accept a third state. This third state is an intermediate status, which is generally used for display purposes. For example, it allows indicating that a property is present in a selection of objects, but not in each object of the selection. + +![](assets/en/FormObjects/checkbox_3states.png) + +To enable this third state, you must select the [Three-States](properties_Display.md#three-states) property. + +This property is only available for regular and flat check boxes associated with numeric [variables or expressions](properties_Object.md#variable-or-expression) — check boxes for Boolean expressions cannot use the [Three-States](properties_Display.md#three-states) property (a Boolean expression cannot be in an intermediary state). + +The variable associated with the check box returns the value 2 when the check box is in the third state. +> In entry mode, the Three-States check boxes display each state sequentially, in the following order: unchecked / checked / intermediary / unchecked, etc. The intermediary state is generally not very useful in entry mode; in the code, simply force the value of the variable to 0 when it takes the value of 2 in order to pass directly from the checked state to the unchecked state. + + +## Using a standard action + +You can assign a [standard action](properties_Action.md#standard-action) to a check box to handle attributes of text areas. For example, if you assign the `fontBold` standard action, at runtime the check box will manage the "bold" attribute of the selected text in the current area. + +Only actions that can represent a true/false status ("checkable" actions) are supported by this object: + +| Supported actions | Usage condition (if any) | +| ----------------------------------- | ------------------------ | +| avoidPageBreakInsideEnabled | 4D Write Pro areas only | +| fontItalic | | +| fontBold | | +| fontLinethrough | | +| fontSubscript | 4D Write Pro areas only | +| fontSuperscript | 4D Write Pro areas only | +| fontUnderline | | +| font/showDialog | Mac only | +| htmlWYSIWIGEnabled | 4D Write Pro areas only | +| section/differentFirstPage | 4D Write Pro areas only | +| section/differentLeftRightPages | 4D Write Pro areas only | +| spell/autoCorrectionEnabled | | +| spell/autoDashSubstitutionsEnabled | Mac only | +| spell/autoLanguageEnabled | Mac only | +| spell/autoQuoteSubstitutionsEnabled | Mac only | +| spell/autoSubstitutionsEnabled | | +| spell/enabled | | +| spell/grammarEnabled | Mac only | +| spell/showDialog | Mac only | +| spell/visibleSubstitutions | | +| visibleBackground | 4D Write Pro areas only | +| visibleFooters | 4D Write Pro areas only | +| visibleHeaders | 4D Write Pro areas only | +| visibleHiddenChars | 4D Write Pro areas only | +| visibleHorizontalRuler | 4D Write Pro areas only | +| visiblePageFrames | 4D Write Pro areas only | +| visibleReferences | | +| widowAndOrphanControlEnabled | 4D Write Pro areas only | + +For detailed information on these actions, please refer to the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section. + +## Check box button styles + +Check box styles control a check box's general appearance as well as its available properties. It is possible to apply different predefined styles to check boxes. A great number of variations can be obtained by combining these properties / behaviors. + +With the exception of the [available properties](#supported-properties), many check box objects are *structurally* identical. The difference is in the processing of their associated variables. + +4D provides check boxes in the following predefined styles: + +### Regular + +The Regular check box style is a standard system check box (*i.e.*, a rectangle with a descriptive title): + +![](assets/en/FormObjects/checkbox_regular.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"regular", + "text": "Cancel", + "action": "Cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + "dataSourceTypeHint":"boolean" + } +``` + + + +### Flat + +The Flat check box style is a minimalist appearance. The Flat style's graphic nature is particularly useful for forms that will be printed. + +![](assets/en/FormObjects/checkbox_flat.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"flat", + "text": "Cancel", + "action": "cancel", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Toolbar button + +The Toolbar button check box style is primarily intended for integration in a toolbar. + +The Toolbar style has a transparent background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_toolbar.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"toolbar", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Bevel + +The Bevel check box style combines the appearance of the [Regular](#regular) (*i.e.*, a rectangle with a descriptive title) style with the [Toolbar](#toolbar) style's behavior. + +The Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example with states unchecked / checked / highlighted: + +![](assets/en/FormObjects/checkbox_bevel.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"bevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Rounded Bevel + +The Rounded Bevel check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. As with the Bevel style, the Rounded Bevel style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The Rounded Bevel style has a light gray background with a title. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + +Example on macOS: + + ![](assets/en/FormObjects/checkbox_roundedbevel_mac.png) + +> on Windows, the Rounded Bevel style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +```code4d + "myCheckBox": { + "type": "checkbox", + "style":"roundedBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### OS X Gradient + +The OS X Gradient check box style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. As with the Bevel style, the OS X Gradient style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The OS X Gradient style has a light gray background with a title and is displayed as a two-tone system button on macOS. It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states). + + ![](assets/en/FormObjects/checkbox_osxgradient_mac.png) + +> On Windows, this style is identical to the [Bevel](#bevel) style. + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"gradientBevel", + "text": "Checkbox", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### OS X Textured + +The OS X Textured checkbox style is similar to the [Bevel](#bevel) style except, depending on the OS, it may have a different appearance. As with the Bevel style, the OS X Textured style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +By default, the OS X Textured style appears as: + + - *Windows* - a standard system button with a light blue background with a title in the center. + + ![](assets/en/FormObjects/checkbox_osxtextured.png) + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/checkbox_osxtextured_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"texturedBevel", + "text": "Checkbox", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + + +### Office XP + +The Office XP check box style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. Example with states unchecked / checked / highlighted: + + ![](assets/en/FormObjects/checkbox_officexp.png) + + - *macOS* - its background is always displayed. Example with states unchecked / checked: + + ![](assets/en/FormObjects/checkbox_officexp_mac.png) + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"office", + "text": "Checkbox", + "action": "fontBold", + "icon": "/RESOURCES/File.png", + "iconFrames": 4 + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Collapse / Expand + +This check box style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. + + - *Windows* - the button looks like a [+] or a [-] + + ![](assets/en/FormObjects/checkbox_collapse.png) + + - *macOS* - it looks like a triangle pointing right or down. + + ![](assets/en/FormObjects/checkbox_collapse_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"disclosure", + "method": "m_collapse", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + + +### Disclosure Button + +In macOS and Windows, a check box with the "Disclosure" style appears as a standard disclosure button, usually used to show/hide additional information. When used as a radio button, the button symbol points downwards with value 0 and upwards with value 1. + + - *Windows* + + ![](assets/en/FormObjects/checkbox_disclosure.png) + + - *macOS* + + ![](assets/en/FormObjects/checkbox_disclosure_mac.png) + + +#### JSON Example: + +``` + "myCheckBox": { + "type": "checkbox", + "style":"roundedDisclosure", + "method": "m_disclose", + "left": 60, + "top": 160, + "width": 100, + "height": 20 + } +``` + + +### Custom + +The Custom check box style accepts a personalized background picture and allows managing specific properties: + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) +- [Icon Offset](properties_TextAndPicture.md#icon-offset) +- [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) and [Vertical Margin](properties_TextAndPicture.md#verticalMargin) + +It is usually associated with a [4-state picture](properties_TextAndPicture.md#number-of-states), that can be used in conjunction with a [4-state](properties_TextAndPicture.md#number-of-states) [background picture](properties_TextAndPicture.md#backgroundPathname). + +#### JSON Example: + +``` + "myCheckbox": { + "type": "checkbox", + "style":"custom", + "text": "OK", + "icon": "/RESOURCES/smiley.jpg", + "iconFrame": 4, + "customBackgroundPicture": "/RESOURCES/paper.jpg", + "iconOffset": 5, //custom icon offset when clicked + "left": 60, + "top": 160, + "width": 100, + "height": 20, + "customBorderX": 20, + "customBorderY": 5 + } +``` + + + + +## Supported Properties + +All check boxes share the same set of basic properties: + + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + + +Additional specific properties are available, depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Three-States](properties_Display.md#three-states) (Flat, Regular) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/input_overview.md b/website/translated_docs/pt/FormObjects/input_overview.md new file mode 100644 index 00000000000000..8fdbe26769cda5 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/input_overview.md @@ -0,0 +1,44 @@ +--- +id: inputOverview +title: Input +--- + +## Overview + +Inputs allow you to add enterable or non-enterable expressions such as database [fields](Concepts/identifiers.md#fields) and [variables](Concepts/variables.md) to your forms. Inputs can handle character-based data (text, dates, numbers...) or pictures: + +![](assets/en/FormObjects/input.png) + +Inputs can contain [assignable or non-assignable expressions](Concepts/quick-tour.md#assignable-vs-non-assignable-expressions). + +In addition, inputs can be [enterable or non-enterable](properties_Entry.md#enterable). An enterable input accepts data. You can set data entry controls for the object. A non-enterable input can only display values but cannot be edited by the user. + +You can manage the data with object or form [methods](Concepts/methods.md). + + +### JSON Example: + +```code4d + "myText": { + "type": "input", //define the type of object + "spellcheck": true, //enable spelling verification + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20 //height of the object + } +``` + + +## Supported Properties +[Alpha Format](properties_Display.md#alpha-format) - [Auto Spellcheck](properties_Entry.md#auto-spellcheck) - [Border Line Style](properties_BackgroundAndBorder.md) - [Bold](properties_Text.md#bold) - [Boolean Format](properties_Display.md#boolean-format) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#class) - [Context Menu](properties_Entry.md#context-menu) - [Date Format](properties_Display.md#date-format) - [Default value](properties_RangeOfValues.md#default-value) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression type](properties_Object.md#expression-type) - [Fill Color](properties_BackgroundAndBorder.md#fill-color) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Multiline](properties_Entry.md#multiline) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Orientation](properties_Text.md#orientation) - [Picture Format](properties_Display.md#picture-format) - [Placeholder](properties_Entry.md#placeholder) - [Print Frame](properties_Print.md#print-frame) - [Required List](properties_RangeOfValues.md#required-list) - [Right](properties_CoordinatesAndSizing.md#right) - [Save as](properties_DataSource.md#save-as) - [Selection always visible](properties_Entry.md#selection-always-visible) - [Store with default style tags](properties_Text.md#store-with-default-style-tags) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - \[Vertical Sizing\](properties_ResizingOptions.md#vertical -sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +--- +## Input alternatives + +You can also represent field and variable expressions in your forms using alternative objects, more particularly: + +* You can display and enter data from database fields directly in columns of [selection type List boxes](listbox_overview.md). +* You can represent a list field or variable directly in a form using [Pop-up Menus/Drop-down Lists](popupMenuDropdownList_overview) and [Combo Boxes](comboBox_overview.md) objects. +* You can represent a boolean expression as a [check box](checkbox_overview.md) or as a [radio button](radio_overview.md) object. \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/listbox_overview.md b/website/translated_docs/pt/FormObjects/listbox_overview.md new file mode 100644 index 00000000000000..12fe4cf95d694f --- /dev/null +++ b/website/translated_docs/pt/FormObjects/listbox_overview.md @@ -0,0 +1,1089 @@ +--- +id: listboxOverview +title: List Box +--- + +## Overview + +List boxes are complex active objects that allow displaying and entering data as synchronized columns. They can be bound to database contents such as entity selections and record sections, or to any language contents such as collections and arrays. They include advanced features regarding data entry, column sorting, event managemet, customized appearance, moving of columns, etc. + +![](assets/en/FormObjects/listbox.png) + +A list box contains one or more columns whose contents are automatically synchronized. The number of columns is, in theory, unlimited (it depends on the machine resources). + +### Basic user features + +During execution, list boxes allow displaying and entering data as lists. To make a cell editable ([if entry is allowed for the column](#managing-entry)), simply click twice on the value that it contains: + +![](assets/en/FormObjects/listbox_edit.png) + +Users can enter and display the text on several lines within a list box cell. To add a line break, press **Ctrl+Carriage return** on Windows or **Option+Carriage return** on macOS. + +Booleans and pictures can be displayed in cells, as well as dates, times, or numbers. It is possible to sort column values by clicking on a header ([standard sort](#managing-sorts)). All columns are automatically synchronized. + +It is also possible to resize each column, and the user can modify the order of [columns](properties_ListBox.md#locked-columns-and-static-columns) and [rows](properties_Action.md#movable-rows) by moving them using the mouse, if this action is authorized. Note that list boxes can be used in [hierarchical mode](#hierarchical-list-boxes). + +The user can select one or more rows using the standard shortcuts: **Shift+click** for an adjacent selection and **Ctrl+click** (Windows) or **Command+click** (macOS) for a non-adjacent selection. + + +### List box parts + +A list box is composed of four distinct parts: + +* the list box object in its entirety, +* columns, +* column headers, and +* column footers. + +![](assets/en/FormObjects/listbox_parts.png) + +Each part has its own name as well as specific properties. For example, the number of columns or the alternating color of each row is set in the list box object properties, the width of each column is set in the column properties, and the font of the header is set in the header properties. + +It is possible to add an object method to the list box object and/or to each column of the list box. Object methods are called in the following order: + +1. Object method of each column +2. Object method of the list box + +The column object method gets events that occur in its [header](#list-box-headers) and [footer](#list-box-footers). + + + +### List box types + +There are several types of list boxes, with their own specific behaviors and properties. The list box type depends on its [Data Source property](properties_Object.md#data-source): + +- **Arrays**: each column is bound to a 4D array. Array-based list boxes can be displayed as [hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes). +- **Selection** (**Current selection** or **Named selection**): each column is bound to an expression (e.g. a field) which is evaluated for every record of the selection. +- **Collection or Entity selection**: each column is bound to an expression which is evaluated for every element of the collection or every entity of the entity selection. +> It is not possible to combine different list box types in the same list box object. The data source is set when the list box is created. It is then no longer possible to modify it by programming. + + +### Managing list boxes + +You can completely configure a list box object through its properties, and you can also manage it dynamically through programming. + +The 4D Language includes a dedicated "List Box" theme for list box commands, but commands from various other themes, such as "Object properties" commands or `EDIT ITEM`, `Displayed line number` commands can also be used. Refer to the [List Box Commands Summary](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box-Commands-Summary.300-4311159.en.html) page of the *4D Language reference* for more information. + + + +## List box objects + +### Array list boxes + +In an array list box, each column must be associated with a one-dimensional 4D array; all array types can be used, with the exception of pointer arrays. The number of rows is based on the number of array elements. + +By default, 4D assigns the name “ColumnX” to each column variable, and thus to each associated array. You can change it, as well as other column properties, in the [column properties](listbox_overview.md#column-specific-properties). The display format for each column can also be defined using the `OBJECT SET FORMAT` command +> Array type list boxes can be displayed in [hierarchical mode](listbox_overview.md#hierarchical-list-boxes), with specific mechanisms. + +With array type list box, the values entered or displayed are managed using the 4D language. You can also associate a [choice list](properties_DataSource.md#choice-list) with a column in order to control data entry. The values of columns are managed using high-level List box commands (such as `LISTBOX INSERT ROWS` or `LISTBOX DELETE ROWS`) as well as array manipulation commands. For example, to initialize the contents of a column, you can use the following instruction: + +```code4d +ARRAY TEXT(ColumnName;size) +``` + +You can also use a list: + +```code4d +LIST TO ARRAY("ListName";ColumnName) +``` +> **Warning**: When a list box contains several columns of different sizes, only the number of items of the smallest array (column) will be displayed. You should make sure that each array has the same number of elements as the others. Also, if a list box column is empty (this occurs when the associated array was not correctly declared or sized using the language), the list box displays nothing. + + + + +### Selection list boxes + +In this type of list box, each column can be associated with a field (for example `[Employees]LastName)` or an expression. The expression can be based on one or more fields (for example, `[Employees]FirstName+" "[Employees]LastName`) or it may simply be a formula (for example `String(Milliseconds)`). The expression can also be a project method, a variable or an array item. You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +The contents of each row is then evaluated according to a selection of records: the **current selection** of a table or a **named selection**. + +In the case of a list box based on the current selection of a table, any modification done from the database side is automatically reflected in the list box, and vice versa. The current selection is therefore always the same in both places. + + +### Collection or Entity selection list boxes + +In this type of list box, each column must be associated to an expression. The contents of each row is then evaluated per collection element or per entity of the entity selection. + +Each element of the collection or each entity is available as an object that can be accessed through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. A column expression can be a project method, a variable, or any formula, accessing each entity or collection element object through `This`, for example `This.` (or `This.value` in case of a collection of scalar values). You can use the `LISTBOX SET COLUMN FORMULA` and `LISTBOX INSERT COLUMN FORMULA` commands to modify columns programmatically. + +When the data source is an entity selection, any modifications made on the list box side are automatically saved in the database. On the other hand, modifications made on the database side are visible in the list box after touched entities have been reloaded. + +When the data source is a collection, any modifications made in the list box values are reflected in the collection. On the other hand, if modifications are done on the collection using for example the various methods of the *Collections* theme, you will need to explicitely notify 4D by reassigning the collection variable to itself, so that the list box contents is refreshed. For example: + +```code4d +myCol:=myCol.push("new value") //display new value in list box +``` + + + +### Supported Properties + +Supported properties depend on the list box type. + + +| Property | Array list box | Selection list box | Collection or Entity Selection list box | +| -------------------------------------------------------------------------------------------- | -------------- | ------------------ | --------------------------------------- | +| [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) | X | X | X | +| [Background Color](properties_BackgroundAndBorder.md#background-color) | X | X | X | +| [Bold](properties_Text.md#bold) | X | X | X | +| [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) | | X | X | +| [Border Line Style](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) | X | X | X | +| [Bottom](properties_CoordinatesAndSizing.md#bottom) | X | X | X | +| [Class](properties_Object.md#class) | X | X | X | +| [Collection or entity selection](properties_Object.md#collection-or-entity-selection) | | X | X | +| [Column Auto-Resizing](properties_ResizingOptions.md#column-auto-resizing) | X | X | X | +| [Current item](properties_DataSource.md#current-item) | | | X | +| [Current item position](properties_DataSource.md#current-item-position) | | | X | +| [Data Source](properties_Object.md#data-source) | X | X | X | +| [Detail Form Name](properties_ListBox.md#detail-form-name) | | X | | +| [Display Headers](properties_Headers.md#display-headers) | X | X | X | +| [Display Footers](properties_Footers.md#display-footers) | X | X | X | +| [Double-click on row](properties_ListBox.md#double-click-on-row) | | X | | +| [Draggable](properties_Action.md#droppable) | X | X | X | +| [Droppable](properties_Action.md#droppable) | X | X | X | +| [Focusable](properties_Entry.md#focusable) | X | X | X | +| [Font](properties_Text.md#font) | X | X | X | +| [Font Color](properties_Text.md#font_color) | X | X | X | +| [Font Color Expression](properties_Text.md#font-color-expression) | | X | X | +| [Font Size](properties_Text.md#font-size) | X | X | X | +| [Height (list box)](properties_CoordinatesAndSizing.md#height) | X | X | X | +| [Height (headers)](properties_Headers.md#height) | X | X | X | +| [Height (footers)](properties_Footers.md#height) | X | X | X | +| [Hide extra blank rows](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | X | X | X | +| [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) | X | X | X | +| [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) | X | X | X | +| [Hierarchical List Box](properties_Object.md#hierarchical-list-box) | X | | | +| [Highlight Set](properties_ListBox.md#highlight-set) | | X | | +| [Horizontal Alignment](properties_Text.md#horizontal-alignment) | X | X | X | +| [Horizontal Line Color](properties_Gridlines.md#horizontal-line-color) | X | X | X | +| [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) | X | X | X | +| [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) | X | X | X | +| [Italic](properties_Text.md#italic) | X | X | X | +| [Left](properties_CoordinatesAndSizing.md#left) | X | X | X | +| [Master Table](properties_DataSource.md#table) | | X | | +| [Meta info expression](properties_Text.md#meta-info-expression) | | | X | +| [Method](properties_Action.md#method) | X | X | X | +| [Movable Rows](properties_Action.md#movable-rows) | X | | | +| [Named Selection](properties_DataSource.md#selectionName) | | X | | +| [Number of Columns](properties_ListBox.md#number-of-columns) | X | X | X | +| [Number of Locked Columns](properties_ListBox.md#number-of-locked-columns) | X | X | X | +| [Number of Static Columns](properties_ListBox.md#number-of-static-columns) | X | X | X | +| [Object Name](properties_Object.md#object-name) | X | X | X | +| [Right](properties_CoordinatesAndSizing.md#right) | X | X | X | +| [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) | X | | | +| [Row Control Array](properties_ListBox.md#row-control-array) | X | | | +| [Row Font Color Array](properties_Text.md#row-font-color-array) | X | | | +| [Row Height](properties_CoordinatesAndSizing.md#row-height) | X | | | +| [Row Height Array](properties_CoordinatesAndSizing.md#row-height-array) | X | | | +| [Row Style Array](properties_Text.md#row-style-array) | X | | | +| [Selected Items](properties_DataSource.md#selected-items) | | | X | +| [Selection Mode](properties_ListBox.md#selection-mode) | X | X | X | +| [Single-Click Edit](properties_Entry.md#single-click-edit) | X | X | X | +| [Sortable](properties_Action.md#sortable) | X | X | X | +| [Standard action](properties_Action.md#standard-action) | X | | | +| [Style Expression](properties_Text.md#style-expression) | | X | X | +| [Top](properties_CoordinatesAndSizing.md#top) | X | X | X | +| [Transparent](properties_BackgroundAndBorder.md#transparent) | X | X | X | +| [Type](properties_Object.md#type) | X | X | X | +| [Underline](properties_Text.md#underline) | X | X | X | +| [Variable or Expression](properties_Object.md#variable-or-expression) | X | X | | +| [Vertical Alignment](properties_Text.md#vertical-alignment) | X | X | X | +| [Vertical Line Color](properties_Gridlines.md#vertical-line-color) | X | X | X | +| [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) | X | X | X | +| [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) | X | X | X | +| [Visibility](properties_Display.md#visibility) | X | X | X | +| [Width](properties_CoordinatesAndSizing.md#width) | X | X | X | + + +> List box columns, headers and footers support specific properties. + + + + + +## List box columns + +A list box is made of one or more column object(s) which have specific properties. You can select a list box column in the Form editor by clicking on it when the list box object is selected: + +![](assets/en/FormObjects/listbox_column.png) + +You can set standard properties (text, background color, etc.) for each column of the list box; these properties take priority over those of the list box object properties. +> You can define the [Expression type](properties_Object.md#expression-type) for array list box columns (String, Text, Number, Date, Time, Picture, Boolean, or Object). The use of object arrays requires a 4D View Pro licence (see [Using object arrays in columns (4D View Pro)](#using-object-arrays-in-columns-4d-view-pro)). + + +### Column Specific Properties + +[Alpha Format](properties_Display.md#alpha-format) - [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) - [Automatic Row Height](properties_CoordinatesAndSizing.md#automatic-row-height) - [Background Color](properties_Text.md#background-color) - [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) - [Bold](properties_Text.md#bold) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#class) - [Data Type (selection and collection list box column)](properties_DataSource.md#data-type) - [Date Format](properties_Display.md#date-format) - [Default Values](properties_DataSource.md#default-values) - [Display Type](properties_Display.md#display-type) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression](properties_DataSource.md#expression) - [Expression Type (array list box column)](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Invisible](properties_Display.md#visibility) - [Maximum Width](properties_CoordinatesAndSizing.md#maximum-width) - [Method](properties_Action.md#method) - [Minimum Width](properties_CoordinatesAndSizing.md#minimum-width) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Resizable](properties_ResizingOptions.md#resizable) - [Required List](properties_RangeOfValues.md#required-list) - [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) - [Row Font Color Array](properties_Text.md#row-font-color-array) - [Row Style Array](properties_Text.md#row-style-array) - [Save as](properties_DataSource.md#save-as) - [Style Expression](properties_Text.md#style-expression) - [Text when False/Text when True](properties_Display.md#text-when-false-text-when-true) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## List box headers + +> To be able to access the header properties of a list box, you must enable the [Display Headers](properties_Headers.md#display-headers) option of the list box. + +When headers are displayed, you can select a header in the Form editor by clicking it when the list box object is selected: + +![](assets/en/FormObjects/listbox_header.png) + +You can set standard text properties for each column header of the list box; in this case, these properties have priority over those of the column or of the list box itself. + +In addition, you have access to the specific properties for headers. Specifically, an icon can be displayed in the header next to or in place of the column title, for example when performing [customized sorts](#managing-sorts). + +![](assets/en/FormObjects/lbHeaderIcon.png) + +At runtime, events that occur in a header are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a header, it is applied to all headers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"header3";False)` will hide all headers in the list box object to which *header3* belongs and not simply this header. + +### Header Specific Properties + +[Bold](properties_Text.md#bold) - [Class](properties_Object.md#class) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Icon Location](properties_TextAndPicture.md#icon-location) - [Italic](properties_Text.md#italic) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_TextAndPicture.md#picture-pathname) - [Title](properties_Object.md#title) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) + + + + + +## List box footers +> To be able to access footer properties for a list box, you must enable the [Display Footers](properties_Footers.md#display-footers) option. + +List boxes can contain non-enterable "footers" displaying additional information. For data shown in table form, footers are usually used to display calculations such as totals or averages. + +When footers are displayed, you can click to select one when the list box object is selected in the Form editor: + +![](assets/en/FormObjects/listbox_footers.png) + +For each List box column footer, you can set standard text properties: in this case, these properties take priority over those of the column or of the list box. You can also access specific properties for footers. In particular, you can insert a [custom or automatic calculation](properties_Object.md#variable-calculation). + +At runtime, events that occur in a footer are generated in the [list box column object method](#object-methods). + +When the `OBJECT SET VISIBLE` command is used with a footer, it is applied to all footers, regardless of the individual element set by the command. For example, `OBJECT SET VISIBLE(*;"footer3";False)` will hide all footers in the list box object to which *footer3* belongs and not simply this footer. + +### Footer Specific Properties + + +[Alpha Format](properties_Display.md#alpha-format) - [Background Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Bold](properties_Text.md#bold) - [Class](properties_Object.md#class) - [Date Format](properties_Display.md#date-format) - [Expression Type](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Italic](properties_Text.md#italic) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable Calculation](properties_Object.md#variable-calculation) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) + + +## Managing entry + +For a list box cell to be enterable, both of the following conditions must be met: + +- The cell’s column must have been set as [Enterable](properties_Entry.md#enterable) (otherwise, the cells of the column can never be enterable). +- In the `On Before Data Entry` event, $0 does not return -1. When the cursor arrives in the cell, the `On Before Data Entry` event is generated in the column method. If, in the context of this event, $0 is set to -1, the cell is considered as not enterable. If the event was generated after **Tab** or **Shift+Tab** was pressed, the focus goes to either the next cell or the previous one, respectively. If $0 is not -1 (by default $0 is 0), the cell is enterable and switches to editing mode. + +Let’s consider the example of a list box containing two arrays, one date and one text. The date array is not enterable but the text array is enterable if the date has not already past. + +![](assets/en/FormObjects/listbox_entry.png) + +Here is the method of the *arrText* column: + +```code4d + Case of + :(Form event=On Before Data Entry) // a cell gets the focus + LISTBOX GET CELL POSITION(*;"lb";$col;$row) + // identification of cell + If(arrDate{$row} Data entry in collection/entity selection type list boxes has a limitation when the expression evaluates to null. In this case, it is not possible to edit or remove the null value in the cell. + + + +## Managing selections + +Selections are managed differently depending on whether the list box is based on an array, on a selection of records, or on a collection/entity selection: + +- **Selection list box**: Selections are managed by a set, which you can modify if necessary, called `$ListboxSetX` by default (where X starts at 0 and is incremented based on the number of list boxes in the form). This set is [defined in the properties](properties_ListBox.md#highlight-set) of the list box. It is automatically maintained by 4D: If the user selects one or more rows in the list box, the set is immediately updated. On the other hand, it is also possible to use the commands of the "Sets" theme in order to modify the selection of the list box via programming. + +- **Collection/Entity selection list box**: Selections are managed through dedicated list box properties: + - [Current item](properties_DataSource.md#current-item) is an object that will receive the selected element/entity + - [Selected Items](properties_DataSource.md#selected-items) is a collection of selected items + - [Current item position](properties_DataSource.md#current-item-position) returns the position of the selected element or entity. + +- **Array list box**: The `LISTBOX SELECT ROW` command can be used to select one or more rows of the list box by programming. The [variable linked to the List box object](properties_Object.md#variable-or-expression) is used to get, set or store selections of object rows. This variable corresponds to a Boolean array that is automatically created and maintained by 4D. The size of this array is determined by the size of the list box: it contains the same number of elements as the smallest array linked to the columns. Each element of this array contains `True` if the corresponding line is selected and `False` otherwise. 4D updates the contents of this array depending on user actions. Inversely, you can change the value of array elements to change the selection in the list box. On the other hand, you can neither insert nor delete rows in this array; you cannot retype rows either. The `Count in array` command can be used to find out the number of selected lines. For example, this method allows inverting the selection of the first row of the (array type) list box: +```code4d + ARRAY BOOLEAN(tBListBox;10) + //tBListBox is the name of the list box variable in the form + If(tBListBox{1}=True) + tBListBox{1}:=False + Else + tBListBox{1}:=True + End if +``` + +> The `OBJECT SET SCROLL POSITION` command scrolls the list box rows so that the first selected row or a specified row is displayed. + + +### Customizing appearance of selected rows + +When the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is selected, you need to make list box selections visible using available interface options. Since selections are still fully managed by 4D, this means: + +- For array type list boxes, you must parse the Boolean array variable associated with the list box to determine which rows are selected or not. +- For selection type list boxes, you have to check whether the current record (row) belongs to the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. + +You can then define specific background colors, font colors and/or font styles by programming to customize the appearance of selected rows. This can be done using arrays or expressions, depending on the type of list box being displayed (see the following sections). + +> You can use the `lk inherited` constant to mimic the current appearance of the list box (e.g., font color, background color, font style, etc.). + +#### Selection list boxes + +To determine which rows are selected, you have to check whether they are included in the set indicated in the [Highlight Set](properties_ListBox.md#highlight-set) property of the list box. You can then define the appearance of selected rows using one or more of the relevant [color or style expression property](#using-arrays-and-expressions). + +Keep in mind that expressions are automatically re-evaluated each time the: +- list box selection changes. +- list box gets or loses the focus. +- form window containing the list box becomes, or ceases to be, the frontmost window. + + +#### Array list boxes +You have to parse the Boolean array [Variable or Expression](properties_Object.md#variable-or-expression) associated with the list box to determine whether rows are selected or not selected. + +You can then define the appearance of selected rows using one or more of the relevant [color or style array property](#using-arrays-and-expressions). + +Note that list box arrays used for defining the appearance of selected rows must be recalculated during the `On Selection Change` form event; however, you can also modify these arrays based on the following additional form events: +- `On Getting Focus` (list box property) +- `On Losing Focus` (list box property) +- `On Activate` (form property) +- `On Deactivate` (form property) ...depending on whether and how you want to visually represent changes of focus in selections. + +##### Example + +You have chosen to hide the system highlight and want to display list box selections with a green background color, as shown here: + +![](assets/en/FormObjects/listbox_styles7.png) + +For an array type list box, you need to update the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) by programming. In the JSON form, you have defined the following Row Background Color Array for the list box: + +``` + "rowFillSource": "_ListboxBackground", +``` + +In the object method of the list box, you can write: + +```code4d + Case of + :(Form event=On Selection Change) + $n:=Size of array(LB_Arrays) + ARRAY LONGINT(_ListboxBackground;$n) // row background colors + For($i;1;$n) + If(LB_Arrays{$i}=True) // selected + _ListboxBackground{$i}:=0x0080C080 // green background + Else // not selected + _ListboxBackground{$i}:=lk inherited + End if + End for + End case +``` + +For a selection type list box, to produce the same effect you can use a method to update the [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) based on the set specified in the [Highlight Set](properties_ListBox.md#highlight-set) property. + +For example, in the JSON form, you have defined the following Highlight Set and Background Color Expression for the list box: + +``` + "highlightSet": "$SampleSet", + "rowFillSource": "UI_SetColor", +``` +You can write in the *UI_SetColor* method: + +```code4d + If(Is in set("$SampleSet")) + $color:=0x0080C080 // green background + Else + $color:=lk inherited + End if + + $0:=$color +``` + +> In hierarchical list boxes, break rows cannot be highlighted when the [Hide selection highlight](properties_Appearance.md#hide-selection-highlight) option is checked. Since it is not possible to have distinct colors for headers of the same level, there is no way to highlight a specific break row by programming. + + +## Managing sorts + +By default, a list box automatically handles standard column sorts when the header is clicked. A standard sort is an alphanumeric sort of column values, alternately ascending/descending with each successive click. All columns are always synchronized automatically. + +You can prevent standard user sorts by deselecting the [Sortable](properties_Action.md#sortable) property of the list box. + +The developer can set up custom sorts using the `LISTBOX SORT COLUMNS` command and/or combining the `On Header Click` and `On After Sort` form events (see the `FORM Event` command) and relevant 4D commands. + +> The [Sortable](properties_Action.md#sortable) property only affects the standard user sorts; the `LISTBOX SORT COLUMNS` command does not take this property into account. + +The value of the [column header variable](properties_Object.md#variable-or-expression) allows you to manage additional information: the current sort of the column (read) and the display of the sort arrow. + +- If the variable is set to 0, the column is not sorted and the sort arrow is not displayed; ![](assets/en/FormObjects/sorticon0.png) + +- If the variable is set to 1, the column is sorted in ascending order and the sort arrow is displayed; ![](assets/en/FormObjects/sorticon1.png) + +- If the variable is set to 2, the column is sorted in descending order and the sort arrow is displayed. ![](assets/en/FormObjects/sorticon2.png) + +You can set the value of the variable (for example, Header2:=2) in order to “force” the sort arrow display. The column sort itself is not modified in this case; it is up to the developer to handle it. + +> The `OBJECT SET FORMAT` command offers specific support for icons in list box headers, which can be useful when you want to work with a customized sort icon. + + +## Managing row colors, styles, and display + +There are several different ways to set background colors, font colors and font styles for list boxes: + +- at the level of the [list box object properties](#list-box-objects), +- at the level of the [column properties](#list-box-columns), +- using [arrays or expressions properties](#using-arrays-and-expressions) for the list box and/or for each column, +- at the level of the text of each cell (if [multi-style text](properties_Text.md#multi-style)). + + +### Priority & inheritance + +Priority and inheritance principles are observed when the same property is set at more than one level. + +| Priority level | Setting location | +| -------------- | -------------------------------------------------------------------- | +| high priority | Cell (if multi-style text) | +| | Column arrays/methods | +| | List box arrays/methods | +| | Column properties | +| | List box properties | +| low priority | Meta Info expression (for collection or entity selection list boxes) | + +For example, if you set a font style in the list box properties and another using a style array for the column, the latter one will be taken into account. + +For each attribute (style, color and background color), an **inheritance** is implemented when the default value is used: + +- for cell attributes: attribute values of rows +- for row attributes: attribute values of columns +- for column attributes: attribute values of the list box + +This way, if you want an object to inherit the attribute value from a higher level, you can use pass the `lk inherited` constant (default value) to the definition command or directly in the element of the corresponding style/color array. For example, given an array list box containing a standard font style with alternating colors: ![](assets/en/FormObjects/listbox_styles3.png) + +You perform the following modifications: + +- change the background of row 2 to red using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property of the list box object, +- change the style of row 4 to italics using the [Row Style Array](properties_Text.md#row-style-array) property of the list box object, +- two elements in column 5 are changed to bold using the [Row Style Array](properties_Text.md#row-style-array) property of the column 5 object, +- the 2 elements for column 1 and 2 are changed to dark blue using the [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) property for the column 1 and 2 objects: + +![](assets/en/FormObjects/listbox_styles3.png) + +To restore the original appearance of the list box, you can: + +- pass the `lk inherited` constant in element 2 of the background color arrays for columns 1 and 2: then they inherit the red background color of the row. +- pass the `lk inherited` constant in elements 3 and 4 of the style array for column 5: then they inherit the standard style, except for element 4, which changes to italics as specified in the style array of the list box. +- pass the `lk inherited` constant in element 4 of the style array for the list box in order to remove the italics style. +- pass the `lk inherited` constant in element 2 of the background color array for the list box in order to restore the original alternating color of the list box. + + +### Using arrays and expressions + +Depending of the list box type, you can use different properties to customize row colors, styles and display: + +| Property | Array list box | Selection list box | Collection or Entity Selection list box | +| ---------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Background color | [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) | [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) | [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression) | +| Font color | [Row Font Color Array](properties_Text.md#row-font-color-array) | [Font Color Expression](properties_Text.md#font-color-expression) | [Font Color Expression](properties_Text.md#font-color-expression) or [Meta info expression](properties_Text.md#meta-info-expression) | + Font style| + +[Row Style Array](properties_Text.md#row-style-array)|[Style Expression](properties_Text.md#style-expression)|[Style Expression](properties_Text.md#style-expression) or [Meta info expression](properties_Text.md#meta-info-expression)| Display|[Row Control Array](properties_ListBox.md#row-control-array)|-|-| + + + + +## Printing list boxes + +Two printing modes are available: **preview mode** - which can be used to print a list box like a form object, and **advanced mode** - which lets you control the printing of the list box object itself within the form. Note that the "Printing" appearance is available for list box objects in the Form editor. + +### Preview mode + +Printing a list box in preview mode consists of directly printing the list box and the form that contains it using the standard print commands or the **Print** menu command. The list box is printed as it is in the form. This mode does not allow precise control of the printing of the object; in particular, it does not allow you to print all the rows of a list box that contains more rows than it can display. + +### Advanced mode + +In this mode, the printing of list boxes is carried out by programming, via the `Print object` command (project forms and table forms are supported). The `LISTBOX GET PRINT INFORMATION` command is used to control the printing of the object. + +In this mode: + +- The height of the list box object is automatically reduced when the number of rows to be printed is less than the original height of the object (there are no "blank" rows printed). On the other hand, the height does not automatically increase according to the contents of the object. The size of the object actually printed can be obtained via the `LISTBOX GET PRINT INFORMATION` command. +- The list box object is printed "as is", in other words, taking its current display parameters into account: visibility of headers and gridlines, hidden and displayed rows, etc. These parameters also include the first row to be printed: if you call the `OBJECT SET SCROLL POSITION` command before launching the printing, the first row printed in the list box will be the one designated by the command. +- An automatic mechanism facilitates the printing of list boxes that contain more rows than it is possible to display: successive calls to `Print object` can be used to print a new set of rows each time. The `LISTBOX GET PRINT INFORMATION` command can be used to check the status of the printing while it is underway. + + + + + +## Hierarchical list boxes + +A hierarchical list box is a list box in which the contents of the first column appears in hierarchical form. This type of representation is adapted to the presentation of information that includes repeated values and/or values that are hierarchically dependent (country/region/city and so on). + +> Only [array type list boxes](#array-list-boxes) can be hierarchical. + +Hierarchical list boxes are a particular way of representing data but they do not modify the data structure (arrays). Hierarchical list boxes are managed exactly the same way as regular list boxes. + + +### Defining the hierarchy + +To specify a hierarchical list box, there are several possibilities: + +* Manually configure hierarchical elements using the Property list of the form editor (or edit the JSON form). +* Visually generate the hierarchy using the list box management pop-up menu, in the form editor. +* Use the [LISTBOX SET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-SET-HIERARCHY.301-4127969.en.html) and [LISTBOX GET HIERARCHY](https://doc.4d.com/4Dv17R5/4D/17-R5/LISTBOX-GET-HIERARCHY.301-4127970.en.html) commands, described in the *4D Language Reference* manual. + + +#### Hierarchical List Box property + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +The first variable always corresponds to the name of the variable for the first column of the list box (the two values are automatically bound). This first variable is always visible and enterable. For example: country. The second variable is also always visible and enterable; it specifies the second hierarchical level. For example: regions. Beginning with the third field, each variable depends on the one preceding it. For example: counties, cities, and so on. A maximum of ten hierarchical levels can be specified. If you remove a value, the whole hierarchy moves up a level. + +The last variable is never hierarchical even if several identical values exists at this level. For example, referring to the configuration illustrated above, imagine that arr1 contains the values A A A B B B, arr2 has the values 1 1 1 2 2 2 and arr3 the values X X Y Y Y Z. In this case, A, B, 1 and 2 could appear in collapsed form, but not X and Y: + +![](assets/en/FormObjects/property_hierarchicalListBox.png) + +This principle is not applied when only one variable is specified in the hierarchy: in this case, identical values may be grouped. +> If you specify a hierarchy based on the first columns of an existing list box, you must then remove or hide these columns (except for the first), otherwise they will appear in duplicate in the list box. If you specify the hierarchy via the pop-up menu of the editor (see below), the unnecessary columns are automatically removed from the list box. + + +#### Create hierarchy using the contextual menu + +When you select at least one column in addition to the first one in a list box object (of the array type) in the form editor, the **Create hierarchy** command is available in the context menu: + +![](assets/en/FormObjects/listbox_hierarchy1.png) + +This command is a shortcut to define a hierarchy. When it is selected, the following actions are carried out: + +* The **Hierarchical list box** option is checked for the object in the Property List. +* The variables of the columns are used to specify the hierarchy. They replace any variables already specified. +* The columns selected no longer appear in the list box (except for the title of the first one). + +Example: given a list box whose first columns contain Country, Region, City and Population. When Country, Region and City are selected, if you choose **Create hierarchy** in the context menu, a three-level hierarchy is created in the first column, columns 2 and 3 are removed and the Population column becomes the second: + +![](assets/en/FormObjects/listbox_hierarchy2.png) + +##### Cancel hierarchy +When the first column is selected and already specified as hierarchical, you can use the **Cancel hierarchy** command. When you choose this command, the following actions are carried out: + +* The **Hierarchical list box** option is deselected for the object, +* The hierarchical levels 2 to X are removed and transformed into columns added to the list box. + + +### How it works + +When a form containing a hierarchical list box is opened for the first time, by default all the rows are expanded. + +A break row and a hierarchical "node" are automatically added in the list box when values are repeated in the arrays. For example, imagine a list box containing four arrays specifying cities, each city being characterized by its country, its region, its name and its number of inhabitants: + +![](assets/en/FormObjects/hierarch1.png) + +If this list box is displayed in hierarchical form (the first three arrays being included in the hierarchy), you obtain: + +![](assets/en/FormObjects/hierarch2.png) + +The arrays are not sorted before the hierarchy is constructed. If, for example, an array contains the data AAABBAACC, the hierarchy obtained is: + + > A B A C + +To expand or collapse a hierarchical "node," you can just click on it. If you **Alt+click** (Windows) or **Option+click** (macOS) on the node, all its sub-elements will be expanded or collapsed as well. These operations can also be carried out by programming using the `LISTBOX EXPAND` and `LISTBOX COLLAPSE` commands. + +When values of the date or time type are included in a hierarchical list box, they are displayed in the short system format. + +#### Sorts in hierarchical list boxes + +In a list box in hierarchical mode, a standard sort (carried out by clicking on the header of a list box column) is always constructed as follows: + +- In the first place, all the levels of the hierarchical column (first column) are automatically sorted by ascending order. +- The sort is then carried out by ascending or descending order (according to the user action) on the values of the column that was clicked. +- All the columns are synchronized. +- During subsequent sorts carried out on non-hierarchical columns of the list box, only the last level of the first column is sorted. It is possible to modify the sorting of this column by clicking on its header. + +Given for example the following list box, in which no specific sort is specified: + +![](assets/en/FormObjects/hierarch3.png) + +If you click on the "Population" header to sort the populations by ascending (or alternately descending) order, the data appear as follows: + +![](assets/en/FormObjects/hierarch4.png) + +As for all list boxes, you can [disable the standard sort mechanism](properties_Action.md#sortable) and manage sorts using programming. + + +#### Selections and positions in hierarchical list boxes + +A hierarchical list box displays a variable number of rows on screen according to the expanded/collapsed state of the hierarchical nodes. This does not however mean that the number of rows of the arrays vary. Only the display is modified, not the data. It is important to understand this principle because programmed management of hierarchical list boxes is always based on the data of the arrays, not on the displayed data. In particular, the break rows added automatically are not taken into account in the display options arrays (see below). + +Let’s look at the following arrays for example: + +![](assets/en/FormObjects/hierarch5.png) + +If these arrays are represented hierarchically, the row "Quimper" will not be displayed on the second row, but on the fourth, because of the two break rows that are added: + +![](assets/en/FormObjects/hierarch6.png) + +Regardless of how the data are displayed in the list box (hierarchically or not), if you want to change the row containing "Quimper" to bold, you must use the statement Style{2} = bold. Only the position of the row in the arrays is taken into account. + +This principle is implemented for internal arrays that can be used to manage: + +- colors +- background colors +- styles +- hidden rows +- selections + +For example, if you want to select the row containing Rennes, you must pass: + +```code4d + ->MyListbox{3}:=True +``` + +Non-hierarchical representation: ![](assets/en/FormObjects/hierarch7.png) Hierarchical representation: ![](assets/en/FormObjects/hierarch8.png) + +> If one or more rows are hidden because their parents are collapsed, they are no longer selected. Only the rows that are visible (either directly or by scrolling) can be selected. In other words, rows cannot be both hidden and selected. + +As with selections, the `LISTBOX GET CELL POSITION` command will return the same values for a hierarchical list box and a non-hierarchical list box. This means that in both of the examples below, `LISTBOX GET CELL POSITION` will return the same position: (3;2). + +*Non-hierarchical representation:* ![](assets/en/FormObjects/hierarch9.png) + +*Hierarchical representation:* ![](assets/en/FormObjects/hierarch10.png) + +When all the rows of a sub-hierarchy are hidden, the break line is automatically hidden. In the above example, if rows 1 to 3 are hidden, the "Brittany" break row will not appear. + +#### Break rows + +If the user selects a break row, `LISTBOX GET CELL POSITION` returns the first occurrence of the row in the corresponding array. In the following case: + +![](assets/en/FormObjects/hierarch11.png) + + +... `LISTBOX GET CELL POSITION` returns (2;4). To select a break row by programming, you will need to use the `LISTBOX SELECT BREAK` command. + +Break rows are not taken into account in the internal arrays used to manage the graphic appearance of list boxes (styles and colors). It is however possible to modify these characteristics for break rows via the graphic management commands for objects. You simply need to execute the appropriate commands on the arrays that constitute the hierarchy. + +Given for example the following list box (the names of the associated arrays are specified in parentheses): + +*Non-hierarchical representation:* ![](assets/en/FormObjects/hierarch12.png) + +*Hierarchical representation:* ![](assets/en/FormObjects/hierarch13.png) + +In hierarchical mode, break levels are not taken into account by the style modification arrays named `tStyle` and `tColors`. To modify the color or style of break levels, you must execute the following statements: + +```code4d + OBJECT SET RGB COLORS(T1;0x0000FF;0xB0B0B0) + OBJECT SET FONT STYLE(T2;Bold) +``` +> In this context, only the syntax using the array variable can function with the object property commands because the arrays do not have any associated object. + +Result: + +![](assets/en/FormObjects/hierarch14.png) + + +#### Optimized management of expand/collapse + +You can optimize hierarchical list boxes display and management using the `On Expand` and `On Collapse` form events. + +A hierarchical list box is built from the contents of its arrays so it can only be displayed when all these arrays are loaded into memory. This makes it difficult to build large hierarchical list boxes based on arrays generated from data (through the `SELECTION TO ARRAY` command), not only because of the display speed but also the memory used. + +Using the `On Expand` and `On Collapse` form events can overcome these constraints: for example, you can display only part of the hierarchy and load/unload the arrays on the fly, based on user actions. In the context of these events, the `LISTBOX GET CELL POSITION` command returns the cell where the user clicked in order to expand or collapse a row. + +In this case, you must fill and empty arrays through the code. The principles to be implemented are: +- When the list box is displayed, only the first array must be filled. However, you must create a second array with empty values so that the list box displays the expand/collapse buttons: ![](assets/en/FormObjects/hierarch15.png) + +- When a user clicks on an expand button, you can process the `On Expand` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned and lets you build the appropriate hierarchy: you fill the first array with the repeated values and the second with the values sent from the `SELECTION TO ARRAY` command and you insert as many rows as needed in the list box using the `LISTBOX INSERT ROWS` command. ![](assets/en/FormObjects/hierarch16.png) + +- When a user clicks on a collapse button, you can process the `On Collapse` event. The `LISTBOX GET CELL POSITION` command returns the cell concerned: you remove as many rows as needed from the list box using the `LISTBOX DELETE ROWS` command. + + + +## Object arrays in columns (4D View Pro) + +List box columns can handle object arrays. Since object arrays can contain different kinds of data, this powerful new feature allows you to mix different input types in the rows of a single column, and display various widgets as well. For example, you could insert a text input in the first row, a check box in the second, and a drop-down list in the third. Object arrays also provide access to new kinds of widgets, such as buttons or color pickers. + +The following list box was designed using an object array: + +![](assets/en/FormObjects/listbox_column_objectArray.png) +> **Note about Licensing**: The ability to use object arrays in list boxes is a first step to the upcoming "4D View Pro" tool that will progressively replace the 4D View plug-in. Using this feature requires you to have a valid 4D View license. For more information, please refer to the 4D Web site. + +### Configuring an object array column + +To assign an object array to a list box column, you just need to set the object array name in either the Property list ("Variable Name" field), or using the [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-INSERT-COLUMN.301-4311153.en.html) command, like with any array-based column. In the Property list, you can now select Object as a "Expression Type" for the column: + +![](assets/en/FormObjects/listbox_column_objectArray_config.png) + +Standard properties related to coordinates, size, and style are available for object columns. You can define them using the Property list, or by programming the style, font color, background color and visibility for each row of an object-type list box column. These types of columns can also be hidden. + +However, the Data Source theme is not available for object-type list box columns. In fact, the contents of each column cell are based on attributes found in the corresponding element of the object array. Each array element can define: + +the value type (mandatory): text, color, event, etc. the value itself (optional): used for input/output. the cell content display (optional): button, list, etc. additional settings (optional): depend on the value type To define these properties, you need to set the appropriate attributes in the object (available attributes are listed below). For example, you can write "Hello World!" in an object column using this simple code: + +```code4d +ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob) //first element + OB SET($ob;"valueType";"text") //defines the value type (mandatory) + OB SET($ob;"value";"Hello World!") //defines the value + APPEND TO ARRAY(obColumn;$ob) +``` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld.png) +> Display format and entry filters cannot be set for an object column. They automatically depend on the value type. + +#### valueType and data display + +When a list box column is associated with an object array, the way a cell is displayed, entered, or edited, is based on the valueType attribute of the array element. Supported valueType values are: + +* "text": for a text value +* "real": for a numeric value that can include separators like a \, <.>, or <,> +* "integer": for an integer value +* "boolean": for a True/False value +* "color": to define a background color +* "event": to display a button with a label. + +4D uses default widgets with regards to the "valueType" value (i.e., a "text" is displayed as a text input widget, a "boolean" as a check box), but alternate displays are also available through options (*e.g.*, a real can also be represented as a drop-down menu). The following table shows the default display as well as alternatives for each type of value: + +| valueType | Default widget | Alternative widget(s) | +| --------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| text | text input | drop-down menu (required list) or combo box (choice list) | +| real | controlled text input (numbers and separators) | drop-down menu (required list) or combo box (choice list) | +| integer | controlled text input (numbers only) | drop-down menu (required list) or combo box (choice list) or three-states check box | +| boolean | check box | drop-down menu (required list) | +| color | background color | text | +| event | button with label | | +| | | All widgets can have an additional unit toggle button or ellipsis button attached to the cell. | + +You set the cell display and options using specific attributes in each object (see below). + +#### Display formats and entry filters + +You cannot set display formats or entry filters for columns of object-type list boxes. They are automatically defined according to the value type. These are listed in the following table: + +| Value type | Default format | Entry control | +| ---------- | ---------------------------------------------------------- | ----------------------- | +| text | same as defined in object | any (no control) | +| real | same as defined in object (using system decimal separator) | "0-9" and "." and "-" | +| | | "0-9" and "." if min>=0 | +| integer | same as defined in object | "0-9" and "-" | +| | | "0-9" if min>=0 | +| Boolean | check box | N/A | +| color | N/A | N/A | +| event | N/A | N/A | + +### Attributes + +Each element of the object array is an object that can contain one or more attributes that will define the cell contents and data display (see example above). + +The only mandatory attribute is "valueType" and its supported values are "text", "real", "integer", "boolean", "color", and "event". The following table lists all the attributes supported in list box object arrays, depending on the "valueType" value (any other attributes are ignored). Display formats are detailed and examples are provided below. + +| | valueType | text | real | integer | boolean | color | event | +| --------------------- | --------------------------------------- | ---- | ---- | ------- | ------- | ----- | ----- | +| *Attributes* | *Description* | | | | | | | +| value | cell value (input or output) | x | x | x | | | | +| min | minimum value | | x | x | | | | +| max | maximum value | | x | x | | | | +| behavior | "threeStates" value | | | x | | | | +| requiredList | drop-down list defined in object | x | x | x | | | | +| choiceList | combo box defined in object | x | x | x | | | | +| requiredListReference | 4D list ref, depends on "saveAs" value | x | x | x | | | | +| requiredListName | 4D list name, depends on "saveAs" value | x | x | x | | | | +| saveAs | "reference" or "value" | x | x | x | | | | +| choiceListReference | 4D list ref, display combo box | x | x | x | | | | +| choiceListName | 4D list name, display combo box | x | x | x | | | | +| unitList | array of X elements | x | x | x | | | | +| unitReference | index of selected element | x | x | x | | | | +| unitsListReference | 4D list ref for units | x | x | x | | | | +| unitsListName | 4D list name for units | x | x | x | | | | +| alternateButton | add an alternate button | x | x | x | x | x | | + +#### value + +Cell values are stored in the "value" attribute. This attribute is used for input as well as output. It can also be used to define default values when using lists (see below). + +````code4d + ARRAY OBJECT(obColumn;0) //column array + C_OBJECT($ob1) + $entry:="Hello world!" + OB SET($ob1;"valueType";"text") + OB SET($ob1;"value";$entry) // if the user enters a new value, $entry will contain the edited value + C_OBJECT($ob2) + OB SET($ob2;"valueType";"real") + OB SET($ob2;"value";2/3) + C_OBJECT($ob3) + OB SET($ob3;"valueType";"boolean") + OB SET($ob3;"value";True) + + APPEND TO ARRAY(obColumn;$ob1) + APPEND TO ARRAY(obColumn;$ob2) + APPEND TO ARRAY(obColumn;$ob3) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_value.png) +> Null values are supported and result in an empty cell. + +#### min and max + +When the "valueType" is "real" or "integer", the object also accepts min and max attributes with appropriate values (values must be of the same type as the valueType). + +These attributes can be used to control the range of input values. When a cell is validated (when it loses the focus), if the input value is lower than the min value or greater than the max value, then it is rejected. In this case, the previous value is maintained and a tip displays an explanation. + +````code4d + C_OBJECT($ob3) + $entry3:=2015 + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";$entry3) + OB SET($ob3;"min";2000) + OB SET($ob3;"max";3000) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_minMax.png) + +#### behavior + +The behavior attribute provides variations to the regular representation of values. In 4D v15, a single variation is proposed: + +| Attribute | Available value(s) | valueType(s) | Description | +| --------- | ------------------ | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| behavior | threeStates | integer | Represents a numeric value as a three-states check box.
    2=semi-checked, 1=checked, 0=unchecked, -1=invisible, -2=unchecked disabled, -3=checked disabled, -4=semi-checked disabled | + +````code4d + C_OBJECT($ob3) + OB SET($ob3;"valueType";"integer") + OB SET($ob3;"value";-3) + C_OBJECT($ob4) + OB SET($ob4;"valueType";"integer") + OB SET($ob4;"value";-3) + OB SET($ob4;"behavior";"threeStates") +```` + +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_behavior.png) + +#### requiredList and choiceList + +When a "choiceList" or a "requiredList" attribute is present inside the object, the text input is replaced by a drop-down list or a combo box, depending of the attribute: + +* If the attribute is "choiceList", the cell is displayed as a combo box. This means that the user can select or type a value. +* If the attribute is "requiredList" then the cell is displayed as a drop-down list and the user can only select one of the values provided in the list. + +In both cases, a "value" attribute can be used to preselect a value in the widget. +> The widget values are defined through an array. If you want to assign an existing 4D list to the widget, you need to use the "requiredListReference", "requiredListName", "choiceListReference", or "choiceListName" attributes. + +Examples: + +* You want to display a drop-down list with only two options: "Open" or "Closed". "Closed" must be preselected: + + ````code4d + ARRAY TEXT($RequiredList;0) + APPEND TO ARRAY($RequiredList;"Open") + APPEND TO ARRAY($RequiredList;"Closed") + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"Closed") + OB SET ARRAY($ob;"requiredList";$RequiredList) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_openClosed.png) + +* You want to accept any integer value, but display a combo box to suggest the most common values: + + ````code4d + ARRAY LONGINT($ChoiceList;0) + APPEND TO ARRAY($ChoiceList;5) + APPEND TO ARRAY($ChoiceList;10) + APPEND TO ARRAY($ChoiceList;20) + APPEND TO ARRAY($ChoiceList;50) + APPEND TO ARRAY($ChoiceList;100) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"value";10) //10 as default value + OB SET ARRAY($ob;"choiceList";$ChoiceList) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_helloWorld_commonValues.png) + +#### requiredListName and requiredListReference + +The "requiredListName" and "requiredListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Lists editor of the Tool box) or by programming (using the New list command). The cell will then be displayed as a drop-down list. This means that the user can only select one of the values provided in the list. + +Use "requiredListName" or "requiredListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. +> * If you want to define these values through a simple array, you need to use the "requiredList" attribute. +> * If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Examples: + +* You want to display a drop-down list based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green"), save it as a value and display "blue" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + + ````code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"saveAs";"value") + OB SET($ob;"value";"blue") + OB SET($ob;"requiredListName";"colors") + ```` +![](assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + +* You want to display a drop-down list based on a list defined by programming and save it as a reference: + + ````code4d + <>List:=New list + APPEND TO LIST(<>List;"Paris";1) + APPEND TO LIST(<>List;"London";2) + APPEND TO LIST(<>List;"Berlin";3) + APPEND TO LIST(<>List;"Madrid";4) + C_OBJECT($ob) + OB SET($ob;"valueType";"integer") + OB SET($ob;"saveAs";"reference") + OB SET($ob;"value";2) //displays London by default + OB SET($ob;"requiredListReference";<>List) + ```` + ![](assets/en/FormObjects/listbox_column_objectArray_cities.png) + +#### choiceListName and choiceListReference + +The "choiceListName" and "choiceListReference" attributes allow you to use, in a list box cell, a list defined in 4D either in Design mode (in the Tool box) or by programming (using the New list command). The cell is then displayed as a combo box, which means that the user can select or type a value. + +Use "choiceListName" or "choiceListReference" depending on the origin of the list: if the list comes from the Tool box, you pass a name; otherwise, if the list has been defined by programming, you pass a reference. In both cases, a "value" attribute can be used to preselect a value in the widget. +> * If you want to define these values through a simple array, you need to use the "choiceList" attribute. +> * If the list contains text items representing real values, the decimal separator must be a period ("."), regardless of the local settings, e.g.: "17.6" "1234.456". + +Example: + +You want to display a combo box based on a "colors" list defined in the Tool box (containing the values "blue", "yellow", and "green") and display "green" by default: + +![](assets/en/FormObjects/listbox_column_objectArray_colors.png) + +````code4d + C_OBJECT($ob) + OB SET($ob;"valueType";"text") + OB SET($ob;"value";"blue") + OB SET($ob;"choiceListName";"colors") +```` + +![](../assets/en/FormObjects/listbox_column_objectArray_colorsResult.png) + + +#### unitsList, unitsListName, unitsListReference and unitReference + +You can use specific attributes to add units associated with cell values (*e.g.*: "10 cm", "20 pixels", etc.). To define the unit list, you can use one of the following attributes: + +* "unitsList": an array containing the x elements used to define the available units (e.g.: "cm", "inches", "km", "miles", etc.). Use this attribute to define units within the object. +* "unitsListReference": a reference to a 4D list containing available units. Use this attribute to define units with a 4D list created with the [New list](https://doc.4d.com/4Dv15/4D/15.6/New-list.301-3818474.en.html) command. +* "unitsListName": a name of a design-based 4D list that contains available units. Use this attribute to define units with a 4D list created in the Tool box. + +Regardless of the way the unit list is defined, it can be associated with the following attribute: + +* "unitReference": a single value that contains the index (from 1 to x) of the selected item in the "unitList", "unitsListReference" or "unitsListName" values list. + +The current unit is displayed as a button that cycles through the "unitList", "unitsListReference" or "unitsListName" values each time it is clicked (e.g., "pixels" -> "rows" -> "cm" -> "pixels" -> etc.) + +Example: + +We want to set up a numeric input followed by two possible units: "rows" or "pixels". The current value is "2" + "lines". We use values defined directly in the object ("unitsList" attribute): + +````code4d +ARRAY TEXT($_units;0) +APPEND TO ARRAY($_units;"lines") +APPEND TO ARRAY($_units;"pixels") +C_OBJECT($ob) +OB SET($ob;"valueType";"integer") +OB SET($ob;"value";2) // 2 "units" +OB SET($ob;"unitReference";1) //"lines" +OB SET ARRAY($ob;"unitsList";$_units) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_unitList.png) + +#### alternateButton + +If you want to add an ellipsis button [...] to a cell, you just need to pass the "alternateButton" with the True value in the object. The button will be displayed in the cell automatically. + +When this button is clicked by a user, an `On Alternate Click` event will be generated, and you will be able to handle it however you want (see the "Event management" paragraph for more information). +> `On Alternate Click` is the new name of the `On Arrow Click` event, renamed in 4D v15 to highlight its extended scope. + +Example: + +````code4d +C_OBJECT($ob1) +$entry:="Hello world!" +OB SET($ob;"valueType";"text") +OB SET($ob;"alternateButton";True) +OB SET($ob;"value";$entry) +```` + +![](assets/en/FormObjects/listbox_column_objectArray_alternateButton.png) + + +#### color valueType + +The "color" valueType allows you to display either a color or a text. + +* If the value is a number, a colored rectangle is drawn inside the cell. Example: + + ````code4d + C_OBJECT($ob4) + OB SET($ob4;"valueType";"color") + OB SET($ob4;"value";0x00FF0000) + ```` +![](assets/en/FormObjects/listbox_column_objectArray_colorValue.png) + + +* If the value is a text, then the text is displayed (*e.g.*: "value";"Automatic"). + + +#### event valueType + +The "event" valueType displays a simple button that generates an `On Clicked` event when clicked. No data or value can be passed or returned. + +Optionally, you can pass a "label" attribute. + +Example: + +````code4d +C_OBJECT($ob) +OB SET($ob;"valueType";"event") +OB SET($ob;"label";"Edit...") +```` + +![](assets/en/FormObjects/listbox_column_objectArray_eventValueType.png) + + +### Event management +Several events can be handled while using an object list box array: + +* **On Data Change**: An `On Data Change` event is triggered when any value has been modified either: + * in a text input zone + * in a drop-down list + * in a combo box area + * in a unit button (switch from value x to value x+1) + * in a check box (switch between checked/unchecked) +* **On Clicked**: When the user clicks on a button installed using the "event" *valueType* attribute, an `On Clicked` event will be generated. This event is managed by the programmer. +* **On Alternative Click**: When the user clicks on an ellipsis button ("alternateButton" attribute), an `On Alternative Click` event will be generated. This event is managed by the programmer. +> `On Alternative Click` is the new name of the `On Arrow Click` event that was available in previous versions of 4D. This event has been renamed in 4D v15 since its scope has been extended. + + + diff --git a/website/translated_docs/pt/FormObjects/pictureButton_overview.md b/website/translated_docs/pt/FormObjects/pictureButton_overview.md new file mode 100644 index 00000000000000..97aa9cc8d078cd --- /dev/null +++ b/website/translated_docs/pt/FormObjects/pictureButton_overview.md @@ -0,0 +1,63 @@ +--- +id: pictureButtonOverview +title: Picture Button +--- + +## Overview + +A picture button is similar to a [standard button](button_overview.md). However unlike a standard button (which accepts three states: enabled, disabled and clicked), a picture button has a different image to represent each state. + +Picture buttons can be used in two ways: + +* As command buttons in a form. In this case, the picture button generally includes four different states: enabled, disabled, clicked and rolled over. For example, a table of thumbnails that has one row of four columns, each thumbnail corresponds to the Default, Clicked, Roll over, and Disabled states. + + | Property | JSON name | Value | + | -------------------------- | ---------------------- | ----- | + | Rows | rowCount | 1 | + | Columns | columnCount | 4 | + | Switch back when Released | switchBackWhenReleased | true | + | Switch when Roll Over | switchWhenRollover | true | + | Use Last Frame as Disabled | useLastFrameAsDisabled | true | + +* As a picture button letting the user choose among several choices. In this case, a picture button can be used in place of a pop-up picture menu. With [Picture Pop-up Menus](picturePopupMenu_overview.md), all choices are displayed simultaneously (as the items in the pop-up menu), while the picture button displays the choices consecutively (as the user clicks the button). Here is an example of a picture button. Suppose you want to give the users of a custom application the opportunity to choose the interface language for the application. You implement the option as a picture button in a custom properties dialog box: + +![](assets/en/FormObjects/button_pictureButton.png) + +Clicking the object changes the picture. + + +## Using picture buttons + +You can implement a picture button in the following manner: + +1. First, prepare a single graphic in which the series of images are arranged in a row, a column, or a row-by-column grid. + + ![](assets/en/FormObjects/pictureButton_grid.png) + +You can organize pictures as columns, rows, or a row-by-column grid (as shown above). When organizing pictures as a grid, they are numbered from left to right, row by row, beginning with 0. For example, the second picture of the second row of a grid that consists of two rows and three columns, is numbered 4 (The UK flag in the example above). + +2. Next, make sure the image is in your project's Resources and enter the path in the [Pathname](properties_TextAndPicture.md#picture-pathname) property. + +3. Define the graphic's [Rows and Columns](properties_Crop.md) properties. + +4. Specify when the images change by selecting appropriate [animation](properties_Animation.md) properties. + + +## Animation + +In addition to the standard positioning and appearance settings, you can set some specific properties for picture buttons, especially concerning how and when the pictures are displayed. These property options can be combined to enhance your picture buttons. + +- By default (when no [animation option](properties_Animation.md) is selected), a picture button displays the next picture in the series when the user clicks; it displays the previous picture in the series when the user holds down the **Shift** key and clicks. When the user reaches the last picture in the series, the picture does not change when the user clicks again. In other words, it does not cycle back to the first picture in the series. + +The following other modes are available: +- [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) +- [Switch back when Released](properties_Animation.md#switch-back-when-released) +- [Switch when Roll Over](properties_Animation.md#switch-when-roll-over) +- [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) +- [Use Last Frame as Disabled](properties_Animation.md#use-last-frame-as-disabled) +- [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) +> The [associated variable](properties_Object.md#variable-or-expression) of the picture button returns the index number, in the thumbnail table, of the current picture displayed. The numbering of pictures in the table begins with 0. + +## Supported Properties + +[Border Line Style](properties_BackgroundAndBorder.md) - [Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Columns](properties_Crop.md#columns) - [Droppable](properties_Action.md#droppable) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loopBackToFirstFrame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switchBackWhenReleased) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switchWhenRollOver) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/website/translated_docs/pt/FormObjects/properties_Action.md b/website/translated_docs/pt/FormObjects/properties_Action.md new file mode 100644 index 00000000000000..452714477f7a67 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Action.md @@ -0,0 +1,189 @@ +--- +id: propertiesAction +0: title:Action +--- + + +--- +## Draggable + +Control whether and how the user can drag the object. By default, no drag operation is allowed. + +Two drag modes are available: + +- **Custom**: In this mode, any drag operation performed on the object triggers the `On Begin Drag` form event in the context of the object. You then manage the drag action using a method. In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D **copies** text or pictures directly from the form object. It can then be used in the same 4D area, between two 4D areas, or between 4D and another application. For example, automatic drag (and drop) lets you copy a value between two fields without using programming: ![](assets/en/FormObjects/property_automaticDragDrop.png) ![](assets/en/FormObjects/property_automaticDragDrop2.png) In this mode, the `On Begin Drag` form event is NOT generated. If you want to "force" the use of the custom drag while automatic drag is enabled, hold down the **Alt** (Windows) or **Option** (macOS) key during the action. This option is not available for pictures. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------------------------------ | +| dragging | text | "none" (default), "custom", "automatic" (excluding list box) | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + + + +#### See also +[Droppable](#droppable) + + +--- +## Droppable + +Control whether and how the object can be the destination of a drag and drop operation. + +Two drop modes are available: + +- **Custom**: In this mode, any drop operation performed on the object triggers the `On Drag Over` and `On Drop` form events in the context of the object. You then manage the drop action using a method. In custom mode, basically the whole drag-and-drop operation is handled by the programmer. This mode lets you implement any interface based upon drag-on-drop, including interfaces that do not necessarily transport data, but can perform any action like opening files or triggering a calculation. This mode is based upon a combination of specific properties, events, and commands from the `Pasteboard` theme. +- **Automatic**: In this mode, 4D automatically manages — if possible — the insertion of dragged data of the text or picture type that is dropped onto the object (the data are pasted into the object). The `On Drag Over` and `On Drop` form events are NOT generated. On the other hand, the `On After Edit` (during the drop) and `On Data Change` (when the object loses the focus) events are generated. + +For more information, refer to [Drag and Drop](https://doc.4d.com/4Dv18/4D/18/Drag-and-Drop.300-4505037.en.html) in the *4D Language Reference* manual. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------------------------------ | +| dropping | text | "none" (default), "custom", "automatic" (excluding list box) | + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Input](input_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Plug-in Area](pluginArea_overview.md#overview) + + +#### See also +[Draggable](#draggable) + + +--- +## Execute object method +When this option is enabled, the object method is executed with the `On Data Change` event *at the same moment* the user changes the value of the indicator. When the option is disabled, the method is executed *after* the modification. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------- | +| continuousExecution | boolean | true, false | + +#### Objects Supported + +[Progress bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + + + + + +--- +## Method + +Reference of a method attached to the object. Object methods generally "manage" the object while the form is displayed or printed. You do not call an object method—4D calls it automatically when an event involves the object to which the object method is attached. + +Several types of method references are supported: + +- a standard object method file path, i.e. that uses the following pattern: `ObjectMethods/objectName.4dm` ... where `objectName` is the actual [object name](properties_Object.md#object-name). This type of reference indicates that the method file is located at the default location ("sources/forms/*formName*/ObjectMethods/"). In this case, 4D automatically handles the object method when operations are executed on the form object (renaming, duplication, copy/paste...) + +- a project method name: name of an existing project method without file extension, i.e.: `myMethod` In this case, 4D does not provide automatic support for object operations. + +- a custom method file path including the .4dm extension, e.g.: `ObjectMethods/objectName.4dm` You can also use a filesystem: `/RESOURCES/Buttons/bOK.4dm` In this case, 4D does not provide automatic support for object operations. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ------------------------------------------------------------------ | +| method | text | Object method standard or custom file path, or project method name | + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Movable Rows +`Array type list boxes` + +Authorizes the movement of rows during execution. This option is selected by default. It is not available for [selection type list boxes](listbox_overview.md#selection-list-boxes) nor for [list boxes in hierarchical mode](properties_Hierarchy.md#hierarchical-list-box). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| movableRows | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + + +--- +## Multi-selectable + +Allows the selection of multiple records/options in a [hierarchical list](list_overview.md). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | text | "multiple", "single", "none" | + +#### Objects Supported + +[Hierarchical List](list_overview.md) + + + + +--- +## Sortable + +Allows sorting column data by clicking a [listbox](listbox_overview.md) header. This option is selected by default. Picture type arrays (columns) cannot be sorted using this feature. + +In list boxes based on a selection of records, the standard sort function is available only: +* When the data source is *Current Selection*, +* With columns associated with fields (of the Alpha, Number, Date, Time or Boolean type). + +In other cases (list boxes based on named selections, columns associated with expressions), the standard sort function is not available. A standard list box sort changes the order of the current selection in the database. However, the highlighted records and the current record are not changed. A standard sort synchronizes all the columns of the list box, including calculated columns. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| sortable | boolean | true, false | + +#### Objects Supported +[List Box](listbox_overview.md) + + + + + + +--- +## Standard action +Typical activities to be performed by active objects (*e.g.*, letting the user accept, cancel, or delete records, move between records or from page to page in a multi-page form, etc.) have been predefined by 4D as standard actions. They are described in detail in the [Standard actions](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html) section of the *Design Reference*. + +You can assign both a standard action and a project method to an object. In this case, the standard action is usually executed after the method and 4D uses this action to enable/disable the object according to the current context. When an object is deactivated, the associated project method cannot be executed. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ---------------------------------------------------------------------------------------------------------------- | +| action | string | The name of a [valid standard action](https://doc.4d.com/4Dv17R5/4D/17-R5/Standard-actions.300-4163633.en.html). | + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [List Box](listbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Tab control](tabControl.md) diff --git a/website/translated_docs/pt/FormObjects/properties_Animation.md b/website/translated_docs/pt/FormObjects/properties_Animation.md new file mode 100644 index 00000000000000..70ced18edd36f0 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Animation.md @@ -0,0 +1,122 @@ +--- +id: propertiesAnimation +0: title:Animation +--- + +--- +## Loop back to first frame + +Pictures are displayed in a continuous loop. When the user reaches the last picture and clicks again, the first picture appears, and so forth. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | --------------- | +| loopBackToFirstFrame | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + +--- +## Switch back when released + +Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released. This mode allows you to create an action button with a different picture for each state (idle and clicked). You can use this mode to create a 3D effect or display any picture that depicts the action of the button. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | --------------- | +| switchBackWhenReleased | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch continuously on clicks + +Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation). When the user reaches the last picture, the object does not cycle back to the first picture. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| switchContinuously | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + +--- +## Switch every x ticks + +Enables cycling through the contents of the picture button at the specified speed (in ticks). In this mode, all other options are ignored. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| frameDelay | integer | minimum: 0 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + +--- +## Switch when roll over + +Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| switchWhenRollover | boolean | true, false | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + +--- +## Use Last frame as disabled + +Enables setting the last thumbnail as the one to display when the button is disabled. The thumbnail used when the button is disabled is processed separately by 4D: when you combine this option with "Switch Continuously" and "Loop Back to First Frame", the last picture is excluded from the sequence associated with the button and only appears when it is disabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------------- | --------- | --------------- | +| useLastFrameAsDisabled | boolean | true, false | + + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) + + + + + + diff --git a/website/translated_docs/pt/FormObjects/properties_Appearance.md b/website/translated_docs/pt/FormObjects/properties_Appearance.md new file mode 100644 index 00000000000000..305832551d998f --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Appearance.md @@ -0,0 +1,427 @@ +--- +id: propertiesAppearance +0: title:Appearance +--- + +## Default Button + +The default button property modifies a button's appearance in order to indicate the recommended choice to the user. The difference in appearance depends on the OS. + +| Windows | macOS | +|:--------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------:| +| The default button has a blue outline.

    ![](assets/en/FormObjects/property_defaultButtonWindows.en.png) | The default buttons are blue.

    ![](assets/en/FormObjects/property_defaultButtonmacOS.en.png) | +> There can only be one default button per form page. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + defaultButton|boolean|true, false | + +#### Objects Supported + +[Regular Button](button_overview.md#regular) - [Flat Button](button_overview.md#regular) + + + + + + +## Hide focus rectangle + +During execution, a field or any enterable area is outlined by a selection rectangle when it has the focus (via the Tab key or a single click). You can hide this rectangle by enabling this property. Hiding the focus rectangle may be useful in the case of specific interfaces. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| hideFocusRing | boolean | true, false | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Subform](subform_overview.md) + + + + +## Hide selection highlight +`Selection type list boxes` + +This property is used to disable the selection highlight in list boxes. + +When this option is enabled, the selection highlight is no longer visible for selections made in list boxes. Selections themselves are still valid and work in exactly the same way as previously; however, they are no longer represented graphically onscreen, and you will need to [define their appearance programmatically](listbox_overview.md#customizing-appearance-of-selected-rows). + +By default, this option is not enabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------- | +| hideSystemHighlight | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + +## Horizontal Scroll Bar + +An interface tool allowing the user to move the viewing area to the left or right. + +Available values: + +| Property List | JSON value | Description | +| ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Yes | "visible" | The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame). | +| No | "hidden" | The scrollbar is never visible | +| Automatic | "automatic" | The scrollbar appears automatically whenever necessary and the user can enter text larger than the object width | + + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | -------------------------------- | +| scrollbarHorizontal | text | "visible", "hidden", "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also +[Vertical scroll bar](#vertical-scroll-bar) + + +## Resolution + +Sets the screen resolution for the 4D Write Pro area contents. By default, it is set to 72 dpi (macOS), which is the standard resolution for 4D forms on all platforms. Setting this property to 96 dpi will set a windows/web rendering on both macOS and Windows platforms. Setting this property to **automatic** means that document rendering will differ between macOS and Windows platforms. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + dpi|number|0=automatic, 72, 96 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show background + +Displays/hides both background images and background color. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showBackground|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show footers + +Displays/hides the footers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showFooters|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Show Formula Bar + +When enabled, the formula bar is visible below the Toolbar interface in the 4D View Pro area. If not selected, the formula bar is hidden. + +> This property is available only for the [Toolbar](#user-interface) interface. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + withFormulaBar|boolean|true (default), false| + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + + +## Show headers + +Displays/hides the headers when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHeaders|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show hidden characters + +Displays/hides invisible characters + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHiddenChars|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Show horizontal ruler + +Displays/hides the horizontal ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHorizontalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + + + +## Show HTML WYSYWIG + +Enables/disables the HTML WYSIWYG view, in which any 4D Write Pro advanced attributes which are not compliant with all browsers are removed. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showHTMLWysiwyg|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show page frame + +Displays/hides the page frame when [Page view mode](#view-mode) is set to "Page". + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showPageFrames|boolean|true, false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + + +## Show references + +Displays all 4D expressions inserted in the 4D Write Pro document as *references*. When this option is disabled, 4D expressions are displayed as *values*. By default when you insert a 4D field or expression, 4D Write Pro computes and displays its current value. Select this property if you wish to know which field or expression is displayed. The field or expression references then appear in your document, with a gray background. + +For example, you have inserted the current date along with a format, the date is displayed: + +![](assets/en/FormObjects/writePro1.png) + +With the Show references property on, the reference is displayed: + +![](assets/en/FormObjects/writeProExpr.png) + +> 4D expressions can be inserted using the `ST INSERT EXPRESSION` command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showReferences|boolean|true, false (default)| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Show vertical ruler + +Displays/hides the vertical ruler when the document view is in [Page mode](#view-mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + showVerticalRuler|boolean|true (default), false| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + + +## Tab Control Direction + +You can set the direction of tab controls in your forms. This property is available on all the platforms but can only be displayed in macOS. You can choose to place the tab controls on top (standard) or on the bottom. + +When tab controls with a custom direction are displayed under Windows, they automatically return to the standard direction (top). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + labelsPlacement|boolean|"top", "bottom" | + +#### Objects Supported + +[Tab Control](tabControl.md) + + + +## User Interface + +You can add an interface to 4D View Pro areas to allow end users to perform basic modifications and data manipulations. 4D View Pro offers two optional interfaces to choose from, **Ribbon** and **Toolbar**. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + userInterface|text|"none" (default), "ribbon", "toolbar" | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview.md) + + +#### See also + +[4D View Pro reference guide](https://doc.4d.com/4Dv18/4D/18/4D-View-Pro-Reference.100-4522233.en.html) + + +## Vertical Scroll Bar + +An interface tool allowing the user to move the viewing area up and down. + +Available values: + +| Property List | JSON value | Description | +| ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Yes | "visible" | The scrollbar is always visible, even when it is not necessary (in other words, when the size of the object contents is smaller than that of the frame). | +| No | "hidden" | The scrollbar is never visible | +| Automatic | "automatic" | The scrollbar appears automatically whenever necessary (in other words, when the size of the object contents is greater than that of the frame) | + +> Picture objects can have scrollbars when the display format of the picture is set to “Truncated (non-centered).” + + +> If a text input object does not have a scroll bar, the user can scroll the information using the arrow keys. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | -------------------------------- | +| scrollbarVertical | text | "visible", "hidden", "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [Subform](subform_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Input](input_overview.md) - [4D Write Pro area](writeProArea_overview.md) + +#### See also + +[Horizontal scroll bar](#horizontal-scroll-bar) + + +## View mode + +Sets the mode for displaying the 4D Write Pro document in the form area. Three values are available: + +- **Page**: the most complete view mode, which includes page outlines, orientation, margins, page breaks, headers and footers, etc. +- **Draft**: draft mode with basic document properties +- **Embedded**: view mode suitable for embedded areas; it does not display margins, footers, headers, page frames, etc. This mode can also be used to produce a web-like view output (if you also select the [96 dpi resolution](#resolution) and the [Show HTML WYSIWYG](#show-html-wysiwyg) properties). + +> The View mode property is only used for onscreen rendering. Regarding printing settings, specific rendering rules are automatically used. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + layoutMode|text|"page", "draft", "embedded"| + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + +## Zoom + +Sets the zoom percentage for displaying 4D Write Pro area contents. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| | | | + zoom|number|minimum = 0 | + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) + + diff --git a/website/translated_docs/pt/FormObjects/properties_BackgroundAndBorder.md b/website/translated_docs/pt/FormObjects/properties_BackgroundAndBorder.md new file mode 100644 index 00000000000000..b5b3866cdd11a6 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_BackgroundAndBorder.md @@ -0,0 +1,225 @@ +--- +id: propertiesBackgroundAndBorder +title: Background and Border +--- + +--- +## Alternate Background Color + +Allows setting a different background color for odd-numbered rows/columns in a list box. By default, *Automatic* is selected: the column uses the alternate background color set at the list box level. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------- | +| alternateFill | string | any css value; "transparent"; "automatic" | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + + + +--- +## Background Color / Fill Color + +Defines the background color of an object. + +In the case of a list box, by default *Automatic* is selected: the column uses the background color set at the list box level. + +#### JSON Grammar + + +| Name | Data Type | Possible Values | +| ---- | --------- | ----------------------------------------- | +| fill | string | any css value; "transparent"; "automatic" | + +#### Objects Supported + +[Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-footers) - [Oval](shapes_overview.md#oval) - [Rectangle](shapes_overview.md#rectangle) + +#### See also +[Transparent](#transparent) + + +--- +## Background Color Expression + +`Selection and collection type list boxes` + +An expression or a variable (array variables cannot be used) to apply a custom background color to each row of the list box. The expression or variable will be evaluated for each row displayed and must return a RGB color value. For more information, refer to the description of the `OBJECT SET RGB COLORS` command in the *4D Language Reference manual*. +> With collection or entity selection type list boxes, this property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------- | +| rowFillSource | string | An expression returning a RGB color value | + +#### Objects Supported +[List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Border Line Style / Dotted Line Type + +Allows setting a standard style for the object border. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------------- | +| borderStyle | text | "system", "none", "solid", "dotted", "raised", "sunken", "double" | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Rectangle](shapes_overview.md#rectangle) - [Plug-in Area](pluginArea_overview.md#overview) - [Subform](subform_overview.md#overview) - [Web Area](webArea_overview.md#overview) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [4D Write Pro areas](writeProArea_overview.md) + + + + +--- +## Dotted Line Type + +Describes dotted line type as a sequence of black and white points. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | ---------------------- | ------------------------------------------------------------------------ | +| strokeDashArray | number array or string | Ex. "6 1" or \[6,1\] for a sequence of 6 black point and 1 white point | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + + +--- +## Hide extra blank rows + +Controls the display of extra blank rows added at the bottom of a list box object. By default, 4D adds such extra rows to fill the empty area: + +![](assets/en/FormObjects/property_hideExtraBlankRows1.png) + +You can remove these empty rows by selecting this option. The bottom of the list box object is then left blank: + +![](assets/en/FormObjects/property_hideExtraBlankRows2.png) + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| hideExtraBlankRows | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + + + +--- +## Font Color / Line Color + +For objects containing text (text, input, group box, list box header or footer), designates the font color. + +For shape objects (rectangle, line, oval), designates the color of the object's lines. + +#### JSON Grammar + + +| Name | Data Type | Possible Values | +| ------ | --------- | ----------------------------------------- | +| stroke | string | any css value, "transparent", "automatic" | + +#### Objects Supported + +[Group box](groupBox.md) - [Text](text.md) - [Input](input_overview.md) - [List box header](listbox_overview.md#header) - [List box footer](listbox_overview.md#footer) - [Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + +--- +## Line Width + +Designates the thickness of a line. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------------- | +| strokeWidth | number | 0 for smallest width on a printed form, or any integer value < 20 | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) - [Oval](shapes_overview.md#oval) - [Line](shapes_overview.md#line) + + + + + + + +--- +## Row Background Color Array + +`Array type list boxes` + +The name of an array to apply a custom background color to each row of the list box or column. + +The name of a Longint array must be entered. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. + +For example, given a list box where the rows have an alternating gray/light gray color, defined in the properties of the list box. A background color array has also been set for the list box in order to switch the color of rows where at least one value is negative to light orange: + +```code4d + <>_BgndColors{$i}:=0x00FFD0B0 // orange + <>_BgndColors{$i}:=-255 // default value +``` +![](assets/en/FormObjects/listbox_styles1.png) + +Next you want to color the cells with negative values in dark orange. To do this, you set a background color array for each column, for example <>_BgndColor_1, <>_BgndColor_2 and <>_BgndColor_3. The values of these arrays have priority over the ones set in the list box properties as well as those of the general background color array: + +```code4d + <>_BgndColorsCol_3{2}:=0x00FF8000 // dark orange + <>_BgndColorsCol_2{5}:=0x00FF8000 + <>_BgndColorsCol_1{9}:=0x00FF8000 + <>_BgndColorsCol_1{16}:=0x00FF8000 +``` +![](assets/en/FormObjects/listbox_styles2.png) + +You can get the same result using the `LISTBOX SET ROW FONT STYLE` and `LISTBOX SET ROW COLOR` commands. They have the advantage of letting you skip having to predefine style/color arrays for the columns: instead they are created dynamically by the commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| rowFillSource | string | The name of a longint array. | + +#### Objects Supported +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Transparent + +Sets the list box background to "Transparent". When set, any [alternate background color](#alternate-background-color) or [background color](#background-color-fill-color) defined for the column is ignored. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| fill | text | "transparent" | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + +#### See also +[Background Color / Fill Color](#background-color-fill-color) \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/properties_CoordinatesAndSizing.md b/website/translated_docs/pt/FormObjects/properties_CoordinatesAndSizing.md new file mode 100644 index 00000000000000..4d3736e6e658e4 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_CoordinatesAndSizing.md @@ -0,0 +1,284 @@ +--- +id: propertiesCoordinatesAndSizing +0: title:Coordinates & Sizing +--- + +--- +## Automatic Row Height +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is only available for array-based, non-hierarchical list boxes. The property is not selected by default. + +When used, the height of every row in the column will automatically be calculated by 4D, and the column contents will be taken into account. Note that only columns with the option selected will be taken into account to calculate the row height. +> When resizing the form, if the "Grow" [horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + +When this property is enabled, the height of every row is automatically calculated in order to make the cell contents entirely fit without being truncated (unless the [Wordwrap](properties_Display.md#wordwrap) option is disabled. + +* The row height calculation takes into account: + * any content types (text, numerics, dates, times, pictures (calculation depends on the picture format), objects), + * any control types (inputs, check boxes, lists, dropdowns), + * fonts, fonts styles and font sizes, + * the [Wordwrap](properties_Display.md#wordwrap) option: if disabled, the height is based on the number of paragraphs (lines are truncated); if enabled, the height is based on number of lines (not truncated). + +* The row height calculation ignores: + * hidden column contents + * [Row Height](#row-height) and [Row Height Array](#row-height-array) properties (if any) set either in the Property list or by programming. +> Since it requires additional calculations at runtime, the automatic row height option could affect the scrolling fluidity of your list box, in particular when it contains a large number of rows. + + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| rowHeightAuto | boolean | true, false | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Bottom + +Bottom coordinate of the object in the form. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | --------------- | +| bottom | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Left + +Left coordinate of the object on the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| left | number | minimum: 0 | + + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Right + +Right coordinate of the object in the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| right | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Top + +Top coordinate of the object in the form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| top | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + +--- +## Corner Radius + +Defines the corner roundness (in pixels) of objects of the [rectangle](shapes_overview.md#rectangle) type. By default, the radius value for rectangles is 0 pixels. You can change this property to draw rounded rectangles with custom shapes: + +![](assets/en/FormObjects/shape_rectangle.png) + +Minimum value is 0, in this case a standard non-rounded rectangle is drawn. Maximum value depends on the rectangle size (it cannot exceed half the size of the shortest rectangle side) and is calculated dynamically. + +You can also set this property using the [OBJECT Get corner radius](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-Get-corner-radius.301-4311357.en.html) and [OBJECT SET CORNER RADIUS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-CORNER-RADIUS.301-4311356.en.html) commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| borderRadius | integer | minimum: 0 | + +#### Objects Supported + +[Rectangle](shapes_overview.md#rectangle) + + + + +--- +## Height + +This property designates an object's vertical size. +> Some objects may have a predefined height that cannot be altered. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | --------------- | +| height | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Width + +This property designates an object's horizontal size. +> * Some objects may have a predefined height that cannot be altered. +> * If the [Resizable](properties_ResizingOptions.md#resizable) property is used for a [list box column](listbox_overview.md#list-box-columns), the user can also manually resize the column. +> * When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| width | number | minimum: 0 | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + + + + + + + +--- +## Maximum Width + +The maximum width of the column (in pixels). The width of the column cannot be increased beyond this value when resizing the column or form. +> When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| maxWidth | number | minimum: 0 | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + +--- +## Minimum Width + +The minimum width of the column (in pixels). The width of the column cannot be reduced below this value when resizing the column or form. +> When resizing the form, if the ["Grow" horizontal sizing](properties_ResizingOptions.md#horizontal-sizing) property was assigned to the list box, the right-most column will be increased beyond its maximum width if necessary. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | --------------- | +| minWidth | number | minimum: 0 | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + + + +--- +## Row Height + + +Sets the height of list box rows (excluding headers and footers). By default, the row height is set according to the platform and the font size. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ---------------------------------------- | +| rowHeight | string | css value in unit "em" or "px" (default) | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height Array](#row-height-array) + + + +--- +## Row Height Array +`4D View Pro only: This feature requires a 4D View Pro license.` + +This property is used to specify the name of a row height array that you want to associate with the list box. A row height array must be of the numeric type (longint by default). + +When a row height array is defined, each of its elements whose value is different from 0 (zero) is taken into account to determine the height of the corresponding row in the list box, based on the current Row Height unit. + +For example, you can write: + +```code4d +ARRAY LONGINT(RowHeights;20) +RowHeights{5}:=3 +``` + +Assuming that the unit of the rows is "lines," then the fifth row of the list box will have a height of three lines, while every other row will keep its default height. +> * The Row Height Array property is not taken into account for hierarchical list boxes. +> * For array-based list boxes, this property is available only if the [Automatic Row Height](#automatic-row-height) option is not selected. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | ---------------------------- | +| rowHeightSource | string | Name of a 4D array variable. | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + + +#### See also +[Row Height](#row-height) + + + + diff --git a/website/translated_docs/pt/FormObjects/properties_Crop.md b/website/translated_docs/pt/FormObjects/properties_Crop.md new file mode 100644 index 00000000000000..5a08cf891a9c09 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Crop.md @@ -0,0 +1,47 @@ +--- +id: propertiesCrop +0: title:Crop +--- + +--- +## Columns + +Sets the number of columns in a thumbnail table. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----------- |:---------:| --------------- | +| columnCount | integer | minimum: 1 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + +--- +## Rows + +Sets the number of rows in a thumbnail table. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------- |:---------:| --------------- | +| rowCount | integer | minimum: 1 | + +#### Objects Supported + +[Picture Button](pictureButton_overview.md) - [Button Grid](buttonGrid_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) + + + + + + + + + + diff --git a/website/translated_docs/pt/FormObjects/properties_DataSource.md b/website/translated_docs/pt/FormObjects/properties_DataSource.md new file mode 100644 index 00000000000000..33f64f77686a73 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_DataSource.md @@ -0,0 +1,290 @@ +--- +id: propertiesDataSource +title: Data Source +--- + +--- +## Automatic Insertion + +When this option is selected, if a user enters a value that is not found in the choice list associated with the object, this value is automatically added to the list stored in memory. You can associate choice lists to objects using: +- the [Choice List](properties_DataSource.md#choice-list) JSON property +- the [OBJECT SET LIST BY NAME](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-NAME.301-4128227.en.html) or [OBJECT SET LIST BY REFERENCE](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-LIST-BY-REFERENCE.301-4128237.en.html) commands. +- the form editor's Property List. + +For example, given a choice list containing "France, Germany, Italy" that is associated with a "Countries" combo box: if the **automatic insertion** property is set and a user enters "Spain", then the value "Spain" is automatically added to the list in memory: + +![](assets/en/FormObjects/comboBox_AutomaticInsertion_example.png) + +Naturally, the value entered must not belong to the list of [excluded values](properties_RangeOfValues.md#excluded-list) associated with the object, if one has been set. +> If the list was created from a list defined in Design mode, the original list is not modified. + +When the **automatic insertion** option is not selected (default), the value entered is stored in the object but not in the list in memory. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | --------------- | +| automaticInsertion | boolean | true, false | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Choice List + +Associates a choice list with an object. It can be a choice list name (a list reference) or a collection of default values. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ---------------- | --------------------------------------------------- | +| choiceList | list, collection | A list of possible values | +| list | list, collection | A list of possible values (hierarchical lists only) | + + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Choice List (static list) + +List of static values to use as labels for the tab control object. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | ---------------- | ---------------------------------------- | +| labels | list, collection | A list of values to fill the tab control | + +#### Objects Supported + +[Tab Control](tabControl.md) + + +--- +## Current item +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the collection element/entity selected by the user. You must use an object variable or an assignable expression that accepts objects. If the user does not select anything or if you used a collection of scalar values, the Null value is assigned. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | ----------------- | +| currentItemSource | string | Object expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + + + +--- + +## Current item position +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned a longint indicating the position of the collection element/entity selected by the user. + +* if no element/entity is selected, the variable or expression receives zero, +* if a single element/entity is selected, the variable or expression receives its location, +* if multiple elements/entities are selected, the variable or expression receives the position of element/entity that was last selected. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------------- | --------- | ----------------- | +| currentItemPositionSource | string | Number expression | + +#### Objects Supported +[List Box ](listbox_overview.md) + + + + + +--- +## Data Type + +Please refer to [Expression Type](properties_Object.md#expression-type) section. + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- + +## Default (list of) values + +List of values that will be used as default values for the list box column (array type only). These values are automatically available in the [array variable](properties_Object.md#variable-or-expression) associated with this column when the form is executed. Using the language, you can manage the object by referring to this array. + +> Do not make confusion between this property and the "[default value](properties_RangeOfValues.md#default-list-of-values)" property that allows to define a field value in new records. + +You must enter a list of values. In the Form editor, a specific dialog box allows you to enter values separated by carriage returns: + +![](assets/en/FormObjects/defaultValues.png) + +> You can also define a [choice list](properties_DataSource.md#choice-list) with the list box column. However, a choice list will be used as list of selectable values for each column row, whereas the default list fill all column rows. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | ---------- | ---------------------------------------------------------------- | +| values | collection | A collection of default values (strings), ex: "a", "b", "c", "d" | + +#### Objects Supported + +[List Box Column (array type only)](listbox_overview.md#list-box-columns) + + + + +--- +## Expression + +This description is specific to [selection](listbox_overview.md#selection-list-boxes) and [collection](listbox_overview.md#collection-or-entity-selection-list-boxes) type list box columns. See also **[Variable or Expression](properties_Object.md#variable-or-expression)** section. + +A 4D expression to be associated with a column. You can enter: + +- A **simple variable** (in this case, it must be explicitly declared for compilation). You can use any type of variable except BLOBs and arrays. The value of the variable will be generally calculated in the `On Display Detail` event. + +- A **field** using the standard [Table]Field syntax ([selection type list box](listbox_overview.md#selection-list-boxes) only), for example: `[Employees]LastName`. The following types of fields can be used: + * String + * Numeric + * Date + * Time + * Picture + * Boolean You can use fields from the Master Table or from other tables. + +- A **4D expression** (simple expression, formula or 4D method). The expression must return a value. The value will be evaluated in the `On Display Detail` and `On Data Change` events. The result of the expression will be automatically displayed when you switch to Application mode. The expression will be evaluated for each record of the selection (current or named) of the Master Table (for selection type list boxes), each element of the collection (for collection type list boxes) or each entity of the selection (for entity selection list boxes). If it is empty, the column will not display any results. The following expression types are supported: + * String + * Numeric + * Date + * Picture + * Boolean + + For collection/entity selection list boxes, Null or unsupported types are displayed as empty strings. When using collections or entity selections, you will usually declare the element property or entity attribute associated to a column within an expression containing [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html). `This` is a dedicated 4D command that returns a reference to the currently processed element. For example, you can use **This.\** where **\** is the path of a property in the collection or an entity attribute path to access the current value of each element/entity. If you use a collection of scalar values, 4D will create an object for each collection element with a single property (named "value"), filled with the element value. In this case, you will use **This.value** as expression. + + If a [non-assignable expression](Concepts/quick-tour.md#expressions) is used (e.g. `[Person]FirstName+" "+[Person]LastName`), the column is never enterable even if the [Enterable](properties_Entry.md#enterable) property is enabled. + +If a field, a variable, or an assignable expression (*e.g. Person.lastName*) is used, the column can be enterable or not depending on the [Enterable](properties_Entry.md#enterable) property. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------- | +| dataSource | string | A 4D variable, field name, or an arbitrary complex language expression. | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Master Table +`Current selection list boxes` + +Specifies the table whose current selection will be used. This table and its current selection will form the reference for the fields associated with the columns of the list box (field references or expressions containing fields). Even if some columns contain fields from other tables, the number of rows displayed will be defined by the master table. + +All database tables can be used, regardless of whether the form is related to a table (table form) or not (project form). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------- | +| table | number | Table number | + +#### Objects Supported +[List Box](listbox_overview.md#overview) + + + +--- + +## Save as + + +This property is available in the following conditions: + +- a [choice list](#choice-list) is associated with the object +- for [inputs](input_overview.md) and [list box columns](listbox_overview.md#list-box-columns), a [required list](properties_RangeOfValues.md#required-list) is also defined for the object (both options should use usually the same list), so that only values from the list can be entered by the user. + +This property specifies, in the context of a field or variable associated with a list of values, the type of contents to save: + +- **Save as Value** (default option): the value of the item chosen in the list by the user is saved directly. For example, if the user chooses the value "Blue", then this value is saved in the field. +- **Save as Reference**: the reference of the choice list item is saved in the object. This reference is the numeric value associated with each item either through the *itemRef* parameter of the `APPEND TO LIST` or `SET LIST ITEM` commands, or in the lists editor. + +This option lets you optimize memory usage: storing numeric values in fields uses less space than storing strings. It also makes it easier to translate applications: you just create multiple lists in different languages but with the same item references, then load the list based on the language of the application. + +Using this property requires compliance with the following principles: + +- To be able to store the reference, the field or variable data source must be of the Number type (regardless of the type of value displayed in the list). +- Valid and unique references must be associated with list items. +- If you use this property for a [drop-down list](dropdownList_Overview.md), it must be associated with a field. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | -------------------- | +| saveAs | string | "value", "reference" | + +#### Objects Supported +[Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + +--- +## Selected Items +`Collection or entity selection list boxes` + +Specifies a variable or expression that will be assigned the elements or entities selected by the user. + +* for a collection list box, you must use a collection variable or an assignable expression that accepts collections, +* for an entity selection list box, an entity selection object is built. You must use an object variable or an assignable expression that accepts objects. +> This property is "read-only", it is automatically updated according to user actions in the list box. You cannot edit its value to modify the list box selection status. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | --------------------- | +| selectedItemsSource | string | Collection expression | + +#### Objects Supported +[List Box ](listbox_overview.md#overview) + + +--- +## Selection Name +`Named selection list boxes` + +Specifies the named selection to be used. You must enter the name of a valid named selection. It can be a process or interprocess named selection. The contents of the list box will be based on this selection. The named selection chosen must exist and be valid at the time the list box is displayed, otherwise the list box will be displayed blank. + +> Named selections are ordered lists of records. They are used to keep the order and current record of a selection in memory. For more information, refer to **Named Selections** section in the *4D Language Reference manual*. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | -------------------- | +| namedSelection | string | Named selection name | + +#### Objects Supported +[List Box](listbox_overview.md#overview) diff --git a/website/translated_docs/pt/FormObjects/properties_Display.md b/website/translated_docs/pt/FormObjects/properties_Display.md new file mode 100644 index 00000000000000..f816af4527a9d8 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Display.md @@ -0,0 +1,611 @@ +--- +id: propertiesDisplay +0: title:Display +--- + +--- +## Alpha Format + +Alpha formats control the way the alphanumeric fields and variables appear when displayed or printed. Here is a list of formats provided for alphanumeric fields: + +![](assets/en/FormObjects/property_alphaFormat.png) + +You can choose a format from this list or use any custom format. The default list contains formats for some of the most common alpha fields that require formats: US telephone numbers (local and long distance), Social Security numbers, and zip codes. You can also enter a custom format name set in the Filters and formats editor of the tool box. In this case, the format cannot be modified in the object properties. Any custom formats or filters that you have created are automatically available, preceded by a vertical bar (|). + +The number sign (#) is the placeholder for an alphanumeric display format. You can include the appropriate dashes, hyphens, spaces, and any other punctuation marks that you want to display. You use the actual punctuation marks you want and the number sign for each character you want to display. + +For example, consider a part number with a format such as "RB-1762-1". + +The alpha format would be: + + ##-####-# + +When the user enters "RB17621," the field displays: + + RB-1762-1 + +The field actually contains "RB17621". + +If the user enters more characters than the format allows, 4D displays the last characters. For example, if the format is: + + (#######) + +and the user enters "proportion", the field displays: + + (portion) + +The field actually contains "proportion". 4D accepts and stores the entire entry no matter what the display format. No information is lost. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------------------------------------------ | +| textFormat | string | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats | + +#### Objects Supported + +[Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + + + +--- + +## Date Format + +Date formats control the way dates appear when displayed or printed. For data entry, you enter dates in the MM/DD/YYYY format, regardless of the display format you have chosen. +> Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for dates must only be selected among the 4D built-in formats. + +The table below shows choices available: + +| Format name | JSON String | Example (US system) | +| ------------------------------- | ------------ | ----------------------------- | +| System date short | - (default) | 03/25/20 | +| System date abbreviated *(1)* | systemMedium | Wed, Mar 25, 2020 | +| System date long | systemLong | Wednesday, March 25, 2020 | +| RFC 822 | rfc822 | Tue, 25 Mar 2020 22:00:00 GMT | +| Short Century | shortCentury | 03/25/20 but 04/25/2032 *(2)* | +| Internal date long | long | March 25, 2020 | +| Internal date abbreviated *(1)* | abbreviated | Mar 25, 2020 | +| Internal date short | short | 03/25/2020 | +| ISO Date Time *(3)* | iso8601 | 2020-03-25T00:00:00 | + +*(1)* To avoid ambiguity and in accordance with current practice, the abbreviated date formats display "jun" for June and "jul" for July. This particularity only applies to French versions of 4D. + +*(2)* The year is displayed using two digits when it belongs to the interval (1930;2029) otherwise it will be displayed using four digits. This is by default but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + +*(3)* The `ISO Date Time` format corresponds to the XML date and time representation standard (ISO8601). It is mainly intended to be used when importing/exporting data in XML format and in Web Services. +> Regardless of the display format, if the year is entered with two digits then 4D assumes the century to be the 21st if the year belongs to the interval (00;29) and the 20th if it belongs to the interval (30;99). This is the default setting but it can be modified using the [SET DEFAULT CENTURY](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-DEFAULT-CENTURY.301-4311596.en.html) command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dateFormat | string | "systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + +--- +## Number Format +> Number fields include the Integer, Long integer, Integer 64 bits, Real and Float types. + +Number formats control the way numbers appear when displayed or printed. For data entry, you enter only the numbers (including a decimal point or minus sign if necessary), regardless of the display format you have chosen. + +4D provides various default number formats. + +### Placeholders + +In each of the number display formats, the number sign (#), zero (0), caret (^), and asterisk (*) are used as placeholders. You create your own number formats by using one placeholder for each digit you expect to display. + +| Placeholder | Effect for leading or trailing zero | +| ----------- | ----------------------------------- | +| # | Displays nothing | +| 0 | Displays 0 | +| ^ | Displays a space (1) | +| * | Displays an asterisk | + +(1) The caret (^) generates a space character that occupies the same width as a digit in most fonts. + + +For example, if you want to display three-digit numbers, you could use the format ###. If the user enters more digits than the format allows, 4D displays <<< in the field to indicate that more digits were entered than the number of digits specified in the display format. + + +If the user enters a negative number, the leftmost character is displayed as a minus sign (unless a negative display format has been specified). If ##0 is the format, minus 26 is displayed as –26 and minus 260 is displayed as <<< because the minus sign occupies a placeholder and there are only three placeholders. +> No matter what the display format, 4D accepts and stores the number entered in the field. No information is lost. + +Each placeholder character has a different effect on the display of leading or trailing zeros. A leading zero is a zero that starts a number before the decimal point; a trailing zero is a zero that ends a number after the decimal point. + +Suppose you use the format ##0 to display three digits. If the user enters nothing in the field, the field displays 0. If the user enters 26, the field displays 26. + + +### Separator characters + +The numeric display formats (except for scientific notations) are automatically based on regional system parameters. 4D replaces the “.” and “,” characters by, respectively, the decimal separator and the thousand separator defined in the operating system. The period and comma are thus considered as placeholder characters, following the example of 0 or #. +> On Windows, when using the decimal separator key of the numeric keypad, 4D makes a distinction depending on the type of field where the cursor is located: * in a Real type field, using this key will insert the decimal separator defined in the system, * in any other type of field, this key inserts the character associated with the key, usually a period (.) or comma (,). + + +### Decimal points and other display characters + +You can use a decimal point in a number display format. If you want the decimal to display regardless of whether the user types it in, it must be placed between zeros. + +You can use any other characters in the format. When used alone, or placed before or after placeholders, the characters always appear. For example, if you use the following format: + + $##0 + +a dollar sign always appears because it is placed before the placeholders. + +If characters are placed between placeholders, they appear only if digits are displayed on both sides. For example, if you define the format: + + ###.##0 + +the point appears only if the user enters at least four digits. + +Spaces are treated as characters in number display formats. + +### Formats for positive, negative, and zero + +A number display format can have up to three parts allowing you to specify display formats for positive, negative, and zero values. You specify the three parts by separating them with semicolons as shown below: + + Positive;Negative;Zero + +You do not have to specify all three parts of the format. If you use just one part, 4D uses it for all numbers, placing a minus sign in front of negative numbers. + +If you use two parts, 4D uses the first part for positive numbers and zero and the second part for negative numbers. If you use three parts, the first is for positive numbers, the second for negative numbers, and the third for zero. +> The third part (zero) is not interpreted and does not accept replacement characters. If you enter `###;###;#`, the zero value will be displayed “#”. In other words, what you actually enter is what will be displayed for the zero value. + +Here is an example of a number display format that shows dollar signs and commas, places negative values in parentheses, and does not display zeros: + + $###,##0.00;($###,##0.00); + +Notice that the presence of the second semicolon instructs 4D to use nothing to display zero. The following format is similar except that the absence of the second semicolon instructs 4D to use the positive number format for zero: + + $###,##0.00;($###,##0.00) + +In this case, the display for zero would be $0.00. + +### Scientific notation + +If you want to display numbers in scientific notation, use the **ampersand** (&) followed by a number to specify the number of digits you want to display. For example, the format: + + &3 + +would display 759.62 as: + + 7.60e+2 + + +The scientific notation format is the only format that will automatically round the displayed number. Note in the example above that the number is rounded up to 7.60e+2 instead of truncating to 7.59e+2. + +### Hexadecimal formats + +You can display a number in hexadecimal using the following display formats: + +* `&x`: This format displays hexadecimal numbers using the “0xFFFF” format. +* `&$`: This format displays hexadecimal numbers using the “$FFFF” format. + +### XML notation + +The `&xml` format will make a number compliant with XML standard rules. In particular, the decimal separator character will be a period "." in all cases, regardless of the system settings. + +### Displaying a number as a time + +You can display a number as a time (with a time format) by using `&/` followed by a digit. Time is determined by calculating the number of seconds since midnight that the value represents. The digit in the format corresponds to the order in which the time format appears in the Format drop-down menu. + +For example, the format: + + &/5 + +corresponds to the 5th time format in the pop-up menu, specifically the AM/PM time. A number field with this format would display 25000 as: + + 6:56 AM + +### Examples + +The following table shows how different formats affect the display of numbers. The three columns — Positive, Negative, and Zero — each show how 1,234.50, –1,234.50, and 0 would be displayed. + +| Format Entered | Positive | Negative | Zero | +| -------------------------------------- | ---------------- | ------------- | ---------------------------- | +| ### | <<< | <<< | | +| #### | 1234 | <<<< | | +| ####### | 1234 | -1234 | | +| #####.## | 1234.5 | -1234.5 | | +| ####0.00 | 1234.50 | -1234.50 | 0.00 | +| #####0 | 1234 | -1234 | 0 | +| +#####0;–#####0;0 | +1234 | -1234 | 0 | +| #####0DB;#####0CR;0 | 1234DB | 1234CR | 0 | +| #####0;(#####0) | 1234 | (1234) | 0 | +| ###,##0 | 1,234 | -1,234 | 0 | +| ##,##0.00 | 1,234.50 | -1,234.50 | 0.00 | +| \^\^\^\^\^\^\^ | 1234 | -1234 | | +| \^\^\^\^\^\^0 | 1234 | -1234 | 0 | +| \^\^\^,\^\^0 | 1,234 | -1,234 | 0 | +| \^\^,\^\^0.00 | 1,234.50 | -1,234.50 | 0.00 | +| \*\*\*\*\*\*\* | \*\*\*1234 | \*\*-1234 | \*\*\*\*\*\*\* | +| \*\*\**\*\*0 | \*\*\*1234 | \*\*-1234 | \*\*\*\*\*\*0 | +| \*\*\*,*\*0 | \*\*1,234 | \*-1,234 | \*\*\*\*\*\*0 | +| \*\*,\*\*0.00 | \*1,234.50 | -1,234.50 | \*\*\*\*\*0.00 | +| $\*,\*\*0.00;–$\*,\*\*0.00 | $1,234.50 | -$1,234.50 | $\*\*\*\*0.00 | +| $\^\^\^\^0 | $ 1234 | $–1234 | $ 0 | +| $\^\^\^0;–$\^\^\^0 | $1234 | –$1234 | $ 0 | +| $\^\^\^0 ;($\^\^\^0) | $1234 | ($1234) | $ 0 | +| $\^,\^\^0.00 ;($\^,\^\^0.00) | $1,234.50 | ($1,234.50) | $ 0.00 | +| &2 | 1.2e+3 | -1.2e+3 | 0.0e+0 | +| &5 | 1.23450e+3 | -1.23450e+3 | 0.00000 | +| &xml | 1234.5 | -1234.5 | 0 | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | -------------------------------------------------------------- | +| numberFormat | string | Numbers (including a decimal point or minus sign if necessary) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Progress Indicators](progressIndicator.md) + + + + + + +--- +## Picture Format + +Picture formats control how pictures appear when displayed or printed. For data entry, the user always enters pictures by pasting them from the Clipboard or by drag and drop, regardless of the display format. + +The truncation and scaling options do not affect the picture itself. The contents of a Picture field are always saved. Only the display on the particular form is affected by the picture display format. + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Truncated (centered and non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Truncated (centered)** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. +> When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + +### Scaled to fit (proportional) and Scaled to fit centered (proportional) + +`JSON grammar: "proportionalTopLeft" / "proportionalCenter"` + +When you use **Scaled to fit (proportional)**, the picture is reduced proportionally on all sides to fit the area created for the picture. The **Scaled to fit centered (proportional)** option does the same, but centers the picture in the picture area. + +If the picture is smaller than the area set in the form, it will not be modified. If the picture is bigger than the area set in the form, it is proportionally reduced. Since it is proportionally reduced, the picture will not appear distorted. + +If you have applied the **Scaled to fit centered (proportional)** format, the picture is also centered in the area: + +![](assets/en/FormObjects/property_pictureFormat_ScaledProportional.png) + + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------------------------------------------------------------------------------------- | +| pictureFormat | string | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft", "proportionalCenter" | + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + +--- +## Time Format + +Time formats control the way times appear when displayed or printed. For data entry, you enter times in the 24-hour HH:MM:SS format or the 12-hour HH:MM:SS AM/PM format, regardless of the display format you have chosen. +> Unlike [Alpha](#alpha-format) and [Number](#number-format) formats, display formats for times must only be selected among the 4D built-in formats. + +The table below shows the Time field display formats and gives examples: + +| Format name | JSON string | Comments | Example for 04:30:25 | +| ---------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------- | +| HH:MM:SS | hh_mm_ss | | 04:30:25 | +| HH:MM | hh_mm | | 04:30 | +| Hour Min Sec | HH_MM_SS | | 4 hours 30 minutes 25 seconds | +| Hour Min | HH_MM | | 4 hours 30 minutes | +| HH:MM AM/PM | hh_mm_am | | 4:30 a.m. | +| MM SS | mm_ss | Time expressed as a duration from 00:00:00 | 270:25 | +| Min Sec | MM_SS | Time expressed as a duration from 00:00:00 | 270 Minutes 25 Seconds | +| ISO Date Time | iso8601 | Corresponds to the XML standard for representing time-related data. It is mainly intended to be used when importing/exporting data in XML format | 0000-00-00T04:30:25 | +| System time short | - (default) | Standard time format defined in the system | 04:30:25 | +| System time long abbreviated | systemMedium | macOS only: Abbreviated time format defined in the system.
    Windows: this format is the same as the System time short format | 4•30•25 AM | +| System time long | systemLong | macOS only: Long time format defined in the system.
    Windows: this format is the same as the System time short format | 4:30:25 AM HNEC | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timeFormat | string | "systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values) | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + +--- +## Text when False/Text when True + +When a [boolean expression](properties_Object.md#expression-type) is displayed as: +- a text in an [input object](input_overview.md) +- a ["popup"](properties_Display.md#display-type) in a [list box column](listbox_overview.md#list-box-columns), + +... you can select the text to display for each value: +- **Text when True** - the text to be displayed when the value is "true" +- **Text when False** - the text to be displayed when the value is "false" + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ------------------------------------------------------------------------ | +| booleanFormat | string | "\<*textWhenTrue*\>;\<*textWhenFalse*\>", e.g. "Assigned;Unassigned" | + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + +--- +## Display Type + +Used to associate a display format with the column data. The formats provided depends on the variable type (array type list box) or the data/field type (selection and collection type list boxes). + +Boolean and number (numeric or integer) columns can be displayed as check boxes. In this case, the [Title](#title) property can be defined. + +Boolean columns can also be displayed as pop-up menus. In this case, the [Text when False and Text when True](#text-when-false-text-when-true) properties must be defined. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| controlType | string |

  • **number columns**: "automatic" (default) or "checkbox"
  • **boolean columns**: "checkbox" (default) or "popup" | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + +--- +## Not rendered + +When this property is enabled, the object is not drawn on the form, however it can still be activated. + +In particular, this property allows implementing "invisible" buttons. Non-rendered buttons can be placed on top of graphic objects. They remain invisible and do not highlight when clicked, however their action is triggered when they are clicked. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | --------------- | +| display | boolean | true, false | + +#### Objects Supported + +[Button](button_overview.md) - [Drop-down List](dropdownList_Overview.md) + + + + + + + +--- +## Three-States + +Allows a check box object to accept a third state. The variable associated with the check box returns the value 2 when the check box is in the third state. + + +#### Three-states check boxes in list box columns + +List box columns with a numeric [data type](properties_Object.md#expression-type) can be displayed as three-states check boxes. If chosen, the following values are displayed: +* 0 = unchecked box, +* 1 = checked box, +* 2 (or any value >0) = semi-checked box (third state). For data entry, this state returns the value 2. +* -1 = invisible check box, +* -2 = unchecked box, not enterable, +* -3 = checked box, not enterable, +* -4 = semi-checked box, not enterable + +In this case as well, the [Title](#title) property is also available so that the title of the check box can be entered. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| threeState | boolean | true, false | + +#### Objects Supported + +[Check box](checkbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + +--- +## Title + +This property is available for a list box column if: +- the [column type](properties_Object.md#expression-type) is **boolean** and its [display type](properties_Display.md#display-type) is "Check Box" +- the [column type](properties_Object.md#expression-type) is **number** (numeric or integer) and its [display type](properties_Display.md#display-type) is "Three-states Checkbox". + +In that cases, the title of the check box can be entered using this property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ---------------------------------- | +| controlTitle | string | Any custom label for the check box | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + +--- + +## Truncate with ellipsis + +Controls the display of values when list box columns are too narrow to show their full contents. + +This option is available for columns with any type of contents, except pictures and objects. + +* When the property is enabled (default), if the contents of a list box cell exceed the width of the column, they are truncated and an ellipsis is displayed: + + ![](assets/en/FormObjects/property_truncate1.png) +> The position of the ellipsis depends on the OS. In the above example (Windows), it is added on the right side of the text. On macOS, the ellipsis is added in the middle of the text. + +* When the property is disabled, if the contents of a cell exceed the width of the column, they are simply clipped with no ellipsis added: + + ![](assets/en/FormObjects/property_truncate2.png) + +The Truncate with ellipsis option is enabled by default and can be specified with list boxes of the Array, Selection, or Collection type. + + +> When applied to Text type columns, the Truncate with ellipsis option is available only if the [Wordwrap](#wordwrap) option is not selected. When the Wordwrap property is selected, extra contents in cells are handled through the word-wrapping features so the Truncate with ellipsis property is not available. + +The Truncate with ellipsis property can be applied to Boolean type columns; however, the result differs depending on the [cell format](#display-type): +- For Pop-up type Boolean formats, labels are truncated with an ellipsis, +- For Check box type Boolean formats, labels are always clipped. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ---------------------- | +| truncateMode | string | "withEllipsis", "none" | + + + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-footers) + + + + + +--- +## Visibility + +This property allows hiding by default the object in the Application environment. + +You can handle the Visible property for most form objects. This property simplifies dynamic interface development. In this context, it is often necessary to hide objects programatically during the `On load` event of the form then to display certain objects afterwards. The Visible property allows inverting this logic by making certain objects invisible by default. The developer can then program their display using the `OBJECT SET VISIBLE` command depending on the context. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------- | +| visibility | string | "visible", "hidden" | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + + + + + +--- +## Wordwrap + +> For [input](input_overview.md) objects, available when the [Multiline](properties_Entry.md#multiline) property is set to "yes" . + +Manages the display of contents when it exceeds the width of the object. + +#### Checked for list box/Yes for input +`JSON grammar: "normal"` + +When this option is selected, text automatically wraps to the next line whenever its width exceeds that of the column/area, if the column/area height permits it. + +- In single-line columns/areas, only the last word that can be displayed entirely is displayed. 4D inserts line returns; it is possible to scroll the contents of the area by pressing the down arrow key. + +- In multiline columns/areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap2.png) + + +#### Unchecked for list box/No for input +`JSON grammar: "none"` + +When this option is selected, 4D does not do any automatic line returns and the last word that can be displayed may be truncated. In text type areas, carriage returns are supported: + +![](assets/en/FormObjects/wordwrap3.png) + +In list boxes, any text that is too long is truncated and displayed with an ellipse (...). In the following example, the Wordwrap option is **checked for the left column** and **unchecked for the right column**: + +![](assets/en/FormObjects/property_wordwrap1.png) + +Note that regardless of the Wordwrap option’s value, the row height is not changed. If the text with line breaks cannot be entirely displayed in the column, it is truncated (without an ellipse). In the case of list boxes displaying just a single row, only the first line of text is displayed: + +![](assets/en/FormObjects/property_wordwrap2.png) + + +#### Automatic for input (default option) +`JSON grammar: "automatic"` + +- In single-line areas, words located at the end of lines are truncated and there are no line returns. +- In multiline areas, 4D carries out automatic line returns. + +![](assets/en/FormObjects/wordwrap1.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | -------------------------------------------------- | +| wordwrap | string | "automatic" (excluding list box), "normal", "none" | + +#### Objects Supported + +[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) + + + + + + diff --git a/website/translated_docs/pt/FormObjects/properties_Entry.md b/website/translated_docs/pt/FormObjects/properties_Entry.md new file mode 100644 index 00000000000000..786e2a8dd6cfd8 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Entry.md @@ -0,0 +1,339 @@ +--- +id: propertiesEntry +0: title:Entry +--- + +--- +## Auto Spellcheck + +4D includes an integrated and customizable spell-check utility. Text type [inputs](input_overview.md) can be checked, as well as [4D Write Pro](writeProArea_overview.md) documents. + +The Auto Spellcheck property activates the spell-check for each object. When used, a spell-check is automatically performed during data entry. You can also execute the `SPELL CHECKING` 4D language command for each object to be checked. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| spellcheck | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro area](writeProArea_overview.md) - [Input](input_overview.md) + + +--- +## Context Menu + +Allows the user access to a standard context menu in the object when the form is executed. + +For a picture type [input](input_overview.md), in addition to standard editing commands (Cut, Copy, Paste and Clear), the menu contains the **Import...** command, which can be used to import a picture stored in a file, as well as the **Save as...** command, which can be used to save the picture to disk. The menu can also be used to modify the display format of the picture: the **Truncated non-centered**, **Scaled to fit** and **Scaled to fit centered prop.** options are provided. The modification of the [display format](properties_Display#picture-format) using this menu is temporary; it is not saved with the record. + +For a [multi-style](properties_Text.md#multi-style) text type [input](input_overview.md), in addition to standard editing commands, the context menu provides the following commands: +- **Fonts...**: displays the font system dialog box +- **Recent fonts**: displays the names of recent fonts selected during the session. The list can store up to 10 fonts (beyond that, the last font used replaces the oldest). By default, this list is empty and the option is not displayed. You can manage this list using the `SET RECENT FONTS` and `FONT LIST` commands. +- commands for supported style modifications: font, size, style, color and background color. When the user modifies a style attribute via this pop-up menu, 4D generates the `On After Edit` form event. + +For a [Web Area](webArea_overview.md), the contents of the menu depend of the rendering engine of the platform. It is possible to control access to the context menu via the [`WA SET PREFERENCE`](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ------------------------------------- | +| contextMenu | string | "automatic" (used if missing), "none" | + +#### Objects Supported + +[Input](input_overview.md) - [Web Area](webArea_overview.md) - [4D Write Pro areas](writeProArea_overview.md) + + + + + + +--- +## Enterable + +The Enterable attribute indicates whether users can enter values into the object. + +Objects are enterable by default. If you want to make a field or an object non-enterable for that form, you can disable the Enterable property for the object. A non-enterable object only displays data. You control the data by methods that use the field or variable name. You can still use the `On Clicked`, `On Double Clicked`, `On Drag Over`, `On Drop`, `On Getting Focus` and `On Losing Focus` form events with non-enterable objects. This makes it easier to manage custom context menus and lets you design interfaces where you can drag-and-drop and select non-enterable variables. + +When this property is disabled, any pop-up menus associated with a list box column via a list are disabled. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| enterable | boolean | true, false | + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Progress Bar](progressIndicator.md) - [Ruler](ruler.md) - [Stepper](stepper.md) + + +--- +## Entry Filter + +An entry filter controls exactly what the user can type during data entry. Unlike [required lists](properties_RangeOfValues.md#required-list) for example, entry filters operate on a character-by-character basis. For example, if a part number always consists of two letters followed by three digits, you can use an entry filter to restrict the user to that pattern. You can even control the particular letters and numbers. + +An entry filter operates only during data entry. It has no effect on data display after the user deselects the object. In general, you use entry filters and [display formats](properties_Display.md) together. The filter constrains data entry and the format ensures proper display of the value after data entry. + +During data entry, an entry filter evaluates each character as it is typed. If the user attempts to type an invalid character (a number instead of a letter, for example), 4D simply does not accept it. The null character remains unchanged until the user types a valid character. + +Entry filters can also be used to display required formatting characters so that the user need not enter them. For example, an American telephone number consists of a three-digit area code, followed by a seven-digit number that is broken up into two groups of three and four digits, respectively. A display format can be used to enclose the area code in parentheses and display a dash after the third digit of the telephone number. When such a format is used, the user does not need to enter the parentheses or the dashes. + +### Defining an entry filter + +Most of the time, you can use one of the [built-in filters](#default-entry-filters) of 4D for what you need; however, you can also create and use custom filters: + +- you can directly enter a filter definition string +- or you can enter the name of an entry filter created in the Filters editor in the Toolbox. The names of custom filters you create begin with a vertical bar (|). + +For information about creating entry filters, see [Filter and format codes](https://doc.4d.com/4Dv18/4D/18/Filter-and-format-codes.300-4575706.en.html). + + +### Default entry filters + +Here is a table that explains each of the entry filter choices in the Entry Filter drop-down list: + +| Entry Filter | Description | +| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| ~A | Allow any letters, but convert to uppercase. | +| &9 | Allow only numbers. | +| &A | Allow only capital letters. | +| &a | Allow only letters (uppercase and lowercase). | +| &@ | Allow only alphanumeric characters. No special characters. | +| ~a## | State name abbreviation (e.g., CA). Allow any two letters, but convert to uppercase. | +| !0&9##/##/## | Standard date entry format. Display zeros in entry spaces. Allow any numbers. | +| !0&9 Day: ## Month: ## Year: ## | Custom date entry format. Display zeros in entry spaces. Allow any numbers. Two entries after each word. | +| !0&9##:## | Time entry format. Limited to hours and minutes. Display zeros in entry spaces. Allow any four numbers, separated by a colon. | +| !0&9## Hrs ## Mins ## Secs | Time entry format. Display zeros in entry spaces. Allow any two numbers before each word. | +| !0&9Hrs: ## Mins: ## Secs: ## | Time entry format. Display zeros in entry spaces. Allow any two numbers after each word. | +| !0&9##-##-##-## | Local telephone number format. Display zeros in entry spaces. Allow any number. Three entries, hyphen, four entries. | +| !_&9(###)!0###-#### | Long distance telephone number. Display underscores in first three entry spaces, zeros in remainder. | +| !0&9###-###-### | Long distance telephone number. Display zeros in entry spaces. Allow any number. Three entries, hyphen, three entries, hyphen, four entries. | +| !0&9###-##-### | Social Security number. Display zeros in entry spaces. Allow any numbers. | +| ~"A-Z;0-9; ;,;.;-" | Uppercase letters and punctuation. Allow only capital letters, numbers, spaces, commas, periods, and hyphens. | +| &"a-z;0-9; ;,;.;-" | Upper and lowercase letters and punctuation. Allow lowercase letters, numbers, spaces, commas, periods, and hyphens. | +| &"0-9;.;-" | Numbers. Allow only numbers, decimal points, and hyphens (minus sign). | + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ---------------------------------------------------------------------------------------------------------------------------- | +| entryFilter | string |
  • Entry filter code or
  • Entry filter name (filter names start with | ) | + + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + + +--- +## Focusable + +When the **Focusable** property is enabled for an object, the object can have the focus (and can thus be activated by the keyboard for instance). It is outlined by a gray dotted line when it is selected — except when the [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) option has also been selected. + +> An [input object](input_overview.md) is always focusable if it has the [Enterable](#enterable) property. + +* ![](assets/en/FormObjects/property_focusable1.png)
    Check box shows focus when selected

    + +* ![](assets/en/FormObjects/property_focusable2.png)
    Check box is selected but cannot show focus| + + +When the **Focusable** property is selected for a non-enterable object, the user can select, copy or even drag-and-drop the contents of the area. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| focusable | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) + + + + +--- +## Keyboard Layout + +This property associates a specific keyboard layout to an [input object](input_overview.md). For example, in an international application, if a form contains a field whose contents must be entered in Greek characters, you can associate the "Greek" keyboard layout with this field. This way, during data entry, the keyboard configuration is automatically changed when this field has the focus. + +By default, the object uses the current keyboard layout. + +> You can also set and get the keyboard dynamically using the `OBJECT SET KEYBOARD LAYOUT` and `OBJECT Get keyboard layout` commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------------------------------------------------------------- | +| keyboardDialect | text | Language code, for example "ar-ma" or "cs". See RFC3066, ISO639 and ISO3166 | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Multiline + +This property is available for [inputs objects](input_overview.md) containing expressions of the Text type and fields of the Alpha and Text type. It can have three different values: Yes, No, Automatic (default). + +#### Automatic +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- In multiline inputs, 4D carries out automatic line returns: ![](assets/en/FormObjects/multilineAuto.png) + +#### No +- In single-line inputs, words located at the end of lines are truncated and there are no line returns. +- There are never line returns: the text is always displayed on a single row. If the Alpha or Text field or variable contains carriage returns, the text located after the first carriage return is removed as soon as the area is modified: ![](assets/en/FormObjects/multilineNo.png) + +#### Yes +When this value is selected, the property is managed by the [Wordwrap](properties_Display.md#wordwrap) option. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------------------------- | +| multiline | text | "yes", "no", "automatic" (default if not defined) | + + +#### Objects Supported + +[Input](input_overview.md) + + + +--- +## Placeholder + +4D can display placeholder text in the fields of your forms. + +Placeholder text appears as watermark text in a field, supplying a help tip, indication or example for the data to be entered. This text disappears as soon as the user enters a character in the area: + +![](assets/en/FormObjects/property_placeholder.png) + +The placeholder text is displayed again if the contents of the field is erased. + +A placeholder can be displayed for the following types of data: + +- string (text or alpha) +- date and time when the **Blank if null** property is enabled. + +You can use an XLIFF reference in the ":xliff:resname" form as a placeholder, for example: + + :xliff:PH_Lastname + +You only pass the reference in the "Placeholder" field; it is not possible to combine a reference with static text. +> You can also set and get the placeholder text by programming using the [OBJECT SET PLACEHOLDER](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-PLACEHOLDER.301-4128243.en.html) and [OBJECT Get placeholder](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-Get-placeholder.301-4128249.en.html) commands. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ---------------------------------------------------------------------------- | +| placeholder | string | Text to be displayed (grayed out) when the object does not contain any value | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [Input](input_overview.md) + + +#### See also + +[Help tip](properties_Help.md) + + + +--- +## Selection always visible + +This property keeps the selection visible within the object after it has lost the focus. This makes it easier to implement interfaces that allow the text style to be modified (see [Multi-style](properties_Text.md#multi-style)). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------- | +| showSelection | boolean | true, false | + + +#### Objects Supported + +[4D Write Pro areas](writeProArea_overview.md) - [Input](input_overview.md) + + + +--- +## Shortcut + +This property allows setting special meaning keys (keyboard shortcuts) for [buttons](button_overview.md), [radio buttons](radio_overview.md), and [checkboxes](checkbox_overview.md). They allow the user to use the control using the keyboard instead of having to use the mouse. + +You can configure this option by clicking the [...] button in the Shortcuts property in the Property List. + + +![](assets/en/FormObjects/property_shortcut.png) +> You can also assign a shortcut to a custom menu command. If there is a conflict between two shortcuts, the active object has priority. For more information about associating shortcuts with menus, refer to [Setting menu properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Setting-menu-properties.300-4163525.en.html). + +To view a list of all the shortcuts used in the 4D Design environment, see the [Shortcuts Page](https://doc.4d.com/4Dv17R5/4D/17-R5/Shortcuts-Page.300-4163701.en.html) in the Preferences dialog box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| shortcutAccel | boolean | true, false (Ctrl Windows/Command macOS) | +| shortcutAlt | boolean | true, false | +| shortcutCommand | boolean | true, false | +| shortcutControl | boolean | true, false (macOS Control) | +| shortcutShift | boolean | true, false | +| | | | +| shortcutKey | string |

  • any character key: "a", "b"...
  • [F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Radio Button](radio_overview.md) + + + + + +--- +## Single-Click Edit + +Enables direct passage to edit mode in list boxes. + +When this option is enabled, list box cells switch to edit mode after a single user click, regardless of whether or not this area of the list box was selected beforehand. Note that this option allows cells to be edited even when the list box [selection mode](properties_ListBox.md#selection-mode) is set to "None". + +When this option is not enabled, users must first select the cell row and then click on a cell in order to edit its contents. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------- | +| singleClickEdit | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + diff --git a/website/translated_docs/pt/FormObjects/properties_Footers.md b/website/translated_docs/pt/FormObjects/properties_Footers.md new file mode 100644 index 00000000000000..b9de67269ca9b2 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Footers.md @@ -0,0 +1,70 @@ +--- +id: propertiesFooters +title: Footers +--- + +--- +## Display Footers + +This property is used to display or hide [list box column footers](listbox_overview.md#list-box-footers). There is one footer per column; each footer is configured separately. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| showFooters | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box footer in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. +> This property can also be set dynamically using the [LISTBOX SET FOOTERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/List-box-footer-specific-properties.300-4354808.en.html) command. + + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels *(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showFooters": true, + "footerHeight": "44px", + ... + } +``` + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ----------------------------- | +| footerHeight | string | positive decimal+px | em | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Headers](properties_Headers.md) - [List box footers](listbox_overview.md#list-box-footers) \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/properties_Gridlines.md b/website/translated_docs/pt/FormObjects/properties_Gridlines.md new file mode 100644 index 00000000000000..ffbcdaa2a01f39 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Gridlines.md @@ -0,0 +1,37 @@ +--- +id: propertiesGridlines +title: Gridlines +--- + +--- +## Horizontal Line Color + +Defines the color of the horizontal lines in a list box (gray by default). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | ------------------------------------------ | +| horizontalLineStroke | color | any css value, "'transparent", "automatic" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Vertical Line Color + +Defines the color of the vertical lines in a list box (gray by default). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | ------------------------------------------ | +| verticalLineStroke | color | any css value, "'transparent", "automatic" | + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/properties_Headers.md b/website/translated_docs/pt/FormObjects/properties_Headers.md new file mode 100644 index 00000000000000..8949ac077f9a09 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Headers.md @@ -0,0 +1,69 @@ +--- +id: propertiesHeaders +title: Headers +--- + +--- +## Display Headers + +This property is used to display or hide [list box column headers](listbox_overview.md#list-box-headers). There is one header per column; each header is configured separately. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| showHeaders | boolean | true, false | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Height + +This property is used to set the row height for a list box header in **pixels** or **text lines** (when displayed). Both types of units can be used in the same list box: + +* *Pixel* - the height value is applied directly to the row concerned, regardless of the font size contained in the columns. If a font is too big, the text is truncated. Moreover, pictures are truncated or resized according to their format. + +* *Line* - the height is calculated while taking into account the font size of the row concerned. + * If more than one size is set, 4D uses the biggest one. For example, if a row contains "Verdana 18", "Geneva 12" and "Arial 9", 4D uses "Verdana 18" to determine the row height (for instance, 25 pixels). This height is then multiplied by the number of rows defined. + * This calculation does not take into account the size of pictures nor any styles applied to the fonts. + * In macOS, the row height may be incorrect if the user enters characters that are not available in the selected font. When this occurs, a substitute font is used, which may cause variations in size. +> This property can also be set dynamically using the [LISTBOX SET HEADERS HEIGHT](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-SET-HEADERS-HEIGHT.301-4311129.en.html) command. + +Conversion of units: When you switch from one unit to the other, 4D converts them automatically and displays the result in the Property List. For example, if the font used is "Lucida grande 24", a height of "1 line" is converted to "30 pixels" and a height of "60 pixels" is converted to "2 lines". + +Note that converting back and forth may lead to an end result that is different from the starting value due to the automatic calculations made by 4D. This is illustrated in the following sequences: + +*(font Arial 18)*: 52 pixels -> 2 lines -> 40 pixels *(font Arial 12)*: 3 pixels -> 0.4 line rounded up to 1 line -> 19 pixels + +#### JSON Example: + +``` + "List Box": { + "type": "listbox", + "showHeaders": true, + "headerHeight": "22px", + ... + } +``` + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ------------------------------- | +| headerHeight | string | positive decimal+px | em ) | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +#### See also + +[Footers](properties_Footers.md) - [List box headers](listbox_overview.md#list-box-headers) \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/properties_Help.md b/website/translated_docs/pt/FormObjects/properties_Help.md new file mode 100644 index 00000000000000..d573c0bd16093f --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Help.md @@ -0,0 +1,53 @@ +--- +id: propertiesHelp +0: title:Help +--- + +--- +## Help Tip + +This property allows associating help messages with active objects in your forms. They can be displayed at runtime: + +![](assets/en/FormObjects/property_helpTip.png) + +> - The display delay and maximum duration of help tips can be controlled using the `Tips delay` and `Tips duration` selectors of the **[SET DATABASE PARAMETER](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html)** command. +> - Help tips can be globally disabled or enabled for the application using the Tips enabled selector of the [**SET DATABASE PARAMETER**](https://doc.4d.com/4Dv17R5/4D/17-R5/SET-DATABASE-PARAMETER.301-4128139.en.html) command. + +You can either: + +- designate an existing help tip, previously specified in the [Help tips](https://doc.4d.com/4Dv17R5/4D/17-R5/Help-tips.200-4163423.en.html) editor of 4D. +- or enter the help message directly as a string. This allows you to take advantage of XLIFF architecture. You can enter an XLIFF reference here in order to display a message in the application language (for more information about XLIFF, refer to [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html). You can also use 4D references ([see Using references in static text](https://doc.4d.com/4Dv17R5/4D/17-R5/Using-references-in-static-text.300-4163725.en.html)). +> In macOS, displaying help tips is not supported in pop-up type windows. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------:|:---------:| ------------------------------------- | +| tooltip | text | additional information to help a user | + +#### Objects Supported + +[Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Combo Box](comboBox_overview.md#overview) - [Hierarchical List](list_overview.md#overview) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up menu](picturePopupMenu_overview.md) - [Radio Button](radio_overview.md) + + +#### Other help features + +You can also associate help messages with form objects in two other ways: + +- at the level of the database structure (fields only). In this case, the help tip of the field is displayed in every form where it appears. For more information, refer to “Help Tips” in [Field properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Field-properties.300-4163580.en.html). +- using the **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command, for the current process. + +When different tips are associated with the same object in several locations, the following priority order is applied: + +1. structure level (lowest priority) +2. form editor level +3. **[OBJECT SET HELP TIP](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-HELP-TIP.301-4128221.en.html)** command (highest priority) + + +#### See also + +[Placeholder](properties_Entry.md#placeholder) + + + diff --git a/website/translated_docs/pt/FormObjects/properties_Hierarchy.md b/website/translated_docs/pt/FormObjects/properties_Hierarchy.md new file mode 100644 index 00000000000000..a87c6c4f1ffffd --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Hierarchy.md @@ -0,0 +1,26 @@ +--- +id: propertiesHierarchy +title: Hierarchy +--- + +--- +## Hierarchical List Box +`Array type list boxes` + +This property specifies that the list box must be displayed in hierarchical form. In the JSON form, this feature is triggered [when the *dataSource* property value is an array](properties_Object.md#hierarchical-list-box), i.e. a collection. + +Additional options (**Variable 1...10**) are available when the *Hierarchical List Box* option is selected, corresponding to each *dataSource* array to use as break column. Each time a value is entered in a field, a new row is added. Up to 10 variables can be specified. These variables set the hierarchical levels to be displayed in the first column. + +See [Hierarchical list boxes](listbox_overview.md#hierarchical-list-boxes) + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ------------ | ------------------------------------------------ | +| datasource | string array | Collection of array names defining the hierarchy | + +#### Objects Supported + +[List Box](listbox_overview.md) diff --git a/website/translated_docs/pt/FormObjects/properties_ListBox.md b/website/translated_docs/pt/FormObjects/properties_ListBox.md new file mode 100644 index 00000000000000..4b6f62a59e161b --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_ListBox.md @@ -0,0 +1,248 @@ +--- +id: propertiesListBox +title: List Box +--- + +--- +## Columns + +Collection of columns of the list box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | ---------------------------- | ------------------------------------------------ | +| columns | collection of column objects | Contains the properties for the list box columns | + +For a list of properties supported by column objects, please refer to the [Column Specific Properties](listbox_overview#column-specific-properties) section. + +#### Objects Supported + +[List Box](listbox_overview.md) + +--- +## Detail Form Name +`Selection type list box` + +Specifies the form to use for modifying or displaying individual records of the list box. + +The specified form is displayed: + +* when using `Add Subrecord` and `Edit Subrecord` standard actions applied to the list box (see [Using standard actions](https://doc.4d.com/4Dv17R6/4D/17-R6/Using-standard-actions.300-4354811.en.html)), +* when a row is double-clicked and the [Double-click on Row](#double-click-on-row) property is set to "Edit Record" or "Display Record". + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| detailForm | string |
  • Name (string) of table or project form
  • POSIX path (string) to a .json file describing the form
  • Object describing the form | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Double-click on row +`Selection type list box` + +Sets the action to be performed when a user double-clicks on a row in the list box. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the detail form defined [for the list box](#detail-form-name). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. +> Double-clicking an empty row is ignored in list boxes. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | ----------------------------------- | +| doubleClickInRowAction | string | "editSubrecord", "displaySubrecord" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Highlight Set + +`Selection type list box` + +This property is used to specify the set to be used to manage highlighted records in the list box (when the **Arrays** data source is selected, a Boolean array with the same name as the list box is used). + +4D creates a default set named *ListBoxSetN* where *N* starts at 0 and is incremented according to the number of list boxes in the form. If necessary, you can modify the default set. It can be a local, process or interprocess set (we recommend using a local set, for example *$LBSet*, in order to limit network traffic). It is then maintained automatically by 4D. If the user selects one or more rows in the list box, the set is updated immediately. If you want to select one or more rows by programming, you can apply the commands of the “Sets” theme to this set. +> * The highlighted status of the list box rows and the highlighted status of the table records are completely independent. +> * If the “Highlight Set” property does not contain a name, it will not be possible to make selections in the list box. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| highlightSet | string | Name of the set | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Locked columns and static columns + +Locked columns and static columns are two separate and independent functionalities in list boxes: + +* Locked columns always stay displayed to the left of the list box; they do not scroll horizontally. +* Static columns cannot be moved by drag and drop within the list box. +> You can set static and locked columns by programming, refer to [List Box](https://doc.4d.com/4Dv17R6/4D/17-R6/List-Box.201-4310263.en.html) in the [4D Language Reference](https://doc.4d.com/4Dv17R6/4D/17-R6/4D-Language-Reference.100-4310216.en.html) manual. + +These properties interact as follows: + +* If you set columns that are only static, they cannot be moved. + +* If you set columns that are locked but not static, you can still change their position freely within the locked area. However, a locked column cannot be moved outside of this locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns1.png) + +* If you set all of the columns in the locked area as static, you cannot move these columns within the locked area. + +![](assets/en/FormObjects/property_lockedStaticColumns2.png) + +* You can set a combination of locked and static columns according to your needs. For example, if you set three locked columns and one static column, the user can swap the two right-most columns within the locked area (since only the first column is static). + +### Number of Locked Columns + +Number of columns that must stay permanently displayed in the left part of the list box, even when the user scrolls through the columns horizontally. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | --------------- | +| lockedColumnCount | integer | minimum: 0 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + +### Number of Static Columns + +Number of columns that cannot be moved during execution. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------- | --------- | --------------- | +| staticColumnCount | integer | minimum: 0 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Number of Columns + +Sets the number of columns of the list box. +> You can add or remove columns dynamically by programming, using commands such as [LISTBOX INSERT COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-INSERT-COLUMN.301-4505224.en.html) or [LISTBOX DELETE COLUMN](https://doc.4d.com/4Dv18/4D/18/LISTBOX-DELETE-COLUMN.301-4505185.en.html). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | --------------- | +| columnCount | integer | minimum: 1 | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Row Control Array + +`Array type list box` + +A 4D array controlling the display of list box rows. + +You can set the "hidden", "disabled" and "selectable" interface properties for each row in an array-based list box using this array. It can also be designated using the `LISTBOX SET ARRAY` command. + +The row control array must be of the Longint type and include the same number of rows as the list box. Each element of the *Row Control Array* defines the interface status of its corresponding row in the list box. Three interface properties are available using constants in the "List Box" constant theme: + +| Constant | Value | Comment | +| ------------------------ | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| lk row is disabled | 2 | The corresponding row is disabled. The text and controls such as check boxes are dimmed or grayed out. Enterable text input areas are no longer enterable. Default value: Enabled | +| lk row is hidden | 1 | The corresponding row is hidden. Hiding rows only affects the display of the list box. The hidden rows are still present in the arrays and can be managed by programming. The language commands, more particularly `LISTBOX Get number of rows` or `LISTBOX GET CELL POSITION`, do not take the displayed/hidden status of rows into account. For example, in a list box with 10 rows where the first 9 rows are hidden, `LISTBOX Get number of rows` returns 10. From the user’s point of view, the presence of hidden rows in a list box is not visibly discernible. Only visible rows can be selected (for example using the Select All command). Default value: Visible | +| lk row is not selectable | 4 | The corresponding row is not selectable (highlighting is not possible). Enterable text input areas are no longer enterable unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. Controls such as check boxes and lists are still functional however. This setting is ignored if the list box selection mode is "None". Default value: Selectable | + +To change the status for a row, you just need to set the appropriate constant(s) to the corresponding array element. For example, if you do not want row #10 to be selectable, you can write: + +```code4d + aLControlArr{10}:=lk row is not selectable +``` + +![](assets/en/FormObjects/listbox_styles5.png) + +You can define several interface properties at once: + +```code4d + aLControlArr{8}:=lk row is not selectable + lk row is disabled +``` + +![](assets/en/FormObjects/listbox_styles6.png) + +Note that setting properties for an element overrides any other values for this element (if not reset). For example: + +```code4d + aLControlArr{6}:=lk row is disabled + lk row is not selectable + //sets row 6 as disabled AND not selectable + aLControlArr{6}:=lk row is disabled + //sets row 6 as disabled but selectable again +``` + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------- | --------- | ---------------------- | +| rowControlSource | string | Row control array name | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Single-Click Edit](properties_Entry.md#single-click-edit) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | string | "multiple", "single", "none" | + +#### Objects Supported + +[List Box](listbox_overview.md) \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/properties_Object.md b/website/translated_docs/pt/FormObjects/properties_Object.md new file mode 100644 index 00000000000000..d9e1e20c75b1ae --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Object.md @@ -0,0 +1,334 @@ +--- +id: propertiesObject +0: title:Objects +--- + +--- +## Type + + `MANDATORY SETTING` + +This property designates the type of the [active or inactive form object](formObjects_overview.md). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| type | string | "button", "buttonGrid", "checkbox", "combo", "dropdown", "groupBox", "input", "line", "list", "listbox", "oval", "picture", "pictureButton", "picturePopup", "plugin", "progress", "radio", "rectangle", "ruler", "spinner", "splitter", "stepper", "subform", "tab", "text", "view", "webArea", "write" | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) -[Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + +--- +## Object Name + +Each active form object is associated with an object name. Each object name must be unique. +> Object names are limited to a size of 255 bytes. + +When using 4D’s language, you can refer to an active form object by its object name (for more information about this, refer to [Object Properties](https://doc.4d.com/4Dv17R5/4D/17-R5/Object-Properties.300-4128195.en.html) in the 4D Language Reference manual). + +For more information about naming rules for form objects, refer to [Identifiers](Concepts/identifiers.md) section. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------------------------------- | +| name | string | Any allowed name which does not belong to an already existing object | + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Radio Button](radio_overview.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md) + + + +--- +## Variable or Expression + +> See also **[Expression](properties_DataSource#expression)** for Selection and collection type list box columns. + + +This property specifies the source of the data. Each active form object is associated with an object name and a variable name. The variable name can be different from the object’s name. In the same form, you can use the same variable several times while each [object name](#object-name) must be unique. +> Variable name size is limited to 31 bytes. See [Identifiers](Concepts/identifiers.md) section for more information about naming rules. + +The form object variables allow you to control and monitor the objects. For example, when a button is clicked, its variable is set to 1; at all other times, it is 0. The expression associated with a progress indicator lets you read and change the current setting. + +Variables or expressions can be enterable or non-enterable and can receive data of the Text, Integer, Numeric, Date, Time, Picture, Boolean, or Object type. + +### Expressions + +You can use an expression as data source for an object. Any valid 4D expression is allowed: simple expression, formula, 4D function, project method name or field using the standard `[Table]Field` syntax. The expression is evaluated when the form is executed and reevaluated for each form event. Note that expressions can be [assignable or non-assignable](Concepts/quick-tour.md#expressions). +> If the value entered corresponds to both a variable name and a method name, 4D considers that you are indicating the method. + + + +### Dynamic variables + +You can leave it up to 4D to create variables associated with your form objects (buttons, enterable variables, check boxes, etc.) dynamically and according to your needs. To do this, simply leave the "Variable or Expression" property (or `dataSource` JSON field) blank. + +When a variable is not named, when the form is loaded, 4D creates a new variable for the object, with a calculated name that is unique in the space of the process variables of the interpreter (which means that this mechanism can be used even in compiled mode). This temporary variable will be destroyed when the form is closed. In order for this principle to work in compiled mode, it is imperative that dynamic variables are explicitly typed. There are two ways to do this: + +- You can set the type using the [Expression type](#expression-type) property. +- You can use a specific initialization code when the form is loaded that uses, for example, the `VARIABLE TO VARIABLE` command: + +```code4d + If(Form event=On Load) + C_TEXT($init) + $Ptr_object:=OBJECT Get pointer(Object named;"comments") + $init:="" + VARIABLE TO VARIABLE(Current process;$Ptr_object->;$init) + End if +``` + +In the 4D code, dynamic variables can be accessed using a pointer obtained with the `OBJECT Get pointer` command. For example: + +```code4d + // assign the time 12:00:00 to the variable for the "tstart" object + $p :=OBJECT Get pointer(Object named;"tstart") + $p->:=?12:00:00? +``` + +There are two advantages with this mechanism: + +- On the one hand, it allows the development of "subform" type components that can be used several times in the same host form. Let us take as an example the case of a datepicker subform that is inserted twice in a host form to set a start date and an end date. This subform will use objects for choosing the date of the month and the year. It will be necessary for these objects to work with different variables for the start date and the end date. Letting 4D create their variable with a unique name is a way of resolving this difficulty. +- On the other hand, it can be used to limit memory usage. In fact, form objects only work with process or inter-process variables. However, in compiled mode, an instance of each process variable is created in all the processes, including the server processes. This instance takes up memory, even when the form is not used during the session. Therefore, letting 4D create variables dynamically when loading the forms can save memory. + + +### Hierarchical List Box + +Using a string array (collection of arrays names) as *dataSource* value for a list box column defines a [hierarchical list box](listbox_overview.md#hierarchical-list-boxes). + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dataSource | string, or string array |
  • 4D variable, field name, or arbitrary complex language expression.
  • Empty string for [dynamic variables](#dynamic-variables).
  • String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column] | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Footer](listbox_overview.md#list-box-footers) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Tab control](tabControl.md) - [Subform](subform_overview.md#overview) - [Radio Button](radio_overview.md) + + + + + +--- +## Expression Type + +> This property is called **Data Type** in the Property List for Selection and collection type list box columns. + + +Specify the data type for the expression or variable associated to the object. Note that main purpose of this setting is to configure options (such as display formats) available for the data type. It does not actually type the variable itself. In view of database compilation, you must use the 4D language commands of the `Compiler` theme. + +However, this property has a typing function in the following specific cases: + +- **[Dynamic variables](#dynamic-variables)**: you can use this property to declare the type of dynamic variables. +- **[List Box Columns](listbox_overview.md#list-box-columns)**: this property is used to associate a display format with the column data. The formats provided will depend on the variable type (array type list box) or the data/field type (selection and collection type list boxes). The standard 4D formats that can be used are: Alpha, Numeric, Date, Time, Picture and Boolean. The Text type does not have specific display formats. Any existing custom formats are also available. +- **[Picture variables](input_overview.md)**: you can use this menu to declare the variables before loading the form in interpreted mode. Specific native mechanisms govern the display of picture variables in forms. These mechanisms require greater precision when configuring variables: from now on, they must have already been declared before loading the form — i.e., even before the `On Load` form event — unlike other types of variables. To do this, you need either for the statement `C_PICTURE(varName)` to have been executed before loading the form (typically, in the method calling the `DIALOG` command), or for the variable to have been typed at the form level using the expression type property. Otherwise, the picture variable will not be displayed correctly (only in interpreted mode). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dataSourceTypeHint | string |
  • **standard objects:** "integer", "boolean", "number", "picture", "text", date", "time", "arrayText", "arrayDate", "arrayTime", "arrayNumber", "collection", "object", "undefined"
  • **list box columns:** "boolean", "number", "picture", "text", date" (*array/selection list box only*) "integer", "time", "object" | + +#### Objects Supported + +[Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Spinner](spinner.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab Control](tabControl.md) + + +--- +## CSS Class + +A list of space-separated words used as class selectors in css files. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------------------------------------------------- | +| class | string | One string with CSS name(s) separated by space characters | + + +#### Objects Supported + +[4D View Pro area](viewProArea_overview) - [4D Write Pro area](writeProArea_overview) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [List Box](listbox_overview.md#overview) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Radio Button](radio_overview.md) - [Static Picture](staticPicture.md) - [Subform](subform_overview.md#overview) - [Web Area](webArea_overview.md#overview) + + + +--- +## Collection or entity selection + +To use collection elements or entities to define the row contents of the list box. + +Enter an expression that returns either a collection or an entity selection. Usually, you will enter the name of a variable, a collection element or a property that contain a collection or an entity selection. + +The collection or the entity selection must be available to the form when it is loaded. Each element of the collection or each entity of the entity selection will be associated to a list box row and will be available as an object through the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command: + +* if you used a collection of objects, you can call **This** in the datasource expression to access each property value, for example **This.\**. +* if you used an entity selection, you can call **This** in the datasource expression to access each attribute value, for example **This.\**. +> If you used a collection of scalar values (and not objects), 4D allows you to display each value by calling **This.value** in the datasource expression. However in this case you will not be able to modify values or to access the current ite object (see below) Note: For information about entity selections, please refer to the [ORDA](https://doc.4d.com/4Dv17R6/4D/17-R6/ORDA.200-4354624.en.html) chapter. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------------------ | +| dataSource | string | Expression that returns a collection or an entity selection. | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Data Source + +Specify the type of list box. + +![](assets/en/FormObjects/listbox_dataSource.png) + +- **Arrays**(default): use array elements as the rows of the list box. +- **Current Selection**: use expressions, fields or methods whose values will be evaluated for each record of the current selection of a table. +- **Named Selection**: use expressions, fields or methods whose values will be evaluated for each record of a named selection. +- **Collection or Entity Selection**: use collection elements or entities to define the row contents of the list box. Note that with this list box type, you need to define the [Collection or Entity Selection](properties_Object.md#collection-or-entity-selection) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------- | --------- | ----------------------------------------------------------- | +| listboxType | string | "array", "currentSelection", "namedSelection", "collection" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + +--- +## Plug-in Kind + +Name of the [plug-in external area](pluginArea_overview.md) associated to the object. Plug-in external area names are published in the manifest.json file of the plug-in. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | ------------------------------------------------------------- | +| pluginAreaKind | string | Name of the plug-in external area (starts with a % character) | + + +#### Objects Supported +[Plug-in Area](pluginArea_overview.md) + + + +--- + +## Radio Group + +Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ---------------- | +| radioGroup | string | Radio group name | + + +#### Objects Supported + +[Radio Button](radio_overview.md) + + + +--- + +## Title + +Allows inserting a label on an object. The font and the style of this label can be specified. + +You can force a carriage return in the label by using the \ character (backslash). + +![](assets/en/FormObjects/property_title.png) + +To insert a \ in the label, enter "\\". + +By default, the label is placed in the center of the object. When the object also contains an icon, you can modify the relative location of these two elements using the [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) property. + +For database translation purposes, you can enter an XLIFF reference in the title area of a button (see [Appendix B: XLIFF architecture](https://doc.4d.com/4Dv17R5/4D/17-R5/Appendix-B-XLIFF-architecture.300-4163748.en.html)). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | --------------- | +| text | string | any text | + +#### Objects Supported + +[Button](button_overview.md) (*Regular, Flat, Toolbar, Bevel, Rounded Bevel, OS X Gradient Button, OS X Textured Button, Office XP, Circle, Custom*) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) + + + + + + + +--- +## Variable Calculation + +This property sets the type of calculation to be done in a [column footer](listbox_overview.md#list-box-footers) area. +> The calculation for footers can also be set using the `LISTBOX SET FOOTER CALCULATION` 4D command. + +There are several types of calculations available. The following table shows which calculations can be used according to the type of data found in each column and indicates the type automatically affected by 4D to the footer variable (if it is not typed by the code): + +| Calculation | Num | Text | Date | Time | Bool | Pict | footer var type | +| --------------------- | --- | ---- | ---- | ---- | ---- | ---- | ------------------- | +| Minimum | X | | X | X | X | | Same as column type | +| Maximum | X | | X | X | X | | Same as column type | +| Sum | X | | X | | X | | Same as column type | +| Count | X | X | X | X | X | X | Longint | +| Average | X | | | X | | | Real | +| Standard deviation(*) | X | | | X | | | Real | +| Variance(*) | X | | | X | | | Real | +| Sum squares(*) | X | | | X | | | Real | +| Custom ("none") | X | X | X | X | X | X | Any | + +(*) Only for array type list boxes. + +When an automatic calculation is set, it is applied to all the values found in the list box column. Note that the calculation does not take the shown/hidden state of list box rows into account. If you want to restrict a calculation to only visible rows, you must use a custom calculation. + +When **Custom** ("none" in JSON) is set, no automatic calculations are performed by 4D and you must assign the value of the variable in this area by programming. +> Automatic calculations are not supported with: * footers of columns based on formulas, * footers of [Collection and Entity selection](listbox_overview.md#collection-or-entity-selection-list-boxes) list boxes. You need to use custom calculations. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------------- | --------- | ----------------------------------------------------------------------------------------------------- | +| variableCalculation | string | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" | + +#### Objects Supported + +[List Box Footer](listbox_overview.md#list-box-footers) + + + + + + + + + diff --git a/website/translated_docs/pt/FormObjects/properties_Picture.md b/website/translated_docs/pt/FormObjects/properties_Picture.md new file mode 100644 index 00000000000000..d99fd0373cd3dd --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Picture.md @@ -0,0 +1,73 @@ +--- +id: propertiesPicture +0: title:Picture +--- + +--- +## Pathname + +Pathname of a static source picture for a [picture button](pictureButton_overview.md), [picture pop-up Menu](picturePopupMenu_overview.md), or [static picture](staticPicture.md). You must use the POSIX syntax. + +Two main locations can be used for static picture path: + +- in the **Resources** folder of the project database. Appropriate when you want to share static pictures between several forms in the database. In this case, the Pathname is "/RESOURCES/\". +- in an image folder (e.g. named **Images**) within the form folder. Appropriate when the static pictures are used only in the form and/or you want to be able to move or duplicate the whole form within the project or different projects. In this case, the Pathname is "\" and is resolved from the root of the form folder. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------:|:---------:| ------------------------------------------- | +| picture | text | Relative or filesystem path in POSIX syntax | + + +#### Objects Supported + +[Picture button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Static Picture](staticPicture.md) + + +--- +## Display + + +### Scaled to fit + +`JSON grammar: "scaled"` + +The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area. + +![](assets/en/FormObjects/property_pictureFormat_ScaledToFit.png) + +### Replicated + +`JSON grammar: "tiled"` + +When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely. + +![](assets/en/FormObjects/property_pictureFormat_Replicated.png) + +If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered). + + + +### Center / Truncated (non-centered) + +`JSON grammar: "truncatedCenter" / "truncatedTopLeft"` + +The **Center** format causes 4D to center the picture in the area and crop any portion that does not fit within the area. 4D crops equally from each edge and from the top and bottom. + +The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom. +> When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area. + +![](assets/en/FormObjects/property_pictureFormat_Truncated.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | -------------------------------------------------------- | +| pictureFormat | string | "scaled", "tiled", "truncatedCenter", "truncatedTopLeft" | + +#### Objects Supported + +[Static Picture](staticPicture.md) \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/properties_Plugins.md b/website/translated_docs/pt/FormObjects/properties_Plugins.md new file mode 100644 index 00000000000000..ecea54bba79b4f --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Plugins.md @@ -0,0 +1,25 @@ +--- +id: propertiesPlugIns +0: title:Plug-ins +--- + +--- +## Advanced Properties + +If advanced options are provided by the author of the plug-in, an **Advanced Properties** button may be enabled in the Property list. In this case, you can click this button to set these options, usually through a custom dialog box. + +Because the Advanced properties feature is under the control of the author of the plug-in, information about these Advanced options is the responsibility of the distributor of the plug-in. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------- | +| customProperties | text | object | Plugin specific properties, passed to plugin as a JSON string if an object, or as a binary buffer if a base64 encoded string | + + +#### Objects Supported + +[Plug-in Area](pluginArea_overview.md) + diff --git a/website/translated_docs/pt/FormObjects/properties_Print.md b/website/translated_docs/pt/FormObjects/properties_Print.md new file mode 100644 index 00000000000000..32114b2665dab2 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Print.md @@ -0,0 +1,36 @@ +--- +id: propertiesPrint +0: title:Print +--- + +--- +## Print frame + +This property handles the print mode for objects whose size can vary from one record to another depending on their contents. These objects can be set to print with either a fixed or variable frame. Fixed frame objects print within the confines of the object as it was created on the form. Variable frame objects expand during printing to include the entire contents of the object. Note that the width of objects printed as a variable size is not affected by this property; only the height varies automatically based on the contents of the object. + +You cannot place more than one variable frame object side-by-side on a form. You can place non-variable frame objects on either side of an object that will be printed with a variable size provided that the variable frame object is at least one line longer than the object beside it and that all objects are aligned on the top. If this condition is not respected, the contents of the other fields will be repeated for every horizontal slice of the variable frame object. + +> The `Print object` and `Print form` commands do not support this property. + + +The print options are: + +- **Variable** option / **Print Variable Frame** checked: 4D enlarges or reduces the form object area in order to print all the subrecords. + +- **Fixed (Truncation)** option / **Print Variable Frame** unchecked: 4D only prints the contents that appear in the object area. The form is only printed once and the contents not printed are ignored. + +- **Fixed (Multiple Records)** (subforms only): the initial size of the subform area is kept but 4D prints the form several times in order to print all the records. + +> This property can be set by programming using the `OBJECT SET PRINT VARIABLE FRAME` command. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----------:|:---------:| --------------------------------------------------- | +| printFrame | string | "fixed", "variable", (subform only) "fixedMultiple" | + + +#### Objects Supported + +[Input](input_overview.md) - [Subforms](subform_overview.md) (list subforms only) - [4D Write Pro areas](writeProArea_overview.md) diff --git a/website/translated_docs/pt/FormObjects/properties_RangeOfValues.md b/website/translated_docs/pt/FormObjects/properties_RangeOfValues.md new file mode 100644 index 00000000000000..41f6be2cb6d239 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_RangeOfValues.md @@ -0,0 +1,83 @@ +--- +id: propertiesRangeOfValues +title: Range of Values +--- + +--- +## Default value + +You can assign a default value to be entered in an input object. This property is useful for example when the input [data source](properties_Object.md#variable-or-expression) is a field: the default value is entered when a new record is first displayed. You can change the value unless the input area has been defined as [non-enterable](properties_Entry.md#enterable). + +The default value can only be used if the [data source type](properties_Object.md#expression-type) is: +- text/string +- number/integer +- date +- time +- boolean + +4D provides stamps for generating default values for the date, time, and sequence number. The date and time are taken from the system date and time. 4D automatically generates any sequence numbers needed. The table below shows the stamp to use to generate default values automatically: + +| Stamp | Meaning | +| ----- | --------------- | +| #D | Current date | +| #H | Current time | +| #N | Sequence number | + +You can use a sequence number to create a unique number for each record in the table for the current data file. A sequence number is a longint that is generated for each new record. The numbers start at one (1) and increase incrementally by one (1). A sequence number is never repeated even if the record it is assigned to is deleted from the table. Each table has its own internal counter of sequence numbers. For more information, refer to the [Autoincrement](https://doc.4d.com/4Dv17R6/4D/17-R6/Field-properties.300-4354738.en.html#976029) paragraph. + +> Do not make confusion between this property and the "[default values](properties_DataSource.md#default-list-of-values)" property that allows to fill a list box column with static values. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | ----------------------------------- | ------------------------------------------ | +| defaultValue | string, number, date, time, boolean | Any value and/or a stamp: "#D", "#H", "#N" | + +#### Objects Supported + +[Input](input_overview.md) + + + +--- + +## Excluded List + +Allows setting a list whose values cannot be entered in the object. If an excluded value is entered, it is not accepted and an error message is displayed. +> If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | -------------------------------- | +| excludedList | list | A list of values to be excluded. | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + +--- + +## Required List + +Restricts the valid entries to the items on the list. For example, you may want to use a required list for job titles so that valid entries are limited to titles that have been approved by management. + +Making a list required does not automatically display the list when the field is selected. If you want to display the required list, assign the same list to the [Choice List](properties_DataSource.md#choice-list) property. However, unlike the [Choice List](properties_DataSource.md#choice-list) property, when a required list is defined, keyboard entry is no longer possible, only the selection of a list value using the pop-up menu is allowed. If different lists are defined using the [Choice List](properties_DataSource.md#choice-list) and Required List properties, the Required List property has priority. +> If a specified list is hierarchical, only the items of the first level are taken into account. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------------------- | +| requiredList | list | A list of mandatory values. | + +#### Objects Supported + +[Combo Box](comboBox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [Input](input_overview.md) + + + + + diff --git a/website/translated_docs/pt/FormObjects/properties_Reference.md b/website/translated_docs/pt/FormObjects/properties_Reference.md new file mode 100644 index 00000000000000..79153ed8effc4f --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Reference.md @@ -0,0 +1,280 @@ +--- +id: propertiesReference +title: JSON property list +--- + +## A + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | +| [action](properties_Action.md#standard-action) | Typical activity to be performed. | The name of a valid standard action. | +| [allowFontColorPicker](properties_Text.md#allow-font-color-picker) | Allows displaying system font picker or color picker to edit object attributes | true, false (default) | +| [alternateFill](properties_BackgroundAndBorder.md#alternate-background-color) | Allows setting a different background color for odd-numbered rows/columns in a list box. | Any CSS value; "transparent"; "automatic" | +| [automaticInsertion](properties_DataSource.md#automatic-insertion) | Enables automatically adding a value to a list when a user enters a value that is not in the object's associated choice list. | true, false | + +## B + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------- | +| [booleanFormat](properties_Display.md#boolean-format) | Specifies only two possible values. | true, false | +| [borderRadius](properties_CoordinatesAndSizing.md#corner-radius) | The radius value for round rectangles. | minimum: 0 | +| [borderStyle](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) | Allows setting a standard style for the object border. | "system", "none", "solid", "dotted", "raised", "sunken", "double" | +| [bottom](properties_CoordinatesAndSizing.md#bottom) | Positions an object at the bottom (centered). | minimum: 0 | + +## C + +| Property | Description | Possible Values | +| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| [choiceList](properties_DataSource.md#choice-list) | A list of choices associated with an object | A list of choices | +| [class](properties_Object.md#class) | A list of space-separated words used as class selectors in css files. | A list of class names | +| [columnCount](properties_Crop.md#columns) | Number of columns. | minimum: 1 | +| [columns](properties_ListBox.md#columns) | A collection of list box columns | Collection of column objects with defined column properties | +| [contextMenu](properties_Entry.md#context-menu) | Provides the user access to a standard context menu in the selected area. | "automatic", "none" | +| [continuousExecution](properties_Action.md#execute-object-method) | Designates whether or not to run the method of an object while the user is tracking the control. | true, false | +| [controlType](properties_Display.md#display-type) | Specifies how the value should be rendered in a list box cell. | "input", "checkbox" (for boolean / numeric columns), "automatic", "popup" (only for boolean columns) | +| [currentItemSource](properties_DataSource.md#current-item) | The last selected item in a list box. | Object expression | +| [currentItemPositionSource](properties_DataSource.md#current-item-position) | The position of the last selected item in a list box. | Number expression | +| [customBackgroundPicture](properties_TextAndPicture.md#background-pathname) | Sets the picture that will be drawn in the background of a button. | Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option. | +| [customBorderX](properties_TextAndPicture.md#horizontal-margin) | Sets the size (in pixels) of the internal horizontal margins of an object. Must be used with the style property with the "custom" option. | minimum: 0 | +| [customBorderY](properties_TextAndPicture.md#vertical-margin) | Sets the size (in pixels) of the internal vertical margins of an object. Must be used with the style property with the "custom" option. | minimum: 0 | +| [customOffset](properties_TextAndPicture.md#icon-offset) | Sets a custom offset value in pixels. Must be used with the style property with the "custom" option. | minimum: 0 | + +## D + +| Property | Description | Possible Values | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [dataSource](properties_Object.md#variable-or-expression) (objects)
    [dataSource](properties_Subform.md#source) (subforms)
    [dataSource](properties_Object.md#data-source) (array list box)
    [dataSource](properties_Object.md#collection-or-entity-selection) (Collection or entity selection list box)
    [dataSource](properties_DataSource.md#expression) (list box column)
    [dataSource](properties_Hierarchy.md#hierarchical-list-box) (hierarchical list box) | Specifies the source of the data. | A 4D variable, field name, or an arbitrary complex language expression. | +| [dataSourceTypeHint](properties_Object.md#expression-type) (objects)
    [dataSourceTypeHint](properties_DataSource.md#data-type) (list box column) | Indicates the variable type. | "integer", "number", "boolean", "picture", "text", date", "time", "arrayText", "collection", "object", "undefined" | +| [dateFormat](properties_Display.md#date-format) | Controls the way dates appear when displayed or printed. Must only be selected among the 4D built-in formats. | "systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (can be combined with the other possible values) | +| [defaultButton](properties_Appearance.md#default-button) | Modifies a button's appearance in order to indicate the recommended choice to the user. | true, false | +| [defaultValue](properties_RangeOfValues.md#default-value) | Defines a value or a stamp to be entered by default in an input object | String or "#D", "#H", "#N" | +| [deletableInList](properties_Subform.md#allow-deletion) | Specifies if the user can delete subrecords in a list subform | true, false | +| [detailForm](properties_ListBox.md#detail-form-name) (list box)
    [detailForm](properties_Subform.md#detail-form) (subform) | Associates a detail form with a list subform. | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | +| [display](properties_Display.md#not-rendered) | The object is drawn or not on the form. | true, false | +| [doubleClickInEmptyAreaAction](properties_Subform.md#double-click-on-empty-row) | Action to perform in case of a double-click on an empty line of a list subform. | "addSubrecord" or "" to do nothing | +| [doubleClickInRowAction](properties_ListBox.md#double-click-on-row) (list box)
    [doubleClickInRowAction](properties_Subform.md#double-click-on-row) (subform) | Action to perform in case of a double-click on a record. | "editSubrecord", "displaySubrecord" | +| [dpi](properties_Appearance.md#resolution) | Screen resolution for the 4D Write Pro area contents. | 0=automatic, 72, 96 | +| [dragging](properties_Action.md#draggable) | Enables dragging function. | "none", "custom", "automatic" (excluding list, list box) | +| [dropping](properties_Action.md#droppable) | Enables dropping function. | "none", "custom", "automatic" (excluding list, list box) | + +## E + +| Property | Description | Possible Values | +| ---------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------- | +| [enterable](properties_Entry.md#enterable) | Indicates whether users can enter values into the object. | true, false | +| [enterableInList](properties_Subform.md#enterable-in-list) | Indicates whether users can modify record data directly in the list subform. | true, false | + + +[entryFiler](properties_Entry.md#entry-filter)|Associates an entry filter with the object or column cells. This property is not accessible if the Enterable property is not enabled.|Text to narrow entries | |[excludedList](properties_RangeOfValues.md#excluded-list)|Allows setting a list whose values cannot be entered in the column.|A list of values to be excluded.| |[events](XXX)|List of all events selected for the object or form|Collection of event names, e.g. ["onClick","onDataChange"...].| + + +## F + +| Property | Description | Possible Values | +| --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | +| [fill](properties_BackgroundAndBorder.md#background-color-fill-color) | Defines the background color of an object. | Any CSS value, "transparent", "automatic" | +| [focusable](properties_Entry.md#focusable) | Indicates whether the object can have the focus (and can thus be activated by the keyboard for instance) | true, false | +| [fontFamily](properties_Text.md#font) | Specifies the name of font family used in the object. | CSS font family name | +| [fontSize](properties_Text.md#font-size) | Sets the font size in points when no font theme is selected | minimum: 0 | +| [fontStyle](properties_Text.md#italic) | Sets the selected text to slant slightly to the right. | "normal", "italic" | +| [fontTheme](properties_Text.md#font-theme) | Sets the automatic style | "normal", "main", "additional" | +| [fontWeight](properties_Text.md#bold) | Sets the selected text to appear darker and heavier. | "normal", "bold" | +| [footerHeight](properties_Footers.md#height) | Used to set the row height | pattern (\\d+)(p|em)?$ (positive decimal + px/em ) | +| [frameDelay](properties_Animation.md#switch-every-x-ticks) | Enables cycling through the contents of the picture button at the specified speed (in ticks). | minimum: 0 | + +## G + +| Property | Description | Possible Values | +| ----------------------------------------------------- | -------------------------- | --------------- | +| [graduationStep](properties_Scale.md#graduation-step) | Scale display measurement. | minimum: 0 | + +## H + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| [header](properties_Headers.md#header) | Defines the header of a list box column | Object with properties "text", "name", "icon", "dataSource", "fontWeight", "fontStyle", "tooltip" | +| [headerHeight](properties_Headers.md#height) | Used to set the row height | pattern ^(\\d+)(px|em)?$ (positive decimal + px/em ) | +| [height](properties_CoordinatesAndSizing.md#height) | Designates an object's vertical size | minimum: 0 | +| [hideExtraBlankRows](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | Deactivates the visibility of extra, empty rows. | true, false | +| [hideFocusRing](properties_Appearance.md#hide-focus-rectangle) | Hides the selection rectangle when the object has the focus. | true, false | +| [hideSystemHighlight](properties_Appearance.md#hide-selection-highlight) | Used to specify hiding highlighted records in the list box. | true, false | +| [highlightSet](properties_ListBox.md#highlight-set) | string | Name of the set. | +| [horizontalLineStroke](properties_Gridlines.md#horizontal-line-color) | Defines the color of the horizontal lines in a list box (gray by default). | Any CSS value, "'transparent", "automatic" | + +## I + +| Property | Description | Possible Values | +| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------- | +| [icon](properties_TextAndPicture.md#picture-pathname) | The pathname of the picture used for buttons, check boxes, radio buttons, list box headers. | Relative or filesystem path in POSIX syntax. | +| [iconFrames](properties_TextAndPicture.md#number-of-states) | Sets the exact number of states present in the picture. | minimum: 1 | +| [iconPlacement](properties_TextAndPicture.md#icon-location) | Designates the placement of an icon in relation to the form object. | "none", "left", "right" | + +## K + +| Property | Description | Possible Values | +| ------------------------------------------------------ | ---------------------------------------------------- | ------------------------------------ | +| [keyboardDialect](properties_Entry.md#keyboardDialect) | To associate a specific keyboard layout to an input. | A keyboard code string, e.g. "ar-ma" | + + +## L + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| [labels](properties_DataSource.md#choice-list-static-list) | A list of values to be used as tab control labels | ex: "a", "b, "c", ... | +| [labelsPlacement](properties_Scale.md#label-location) (objects)
    [labelsPlacement](properties_Appearance.md#tab-control-direction) (splitter / tab control) | Specifies the location of an object's displayed text. | "none", "top", "bottom", "left", "right" | +| [layoutMode](properties_Appearance.md#view-mode) | Mode for displaying the 4D Write Pro document in the form area. | "page", "draft", "embedded" | +| [left](properties_CoordinatesAndSizing.md#left) | Positions an object on the left. | minimum: 0 | +| list, see [choiceList](properties_DataSource.md#choice-list) | A list of choices associated with a hierarchical list | A list of choices | +| [listboxType](properties_Object.md#data-source) | The list box data source. | "array", "currentSelection", "namedSelection", "collection" | +| [listForm](properties_Subform.md#list-form) | List form to use in the subform. | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | +| [lockedColumnCount](properties_ListBox.md#number-of-locked-columns) | Number of columns that must stay permanently displayed in the left part of a list box. | minimum: 0 | +| [loopBackToFirstFrame](properties_Animation.md#loop-back-to-first-frame) | Pictures are displayed in a continuous loop. | true, false | + +## M + +| Property | Description | Possible Values | +| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- | +| [max](properties_Scale.md#maximum) | The maximum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. | minimum: 0 (for numeric data types) | +| [maxWidth](properties_CoordinatesAndSizing.md#maximum-width) | Designates the largest size allowed for list box columns. | minimum: 0 | +| [metaSource](properties_Text.md#meta-info-expression) | A meta object containing style and selection settings. | An object expression | +| [method](properties_Action.md#method) | A project method name. | The name of an existing project method | +| [methodsAccessibility](properties_WebArea.md#access-4d-methods) | Which 4D methods can be called from a Web area | "none" (default), "all" | +| [min](properties_Scale.md#minimum) | The minimum allowed value. For numeric steppers, these properties represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. | minimum: 0 (for numeric data types) | +| [minWidth](properties_CoordinatesAndSizing.md#minimum-width) | Designates the smallest size allowed for list box columns. | minimum: 0 | +| [movableRows](properties_Action.md#movable-rows) | Authorizes the movement of rows during execution. | true, false | +| [multiline](properties_Entry.md#multiline) | Handles multiline contents. | "yes", "no", "automatic" | + +## N + +| Property | Description | Possible Values | +| --------------------------------------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------- | +| [name](properties_Object.md#object-name) | The name of the form object. (Optional for the form) | Any name which does not belong to an already existing object | +| [numberFormat](properties_Display.md#number-format) | Controls the way the alphanumeric fields and variables appear when displayed or printed. | Numbers (including a decimal point or minus sign if necessary) | + +## P + +| Property | Description | Possible Values | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [picture](properties_Picture.md#pathname) | The pathname of the picture for picture buttons, picture pop-up menus, or static pictures | Relative or filesystem path in POSIX syntax. | +| [pictureFormat](properties_Display.md#picture-format) (input, list box column or footer)
    [pictureFormat](properties_Picture.md#display) (static picture) | Controls how pictures appear when displayed or printed. | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft" (excluding static pictures), "proportionalCenter"(excluding static pictures) | +| [placeholder](properties_Entry.md#placeholder) | Grays out text when the data source value is empty. | Text to be grayed out. | +| [pluginAreaKind](properties_Object.md#plug-in-kind) | Describes the type of plug-in. | The type of plug-in. | +| [popupPlacement](properties_TextAndPicture.md#with-pop-up-menu) | Allows displaying a symbol that appears as a triangle in the button, which indicates that there is a pop-up menu attached. | "None", Linked", "Separated" | +| [printFrame](properties_Print.md#print-frame) | Print mode for objects whose size can vary from one record to another depending on their contents | "fixed", "variable", (subform only) "fixedMultiple" | +| [progressSource](properties_WebArea.md#progression) | A value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually. | minimum: 0 | + +## R + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | +| [radioGroup](properties_Object.md#radio-group) | Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set. | Radio group name | +| [requiredList](properties_RangeOfValues.md#required-list) | Allows setting a list where only certain values can be inserted. | A list of mandatory values. | +| [resizable](properties_ResizingOptions.md#resizable) | Designates if the size of an object can be modified by the user. | "true", "false" | +| [resizingMode](properties_ResizingOptions.md#column-auto-resizing) | Specifies if a list box column should be automatically resized | "rightToLeft", "legacy" | +| [right](properties_CoordinatesAndSizing.md#right) | Positions an object on the right. | minimum: 0 | +| [rowControlSource](properties_ListBox.md#row-control-array) | A 4D array defining the list box rows. | Array | +| [rowCount](properties_Crop.md#rows) | Sets the number of rows. | minimum: 1 | +| [rowFillSource](properties_BackgroundAndBorder.md#row-background-color-array) (array list box)
    [rowFillSource](properties_BackgroundAndBorder.md#background-color-expression) (selection or collection list box) | The name of an array or expression to apply a custom background color to each row of a list box. | The name of an array or expression. | +| [rowHeight](properties_CoordinatesAndSizing.md#row-height) | Sets the height of list box rows. | CSS value unit "em" or "px" (default) | +| [rowHeightAuto](properties_CoordinatesAndSizing.md#automatic-row-height) | boolean | "true", "false" | +| [rowHeightAutoMax](properties_CoordinatesAndSizing.md#maximum-width) | Designates the largest height allowed for list box rows. | CSS value unit "em" or "px" (default). minimum: 0 | +| [rowHeightAutoMin](properties_CoordinatesAndSizing.md#minimum-width) | Designates the smallest height allowed for list box rows. | CSS value unit "em" or "px" (default). minimum: 0 | +| [rowHeightSource](properties_CoordinatesAndSizing.md#row-height-array) | An array defining different heights for the rows in a list box. | Name of a 4D array variable. | +| [rowStrokeSource](properties_Text.md#row-font-color-array) (array list box)
    [rowStrokeSource](properties_Text.md#font-color-expression) (selection or collection/entity selection list box) | An array or expression for managing row colors. | Name of array or expression. | +| [rowStyleSource](properties_Text.md#row-style-array) (array list box)
    [rowStyleSource](properties_Text.md#style-expression) (selection or collection/entity selection list box) | An array or expression for managing row styles. | Name of array or expression. | + +## S + +| Property | Description | Possible Values | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [scrollbarHorizontal](properties_Appearance.md#horizontal-scroll-bar) | A tool allowing the user to move the viewing area to the left or right. | "visible", "hidden", "automatic" | +| [scrollbarVertical](properties_Appearance.md#vertical-scroll-bar) | A tool allowing the user to move the viewing area up or down. | "visible", "hidden", "automatic" | +| [selectedItemsSource](properties_DataSource.md#selected-items) | Collection of the selected items in a list box. | Collection expression | +| [selectionMode](properties_Action.md#multi-selectable) (hierarchical list)
    [selectionMode](properties_ListBox.md#selection-mode) (list box)
    [selectionMode](properties_Subform.md#selection-mode) (subform) | Allows the selection of multiple records/rows. | "multiple", "single", "none" | +| [shortcutAccel](properties_Entry.md#shortcut) | Specifies the system to use, Windows or Mac. | true, false | +| [shortcutAlt](properties_Entry.md#shortcut) | Designates the Alt key | true, false | +| [shortcutCommand](properties_Entry.md#shortcut) | Designates the Command key (macOS) | true, false | +| [shortcutControl](properties_Entry.md#shortcut) | Designates the Control key (Windows) | true, false | +| [shortcutKey](properties_Entry.md#shortcut) | The letter or name of a special meaning key. | "[F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | +| [shortcutShift](properties_Entry.md#shortcut) | Designates the Shift key | true, false | +| [showFooters](properties_Footers.md#display-headers) | Displays or hides column footers. | true, false | +| [showGraduations](properties_Scale.md#display-graduation) | Displays/Hides the graduations next to the labels. | true, false | +| [showHeaders](properties_Headers.md#display-headers) | Displays or hides column headers. | true, false | +| [showHiddenChars](properties_Appearance.md#show-hidden-characters) | Displays/hides invisible characters. | true, false | +| [showHorizontalRuler](properties_Appearance.md#show-horizontal-ruler) | Displays/hides the horizontal ruler when the document view is in Page view mode | true, false | +| [showHTMLWysiwyg](properties_Appearance.md#show-html-wysiwyg) | Enables/disables the HTML WYSIWYG view | true, false | +| [showPageFrames](properties_Appearance.md#show-page-frame) | Displays/hides the page frame when the document view is in Page view mode | true, false | +| [showReferences](properties_Appearance.md#show-references) | Displays all 4D expressions inserted in the 4D Write Pro document as *references* | true, false | +| [showSelection](properties_Entry.md#selection-always-visible) | Keeps the selection visible within the object after it has lost the focus | true, false | +| [showVerticalRuler](properties_Appearance.md#show-vertical-ruler) | Displays/hides the vertical ruler when the document view is in Page view mode | true, false | +| [singleClickEdit](properties_Entry.md#single-click-edit) | Enables direct passage to edit mode. | true, false | +| [sizingX](properties_ResizingOptions.md#horizontal-sizing) | Specifies if the horizontal size of an object should be moved or resized when a user resizes the form. | "grow", "move", "fixed" | +| [sizingY](properties_ResizingOptions.md#horizontal-sizing) | Specifies if the vertical size of an object should be moved or resized when a user resizes the form. | "grow", "move", "fixed" | +| [sortable](properties_Action.md#sortable) | Allows sorting column data by clicking the header. | true, false | +| [spellcheck](properties_Entry.md#auto-spellcheck) | Activates the spell-check for the object | true, false | +| [splitterMode](properties_ResizingOptions.md#pusher) | When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop. | "grow", "move", "fixed" | +| [startPoint](shapes_overview.md#startpoint-property) | Starting point for drawing a line object (only available in JSON Grammar). | "bottomLeft", topLeft" | +| [staticColumnCount](properties_ListBox.md#number-of-static-columns) | Number of columns that cannot be moved during execution. | minimum: 0 | +| [step](properties_Scale.md#step) | Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value. | minimum: 1 | +| [storeDefaultStyle](properties_Text.md#store-with-default-style-tags) | Store the style tags with the text, even if no modification has been made | true, false | +| [stroke](properties_Text.md#font-color) (text)
    [stroke](properties_BackgroundAndBorder.md#line-color) (lines)
    [stroke](properties_BackgroundAndBorder.md#transparent) (list box) | Specifies the color of the font or line used in the object. | Any CSS value, "transparent", "automatic" | +| [strokeDashArray](properties_BackgroundAndBorder.md#dotted-line-type) | Describes dotted line type as a sequence of black and white points | Number array or string | +| [strokeWidth](properties_BackgroundAndBorder.md#line-width) | Designates the thickness of a line. | An integer or 0 for smallest width on a printed form | +| [style](properties_TextAndPicture.md#multi-style) | Enables the possibility of using specific styles in the selected area. | true, false | +| [styledText](properties_Text.md#style) | Allows setting the general appearance of the button. See Button Style for more information. | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" | +| [switchBackWhenReleased](properties_Animation.md#switch-back-when-released) | Displays the first picture all the time except when the user clicks the button. Displays the second picture until the mouse button is released. | true, false | +| [switchContinuously](properties_Animation.md#switch-continuously-on-clicks) | Allows the user to hold down the mouse button to display the pictures continuously (i.e., as an animation). | true, false | +| [switchWhenRollover](properties_Animation.md#switch-when-roll-over) | Modifies the contents of the picture button when the mouse cursor passes over it. The initial picture is displayed when the cursor leaves the button’s area. | true, false | + + +## T + +| Property | Description | Possible Values | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [table](properties_Subform.md#source) | Table that the list subform belongs to (if any). | 4D table name, or "" | +| [text](properties_Object.md#title) | The title of the form object | Any text | +| [textAlign](properties_Text.md#horizontal-alignment) | Horizontal location of text within the area that contains it. | "automatic", "right", "center", "justify", "left" | +| [textAngle](properties_Text.md#orientation) | Modifies the orientation (rotation) of the text area. | 0, 90, 180, 270 | +| [textDecoration](properties_Text.md#underline) | Sets the selected text to have a line running beneath it. | "normal", "underline" | +| [textFormat](properties_Display.md#alpha-format) | Controls the way the alphanumeric fields and variables appear when displayed or printed. | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", custom formats | +| [textPlacement](properties_TextAndPicture.md#title-picture-position) | Relative location of the button title in relation to the associated icon. | "left", "top", "right", "bottom", "center" | +| [threeState](properties_Display.md#three-states) | Allows a check box object to accept a third state. | true, false | +| [timeFormat](properties_Display.md#time-format) | Controls the way times appear when displayed or printed. Must only be selected among the 4D built-in formats. | "systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MM", "MM_SS", "blankIfNull" (can be combined with the other possible values) | +| [truncateMode](properties_Display.md#trucate-with-ellipsis) | Controls the display of values when list box columns are too narrow to show their full contents. | "withEllipsis", "none" | +| [type](properties_Object.md#type) | Mandatory. Designates the data type of the form object. | "text", "rectangle", "groupBox", "tab", "line", "button", "checkbox", "radio", "dropdown", "combo", "webArea", "write", "subform", "plugin", "splitter", "buttonGrid", "progress", "ruler", "spinner", "stepper", "list", "pictureButton", "picturePopup", "listbox", "input", "view" | +| [tooltip](properties_Help.md) | Provide users with additional information about a field. | Additional information to help a user | +| [top](properties_CoordinatesAndSizing.md#top) | Positions an object at the top (centered). | minimum: 0 | + +## U + +| Property | Description | Possible Values | +| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------- | +| [urlSource](properties_WebArea.md#url) | Designates the the URL loaded or being loading by the associated Web area. | A URL. | +| [useLastFrameAsDisabled](properties_Animation.md#use-last-frame-as-disabled) | Enables setting the last thumbnail as the one to display when the button is disabled. | true, false | +| [userInterface](properties_Appearance.md#user-interface) | 4D View Pro area interface. | "none" (default), "ribbon", "toolbar" | + +## V + +| Property | Description | Possible Values | +| ----------------------------------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | +| [values](properties_DataSource.md#default-list-values) | List of default values for an array listbox column | ex: "A","B","42"... | +| [variableCalculation](properties_Object.md#variable-calculation) | Allows mathematical calculations to be performed. | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" | +| [verticalAlign](properties_Text.md#vertical-alignment) | Vertical location of text within the area that contains it. | "automatic", "top", "middle", "bottom" | +| [verticalLineStroke](properties_Gridlines.md#vertical-line-color) | Defines the color of the vertical lines in a list box (gray by default). | Any CSS value, "'transparent", "automatic" | +| [visibility](properties_Display.md#visibility) | Allows hiding the object in the Application environment. | "visible", "hidden", "selectedRows", "unselectedRows" | + +## W + +| Property | Description | Possible Values | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | +| [webEngine](properties_WebArea.md#use-embedded-web-rendering-engine) | Used to choose between two rendering engines for the Web area, depending on the specifics of the application. | "embedded", "system" | +| [width](properties_CoordinatesAndSizing.md#width) | Designates an object's horizontal size | minimum: 0 | +| [withFormulaBar](properties_Appearance.md#show-formula-bar) | Manages the display of a formula bar with the Toolbar interface in the 4D View Pro area. | true, false | +| [wordwrap](properties_Display.md#wordwrap) | Manages the display of contents when it exceeds the width of the object. | "automatic" (excluding list box), "normal", "none" | + + +## Z + +| Property | Description | Possible Values | +| ------------------------------------- | ------------------------------------------------ | ------------------ | +| [zoom](properties_Appearance.md#zoom) | Zoom percentage for displaying 4D Write Pro area | number (minimum=0) | diff --git a/website/translated_docs/pt/FormObjects/properties_ResizingOptions.md b/website/translated_docs/pt/FormObjects/properties_ResizingOptions.md new file mode 100644 index 00000000000000..cd7774f0466a8b --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_ResizingOptions.md @@ -0,0 +1,144 @@ +--- +id: propertiesResizingOptions +0: title:Resizing Options +--- + +--- +## Column Auto-Resizing + +When this property is enabled (`rightToLeft` value in JSON), list box columns are automatically resized along with the list box, within the limits of the [minimum](properties_CoordinatesAndSizing.md#minimum-width) and [maximum](properties_CoordinatesAndSizing.md#maximum-width) widths defined. + +When this property is disabled (`legacy` value in JSON), only the rightmost column of the list box is resized, even if its width exceeds the maximum value defined. + +### How column auto-resizing works + +* As the list box width increases, its columns are enlarged, one by one, starting from right to left, until each reaches its [maximum width](properties_CoordinatesAndSizing.md#maximum-width). Only columns with the [Resizable](#resizable) property selected are resized. + +* The same procedure applies when the list box width decreases, but in reverse order (*i.e.*, columns are resized starting from left to right). When each column has reached its [minimum width](properties_CoordinatesAndSizing.md#minimum-width), the horizontal scroll bar becomes active again. + +* Columns are resized only when the horizontal scroll bar is not "active"; *i.e.*, all columns are fully visible in the list box at its current size. **Note**: If the horizontal scroll bar is hidden, this does not alter its state: a scroll bar may still be active, even though it is not visible. + +* After all columns reach their maximum size, they are no longer enlarged and instead a blank (fake) column is added on the right to fill the extra space. If a fake (blank) column is present, when the list box width decreases, this is the first area to be reduced. + +![](assets/en/FormObjects/property_columnAutoResizing.png) + +#### About the fake (blank) column + +The appearance of the fake column matches that of the existing columns; it will have a fake header and/or footer if these elements are present in the existing list box columns and it will have the same background color(s) applied. + +The fake header and/or footer can be clicked but this does not have any effect on the other columns (e.g.: no sort is performed); nevertheless, the `On Clicked`, `On Header Click` and `On Footer Click` events are generated accordingly. + +If a cell in the fake column is clicked, the [LISTBOX GET CELL POSITION](https://doc.4d.com/4Dv17R6/4D/17-R6/LISTBOX-GET-CELL-POSITION.301-4311145.en.html) command returns "X+1" for its column number (where X is the number of existing columns). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | ----------------------- | +| resizingMode | string | "rightToLeft", "legacy" | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + +--- +## Horizontal Sizing + +This property specifies if the horizontal size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +| Option | JSON value | Result | +| ------ | ---------- | ---------------------------------------------------------------------------------------------------------------------- | +| Grow | "grow" | The same percentage is applied to the object’s width when the user resizes the width of the window, | +| Move | "move" | The object is moved the same amount left or right as the width increase when the user resizes the width of the window, | +| None | "fixed" | The object remains stationary when the form is resized | +> This property works in conjunction with the [Vertical Sizing](#vertical-sizing) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | ----------------------- | +| sizingX | string | "grow", "move", "fixed" | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + +--- +## Vertical Sizing + +This property specifies if the vertical size of an object should be moved or resized when a user resizes the form. It can also be set dynamically by the `OBJECT SET RESIZING OPTIONS` language command. + +Three options are available: + +| Option | JSON value | Result | +| ------ | ---------- | -------------------------------------------------------------------------------------------------------------------- | +| Grow | "grow" | The same percentage is applied to the object's height when the user resizes the width of the window, | +| Move | "move" | The object is moved the same amount up or down as the height increase when the user resizes the width of the window, | +| None | "fixed" | The object remains stationary when the form is resized | +> This property works in conjunction with the [Horizontal Sizing](#horizontal-sizing) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------- | --------- | ----------------------- | +| sizingY | string | "grow", "move", "fixed" | + +#### Objects Supported + +[4D View Pro Area](viewProArea_overview.md) - [4D Write Pro Area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Dropdown list](dropdownList_Overview.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [Line](shapes_overview.md#line) - [List Box Column](listbox_overview.md#list-box-columns) - [Oval](shapes_overview.md#oval) - [Picture Button](pictureButton_overview.md) - [Picture Pop up menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md#overview) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Rectangle](shapes_overview.md#rectangle) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Web Area](webArea_overview.md#overview) + + + +--- +## Pusher + +When a splitter object has this property, other objects to its right (vertical splitter) or below it (horizontal splitter) are pushed at the same time as the splitter, with no stop. + +Here is the result of a “pusher” splitter being moved: ![](assets/en/FormObjects/splitter_pusher1.png) + +![](assets/en/FormObjects/splitter_pusher3.png) + +When this property is not applied to the splitter, the result is as follows: + +![](assets/en/FormObjects/splitter_pusher2.png) + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:------------ |:---------:|:------------------------------------:| +| splitterMode | string | "move" (pusher), "resize" (standard) | + +#### Objects Supported + +[Splitter](splitterTabControlOverview#splitters) + + + + +--- +## Resizable + +Designates if the size of the column can be modified by the user. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:--------- |:---------:|:---------------:| +| resizable | boolean | "true", "false" | + +#### Objects Supported + +[List Box Column](listbox_overview.md#list-box-columns) + + + + + + diff --git a/website/translated_docs/pt/FormObjects/properties_Scale.md b/website/translated_docs/pt/FormObjects/properties_Scale.md new file mode 100644 index 00000000000000..c5fec5f7494574 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Scale.md @@ -0,0 +1,137 @@ +--- +id: propertiesScale +title: Scale +--- + +--- +## Barber shop + +Enables the "barber shop" variant for the thermometer. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| ----------------------------------------------------------- | +| [max](#maximum) | number | NOT passed = enabled; passed = disabled (basic thermometer) | + +#### Objects Supported + +[Barber shop](progressIndicator.md#barber-shop) + + + +--- +## Display graduation + +Displays/Hides the graduations next to the labels. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| --------------- | +| showGraduations | boolean | "true", "false" | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Graduation step + +Scale display measurement. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:--------------:|:---------:| --------------- | +| graduationStep | integer | minimum: 0 | + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Label Location + +Specifies the location of an object's displayed text. + +* None - no label is displayed +* Top - Displays labels to the left of or above an indicator +* Bottom - Displays labels to the right of or below an indicator + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:---------------:|:---------:| ---------------------------------------- | +| labelsPlacement | string | "none", "top", "bottom", "left", "right" | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) + + + +--- +## Maximum + +Maximum value of an indicator. + +- For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. +- To enable [Barber shop thermometers](progressIndicator.md#barber-shop), this property must be omitted. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------------:| ----------------------------------- | +| max | string / number | minimum: 0 (for numeric data types) | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + +--- +## Minimum + +Minimum value of an indicator. For numeric steppers, this property represent seconds when the object is associated with a time type value and are ignored when it is associated with a date type value. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------------:| ----------------------------------- | +| min | string / number | minimum: 0 (for numeric data types) | + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + +--- +## Step + +Minimum interval accepted between values during use. For numeric steppers, this property represents seconds when the object is associated with a time type value and days when it is associated with a date type value. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:----:|:---------:| --------------- | +| step | integer | minimum: 1 | + + +#### Objects Supported + +[Thermometer](progressIndicator.md#thermometer) - [Ruler](ruler.md#ruler) - [Stepper](stepper.md#stepper) + + + + + + diff --git a/website/translated_docs/pt/FormObjects/properties_Subform.md b/website/translated_docs/pt/FormObjects/properties_Subform.md new file mode 100644 index 00000000000000..b50e4a773b427e --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Subform.md @@ -0,0 +1,169 @@ +--- +id: propertiesSubform +title: Subform +--- + +--- +## Allow Deletion + +Specifies if the user can delete subrecords in a list subform. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------------- | +| deletableInList | boolean | true, false (default: true) | + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## Detail Form + +You use this property to declare the detail form to use in the subform. It can be: + +- a widget, i.e. a page-type subform endowed with specific functions. In this case, the [list subform](#list-form) and [Source](#source) properties must be empty or not present. You can select a component form name when it is published in the component. +> You can generate [components](Concepts/components.md) providing additional functionalities through subforms. + +- the detail form to associate a with the [list subform](#list-form). The detail form can be used to enter or view subrecords. It generally contains more information than the list subform. Naturally, the detail form must belong to the same table as the subform. You normally use an Output form as the list form and an Input form as the detail form. If you do not specify the form to use for full page entry, 4D automatically uses the default Input format of the table. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| detailForm | string | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Double-click on empty row + +Action to perform in case of a double-click on an empty line of a list subform. The following options are available: +- Do nothing: Ignores double-click. +- Add Record: Creates a new record in the subform and changes to editing mode. The record will be created directly in the list if the [Enterable in List] property is enabled. Otherwise, it will be created in page mode, in the [detail form](detail-form) associated with the subform. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------------- | --------- | ---------------------------------- | +| doubleClickInEmptyAreaAction | string | "addSubrecord" or "" to do nothing | + +#### Objects Supported + +[Subform](subform_overview.md) + +#### See also +[Double click on row](#double-click-on-row) + +--- +## Double-click on row + +`List subform` + +Sets the action to be performed when a user double-clicks on a row in a list subform. The available options are: + +* **Do nothing** (default): Double-clicking a row does not trigger any automatic action. +* **Edit Record**: Double-clicking a row displays the corresponding record in the [detail form defined for the list subform](#detail-form). The record is opened in read-write mode so it can be modified. +* **Display Record**: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified. + +Regardless of the action selected/chosen, the `On Double clicked` form event is generated. + +For the last two actions, the On `Open Detail` form event is also generated. The `On Close Detail` is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------------------- | --------- | ----------------------------------- | +| doubleClickInRowAction | string | "editSubrecord", "displaySubrecord" | + +#### Objects Supported + +[Subform](subform_overview.md) + + +#### See also +[Double click on empty row](#double-click-on-empty-row) + +--- +## Enterable in list + +When a list subform has this property enabled, the user can modify record data directly in the list, without having to use the [associated detail form](#detail-form). + +> To do this, simply click twice on the field to be modified in order to switch it to editing mode (make sure to leave enough time between the two clicks so as not to generate a double-click). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------- | +| enterableInList | boolean | true, false | + + +#### Objects Supported + +[Subform](subform_overview.md) + + +--- +## List Form + +You use this property to declare the list form to use in the subform. A list subform lets you enter, view, and modify data in other tables. + +List subforms can be used for data entry in two ways: the user can enter data directly in the subform, or enter it in an [input form](#detail-form). In this configuration, the form used as the subform is referred to as the List form. The input form is referred to as the Detail form. + +You can also allow the user to enter data in the List form. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| listForm | string | Name (string) of table or project form, a POSIX path (string) to a .json file describing the form, or an object describing the form | + +#### Objects Supported + +[Subform](subform_overview.md) + + + +--- +## Source + +Specifies the table that the list subform belongs to (if any). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----- | --------- | --------------------------------- | +| table | string | 4D table name, or "" if no table. | + +#### Objects Supported + +[Subform](subform_overview.md) + +--- +## Selection Mode + +Designates the option for allowing users to select rows: +- **None**: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the [Enterable in list](subform_overview.md#enterable-in-list) option is enabled. The navigation keys only cause the list to scroll; the `On Selection Change` form event is not generated. +- **Single**: One row at a time can be selected in this mode. Clicking on a row will select it. A **Ctrl+click** (Windows) or **Command+click** (macOS) on a row toggles its state (between selected or not). The Up and Down arrow keys select the previous/next row in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the current row is changed. +- **Multiple**: Several rows can be selected simultaneously in this mode. + - The selected subrecords are returned by the `GET HIGHLIGHTED RECORDS` command. + - Clicking on the record will select it, but it does not modify the current record. + - A **Ctrl+click** (Windows) or **Command+click** (macOS) on a record toggles its state (between selected or not). The Up and Down arrow keys select the previous/next record in the list. The other navigation keys scroll the list. The `On Selection Change` form event is generated every time the selected record is changed. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ---------------------------- | +| selectionMode | string | "multiple", "single", "none" | + +#### Objects Supported + +[Subform](subform_overview.md) diff --git a/website/translated_docs/pt/FormObjects/properties_Text.md b/website/translated_docs/pt/FormObjects/properties_Text.md new file mode 100644 index 00000000000000..3607d96415dfde --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_Text.md @@ -0,0 +1,754 @@ +--- +id: propertiesText +0: title:Text +--- + +--- +## Allow font/color picker + +When this property is enabled, the [OPEN FONT PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-FONT-PICKER.301-4505612.en.html) and [OPEN COLOR PICKER](https://doc.4d.com/4Dv18/4D/18/OPEN-COLOR-PICKER.301-4505611.en.html) commands can be called to display the system font and color picker windows. Using these windows, the users can change the font or color of a form object that has the focus directly by clicking. When this property is disabled (default), the open picker commands have no effect. + + +#### JSON Grammar + +| Property | Data Type | Possible Values | +| -------------------- | --------- | --------------------- | +| allowFontColorPicker | boolean | false (default), true | + +#### Objects Supported + +[Input](input_overview.md) + +--- +## Bold + +Sets the selected text to appear darker and heavier. + +You can set this property using the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. +> This is normal text.
    **This is bold text.** + +#### JSON Grammar + +| Property | Data Type | Possible Values | +| ---------- | --------- | ---------------- | +| fontWeight | text | "normal", "bold" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Italic + +Sets the selected text to slant slightly to the right. + +You can also set this property via the [**OBJECT SET FONT STYLE**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT-STYLE.301-4128244.en.html) command. +> This is normal text.
    *This is text in italics.* + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------ | +| fontStyle | string | "normal", "italic" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +--- +## Underline +Sets the text to have a line running beneath it. +> This is normal text.
    This is underlined text. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | --------------------- | +| textDecoration | string | "normal", "underline" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + + +--- +## Font + +This property allows you to specify either the **font theme** or the **font family** used in the object. +> **Font theme** and **font family** properties are mutually exclusive. A font theme takes hold of font attributes, including size. A font family allows you to define font name, font size and font color. + + +### Font Theme + +The font theme property designates an automatic style name. Automatic styles determine the font family, font size and font color to be used for the object dynamically according to system parameters. These parameters depend on: + +- the platform, +- the system language, +- and the type of form object. + +With the font theme, you are guaranteed that titles are always displayed in accordance with the current interface standards of the system. However, their size may vary from one machine to another. + +Three font themes are available: +- **normal**: automatic style, applied by default to any new object created in the Form editor. +- **main** and **additional** font themes are only supported by [text areas](text.md) and [inputs](input_overview.md). These themes are primarily intended for designing dialog boxes. They refer to font styles used, respectively, for main text and additional information in your interface windows. Here are typical dialog boxes (macOS and Windows) using these font themes: + +![](assets/en/FormObjects/fontThemes.png) + +> Font themes manage the font as well as its size and color. If you modify one of the properties managed by a font theme, it no longer works dynamically. However, you can apply custom style properties (Bold, Italic or Underline) without altering its functioning. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------ | +| fontTheme | string | "normal", "main", "additional" | + + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + +### Font Family + +There are two types of font family names: + +* *family-name:* The name of a font-family, like "times", "courier", "arial", etc. +* *generic-family:* The name of a generic-family, like "serif", "sans-serif", "cursive", "fantasy", "monospace". + +You can set this using the [**OBJECT SET FONT**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-FONT.301-4054834.en.html) command. +> This is Times New Roman font.
    This is Calibri font.
    This is Papyrus font. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | -------------------- | +| fontFamily | string | CSS font family name | +> 4D recommends using only [web safe](https://www.w3schools.com/cssref/css_websafe_fonts.asp) fonts. + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + +--- +## Font Size + +> This property is only available when no [font theme](#font-theme) is selected. + +Allows defining the object's font size in points. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------- | --------- | ------------------------------------- | +| fontSize | integer | Font size in points. Minimum value: 0 | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + +--- +## Font Color + +This property specifies the color of the font used in the object. The color can be specified by: + +* a color name - like "red" +* a HEX value - like "#ff0000" +* an RGB value - like "rgb(255,0,0)" + +You can also set this property using the [**OBJECT SET RGB COLORS**](https://doc.4d.com/4Dv17R5/4D/17-R5/OBJECT-SET-RGB-COLORS.301-4128232.en.html) command. +> This font is red. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------ | --------- | ----------------------------------------- | +| stroke | string | any css value, "transparent", "automatic" | + +#### Objects Supported + +[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md#overview) - [Input](input_overview.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) - [Text Area](text.md) + + + + + +--- + +## Font Color Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom font color to each row of the list box. You must use RGB color values. For more information about this, refer to the description of the [OBJECT SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/OBJECT-SET-RGB-COLORS.301-4311385.en.html) command in the 4D Language Reference manual. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed. You can use the constants of the [SET RGB COLORS](https://doc.4d.com/4Dv17R6/4D/17-R6/SET-RGB-COLORS.302-4310385.en.html) theme. +> This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + +The following example uses a variable name: enter *CompanyColor* for the **Font Color Expression** and, in the form method, write the following code: + +```code4d +CompanyColor:=Choose([Companies]ID;Background color;Light shadow color; +Foreground color;Dark shadow color) +``` + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------------- | --------- | --------------------- | +| rowStrokeSource | string | Font color expression | + +#### Objects Supported + +[List Box](listbox_overview.md#overview) + +--- +## Style Expression + +`Selection and collection/entity selection type list boxes` + +Used to apply a custom character style to each row of the list box or each cell of the column. + +You must enter an expression or a variable (array type variables cannot be used). The expression or variable will be evaluated for each row displayed (if applied to the list box) or each cell displayed (if applied to a column). You can use the constants of the [Font Styles](https://doc.4d.com/4Dv17R6/4D/17-R6/Font-Styles.302-4310343.en.html) theme. + +Example: + +```code4d +Choose([Companies]ID;Bold;Plain;Italic;Underline) +``` +> This property can also be set using a [Meta Info Expression](properties_Text.md#meta-info-expression). + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | ----------------------------------------------- | +| rowStyleSource | string | Style expression to evaluate for each row/cell. | + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) + + + + + + +--- +## Horizontal Alignment + +Horizontal location of text within the area that contains it. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | ------------------------------------------------- | +| textAlign | string | "automatic", "right", "center", "justify", "left" | + +#### Objects Supported + +[Group Box](groupBox.md) - [List Box](listbox_overview.md#overview) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Header](listbox_overview.md#list-box-headers) - [List Box Header](listbox_overview.md#list-box-footers) - [Text Area](text.md) + + +--- +## Vertical Alignment + +Vertical location of text within the area that contains it. + +The **Default** option (`automatic` JSON value) sets the alignment according to the type of data found in each column: +- `bottom` for all data (except pictures) and +- `top` for picture type data. + +This property can also be handled by the [OBJECT Get vertical alignment](https://doc.4d.com/4Dv18/4D/18/OBJECT-Get-vertical-alignment.301-4505442.en.html) and [OBJECT SET VERTICAL ALIGNMENT](https://doc.4d.com/4Dv18/4D/18/OBJECT-SET-VERTICAL-ALIGNMENT.301-4505430.en.html) commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | -------------------------------------- | +| verticalAlign | string | "automatic", "top", "middle", "bottom" | + +#### Objects Supported + +[List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) + + + + + + + + + +--- +## Meta Info Expression +`Collection or entity selection type list boxes` + +Specifies an expression or a variable which will be evaluated for each row displayed. It allows defining a whole set of row text attributes. You must pass an **object variable** or an **expression that returns an object**. The following properties are supported: + +| Property name | Type | Description | +| ------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| stroke | string | Font color. Any CSS color (ex: "#FF00FF"), "automatic", "transparent" | +| fill | string | Background color. Any CSS color (ex: "#F00FFF"), "automatic", "transparent" | +| fontStyle | string | "normal","italic" | +| fontWeight | string | "normal","bold" | +| textDecoration | string | "normal","underline" | +| unselectable | boolean | Designates the corresponding row as not being selectable (*i.e.*, highlighting is not possible). Enterable areas are no longer enterable if this option is enabled unless the "Single-Click Edit" option is also enabled. Controls such as checkboxes and lists remain functional. This setting is ignored if the list box selection mode is "None". Default value: False. | +| disabled | boolean | Disables the corresponding row. Enterable areas are no longer enterable if this option is enabled. Text and controls (checkboxes, lists, etc.) appear dimmed or grayed out. Default value: False. | +| cell.\ | object | Allows applying the property to a single column. Pass in \ the object name of the list box column. **Note**: "unselectable" and "disabled" properties can only be defined at row level. They are ignored if passed in the "cell" object | + +> Style settings made with this property are ignored if other style settings are already defined through expressions (*i.e.*, [Style Expression](#style-expression), [Font Color Expression](#font-color-expression), [Background Color Expression](#background-color-expression)). + +The following example uses the *Color* project method. + +In the form method, write the following code: + +```code4d +//form method +Case of + :(Form event=On Load) + Form.meta:=New object +End case +``` + + +In the *Color* method, write the following code: + +```code4d +//Color method +//Sets font color for certain rows and the background color for a specific column: +C_OBJECT($0) +If(This.ID>5) //ID is an attribute of collection objects/entities + Form.meta.stroke:="purple" + Form.meta.cell:=New object("Column2";New object("fill";"black")) +Else + Form.meta.stroke:="orange" +End if +$0:=Form.meta +``` +> See also the [This](https://doc.4d.com/4Dv17R6/4D/17-R6/This.301-4310806.en.html) command. + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | ------------------------------------------------ | +| metaSource | string | Object expression to evaluate for each row/cell. | + +#### Objects Supported + +[List Box](listbox_overview.md) + + + + + + + + +--- +## Multi-style + +This property enables the possibility of using specific styles in the selected area. When this option is checked, 4D interprets any \ HTML tags found in the area.

    + +

    + By default, this option is not enabled. +

    + + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + styledText + + boolean + + true, false +
    + +

    + Objects Supported +

    + +

    + List Box Column - Input +

    + + + + + + + + +
    +

    + Orientation +

    + +

    + Modifies the orientation (rotation) of a text area. Text areas can be rotated by increments of 90°. Each orientation value is applied while keeping the same lower left starting point for the object: +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Orientation value + + Result +
    + 0 (default) + + +
    + 90 + + +
    + 180 + + +
    + 270 + + +
    + +

    + In addition to static text areas, input text objects can be rotated when they are non-enterable. When a rotation property is applied to an input object, the enterable property is removed (if any). This object is then excluded from the entry order. +

    + + + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + textAngle + + number + + 0, 90, 180, 270 +
    + +

    + Objects Supported +

    + +

    + Input (non-enterable) - Text Area +

    + + + + + +
    +

    + Row Font Color Array +

    + +

    + Array type list boxes +

    + +

    + Allows setting a custom font color to each row of the list box or cell of the column. +

    + +

    + The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. You can use the constants of the SET RGB COLORS theme. If you want the cell to inherit the background color defined at the higher level, pass the value -255 to the corresponding array element. +

    + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + rowStrokeSource + + string + + The name of a longint array +
    + +

    + Objects Supported +

    + +

    + List Box - List Box Column +

    + + + + + +
    +

    + Row Style Array +

    + +

    + Array type list boxes +

    + +

    + Allows setting a custom font style to each row of the list box or each cell of the column. +

    + +

    + The name of a Longint array must be used. Each element of this array corresponds to a row of the list box (if applied to the list box) or to a cell of the column (if applied to a column), so the array must be the same size as the array associated with the column. To fill the array (using a method), use the constants of the Font Styles theme. You can add constants together to combine styles. If you want the cell to inherit the style defined at the higher level, pass the value -255 to the corresponding array element. +

    + + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + rowStyleSource + + string + + The name of a longint array. +
    + +

    + Objects Supported +

    + +

    + List Box - List Box Column +

    + + + +
    +

    + Store with default style tags +

    + +

    + This property is only available for a Multi-style input area. When this property is enabled, the area will store the style tags with the text, even if no modification has been made. In this case, the tags correspond to the default style. When this property is disabled, only modified style tags are stored. +

    + +

    + For example, here is a text that includes a style modification: +

    + +

    + +

    + +

    + When the property is disabled, the area only stores the modification. The stored contents are therefore: +

    + +
    What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!
    +
    + +

    + When the property is enabled, the area stores all the formatting information. The first generic tag describes the default style then each variation is the subject of a pair of nested tags. The contents stored in the area are therefore: +

    + +
    <SPAN STYLE="font-family:'Arial';font-size:9pt;text-align:left;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background-color:#FFFFFF">What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!</SPAN>
    +
    + +

    + JSON Grammar +

    + + + + + + + + + + + + + + + + + +
    + Name + + Data Type + + Possible Values +
    + storeDefaultStyle + + boolean + + true, false (default). +
    + +

    + Objects Supported +

    + +

    + Input +

    + + + + + + + + + + + + + + + + + + + + + diff --git a/website/translated_docs/pt/FormObjects/properties_TextAndPicture.md b/website/translated_docs/pt/FormObjects/properties_TextAndPicture.md new file mode 100644 index 00000000000000..423aba0e270cc1 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_TextAndPicture.md @@ -0,0 +1,252 @@ +--- +id: propertiesTextAndPicture +0: title:Text and Picture +--- + +--- +## Background pathname + +Sets the path of the picture that will be drawn in the background of the object. If the object uses an [icon](#picture-pathname) with [different states](#number-of-states), the background picture will automatically support the same number of states. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ----------------------- | --------- | ------------------------------------------------------------------------------------------------------------ | +| customBackgroundPicture | string | Relative path in POSIX syntax. Must be used in conjunction with the style property with the "custom" option. | + + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## Button Style + +General appearance of the button. The button style also plays a part in the availability of certain options. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-----:|:---------:| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| style | text | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" | + + +#### Objects Supported + +[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Horizontal Margin + +This property allows setting the size (in pixels) of the horizontal margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders: + +| With / Without | Example | +| -------------------- | --------------------------------------------------------- | +| Without margin | ![](assets/en/FormObjects/property_horizontalMargin1.png) | +| With 13-pixel margin | ![](assets/en/FormObjects/property_horizontalMargin2.png) | +> This property works in conjunction with the [Vertical Margin](#vertical-margin) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------------------------------- | +| customBorderX | number | For use with "custom" style. Minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- + +## Icon Location + +Designates the placement of an icon in relation to the form object. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ----------------------- | +| iconPlacement | string | "none", "left", "right" | + +#### Objects Supported + +[List Box Header](listbox_overview.md#list-box-headers) + + + + + +--- +## Icon Offset + +Sets a custom offset value in pixels, which will be used when the button is clicked + +The title of the button will be shifted to the right and toward the bottom for the number of pixels entered. This allows applying a customized 3D effect when the button is clicked. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------ | --------- | --------------- | +| customOffset | number | minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + +--- +## Number of States + +This property sets the exact number of states present in the picture used as the icon for a [button with icon](button_overview.md), a [check box](checkbox_overview.md) or a custom [radio button](radio_overview.md). In general, a button icon includes four states: active, clicked, mouse over and inactive. + +Each state is represented by a different picture. In the source picture, the states must be stacked vertically: + +![](assets/en/property_numberOfStates.png) + +The following states are represented: +1. button not clicked / check box unchecked (variable value=0) +2. button clicked / check box checked (variable value=1) +3. roll over +4. disabled + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---------- | --------- | --------------- | +| iconFrames | number | minimum: 1 | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + + +--- +## Picture pathname + +Sets the path of the picture that will be used as icon for the object. + +The pathname to enter is similar as for the [Pathname property for static pictures](properties_Picture.md#pathname). + +> When used as icon for active objects, the picture must be designed to support a variable [number of states](#number-of-states). + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ---- | --------- | -------------------------------------------- | +| icon | picture | Relative or filesystem path in POSIX syntax. | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [List Box Header](listbox_overview.md#list-box-headers) - [Radio Button](radio_overview.md) + + + + +--- +## Title/Picture Position + +This property allows modifying the relative location of the button title in relation to the associated icon. This property has no effect when the button contains only a title (no associated picture) or a picture (no title). By default, when a button contains a title and a picture, the text is placed below the picture. + +Here are the results using the various options for this property: + +| Option | Description | Example | +| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- | +| **Left** | The text is placed to the left of the icon. The contents of the button are aligned to the right. | ![](assets/en/FormObjects/property_titlePosition_left.en.png) | +| **Top** | The text is placed above the icon. The contents of the button are centered. | ![](assets/en/FormObjects/property_titlePosition_top.png) | +| **Right** | The text is placed to the right of the icon. The contents of the button are aligned to the left. | ![](assets/en/FormObjects/property_titlePosition_right.png) | +| **Bottom** | The text is placed below the icon. The contents of the button are centered. | ![](assets/en/FormObjects/property_titlePosition_bottom.png) | +| **Centered** | The text of the icon is centered vertically and horizontally in the button. This parameter is useful, for example, for text included in an icon. | ![](assets/en/FormObjects/property_titlePosition_centered.png) | + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | ------------------------------------------ | +| textPlacement | string | "left", "top", "right", "bottom", "center" | + +#### Objects Supported + +[Button](button_overview.md) (all styles except [Help](button_overview.md#help)) - [Check Box](checkbox_overview.md) - [Radio Button](radio_overview.md) + + + + +--- +## Vertical Margin + +This property allows setting the size (in pixels) of the vertical margins of the button. This margin delimits the area that the button icon and title must not surpass. + +This parameter is useful, for example, when the background picture contains borders. + +> This property works in conjunction with the [Horizontal Margin](#horizontal-margin) property. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| ------------- | --------- | --------------------------------------- | +| customBorderY | number | For use with "custom" style. Minimum: 0 | + +#### Objects Supported + +[Custom Button](button_overview.md#custom) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom) + + + + +--- +## With pop-up menu + +This property allows displaying a symbol that appears as a triangle in the button to indicate the presence of an attached pop-up menu: + +![](assets/en/FormObjects/property_popup.png) + +The appearance and location of this symbol depends on the button style and the current platform. + + +### Linked and Separated + +To attach a pop-up menu symbol to a button, there are two display options available: + +| Linked | Separated | +|:----------------------------------------------------:|:-------------------------------------------------------:| +| ![](assets/en/FormObjects/property_popup_linked.png) | ![](assets/en/FormObjects/property_popup_separated.png) | +> The actual availability of a "separated" mode depends on the style of the button and the platform. + +Each option specifies the relation between the button and the attached pop-up menu: + +
  • When the pop-up menu is **separated**, clicking on the left part of the button directly executes the current action of the button; this action can be modified using the pop-up menu accessible in the right part of the button.
  • When the pop-up menu is **linked**, a simple click on the button only displays the pop-up menu. Only the selection of the action in the pop-up menu causes its execution. + + +### Managing the pop-up menu + +It is important to note that the "With Pop-up Menu" property only manages the graphic aspect of the button. The display of the pop-up menu and its values must be handled entirely by the developer, more particularly using `form events` and the **[Dynamic pop up menu](https://doc.4d.com/4Dv18/4D/18/Dynamic-pop-up-menu.301-4505524.en.html)** and **[Pop up menu](https://doc.4d.com/4Dv17R5/4D/17-R5/Pop-up-menu.301-4127438.en.html)** commands. + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +|:-------------- | --------- | ---------------------------------------------------------------------------------------------------- | +| popupPlacement | string |
  • "none"
  • "linked"
  • "separated" | + + +#### Objects Supported + +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#Rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-XP) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/properties_WebArea.md b/website/translated_docs/pt/FormObjects/properties_WebArea.md new file mode 100644 index 00000000000000..a690347b17a8e4 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/properties_WebArea.md @@ -0,0 +1,103 @@ +--- +id: propertiesWebArea +title: Web Area +--- + +--- +## Access 4D methods + +You can call 4D methods from the JavaScript code executed in a Web area and get values in return. To be able to call 4D methods from a Web area, you must activate the 4D methods accessibility property ("all"). + +> This property is only available if the Web area [uses the embedded Web rendering engine](#use-embedded-web-rendering-engine). + +When this property is on, a special JavaScript object named `$4d` is instantiated in the Web area, which you can [use to manage calls to 4D project methods](webArea_overview.md#4d-object). + + + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------------- | --------- | ----------------------- | +| methodsAccessibility | string | "none" (default), "all" | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + +--- +## Progression + +Name of a Longint type variable. This variable will receive a value between 0 and 100, representing the page load completion percentage in the Web area. Automatically updated by 4D, cannot be modified manually. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| -------------- | --------- | -------------------------- | +| progressSource | string | Name of a Longint variable | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + + + +--- +## URL + +A String type variable that designates the URL loaded or being loading by the associated Web area. The association between the variable and the Web area works in both directions: + +* If the user assigns a new URL to the variable, this URL is automatically loaded by the Web area. +* Any browsing done within the Web area will automatically update the contents of the variable. + +Schematically, this variable functions like the address area of a Web browser. You can represent it via a text area above the Web area. + +### URL Variable and WA OPEN URL command + +The URL variable produces the same effects as the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. The following differences should nevertheless be noted: +- For access to documents, this variable only accepts URLs that are RFC-compliant ("file://c:/My%20Doc") and not system pathnames ("c:\MyDoc"). The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command accepts both notations. +- If the URL variable contains an empty string, the Web area does not attempt to load the URL. The [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command generates an error in this case. +- If the URL variable does not contain a protocol (http, mailto, file, etc.), the Web area adds "http://", which is not the case for the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command. +- When the Web area is not displayed in the form (when it is located on another page of the form), executing the [WA OPEN URL](https://doc.4d.com/4Dv18/4D/18/WA-OPEN-URL.301-4504841.en.html) command has no effect, whereas assigning a value to the URL variable can be used to update the current URL. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | --------------- | +| urlSource | string | A URL. | + +#### Objects Supported + +[Web Area](webArea_overview.md) + + + + + + +--- +## Use embedded Web rendering engine + +This option allows choosing between two rendering engines for the Web area, depending on the specifics of your application: + +* **unchecked** - `JSON value: system` (default): In this case, 4D uses the "best" engine corresponding to the system. On Windows, 4D automatically uses the most recent version of the browser found on the machine (IE11, MS Edge, etc.). On macOS, 4D uses the current version of WebKit (Safari). This means that you automatically benefit from the latest advances in Web rendering, through HTML5 or JavaScript. However, you may notice some rendering differences between Internet Explorer/Edge implementations and Web Kit ones. +* **checked** - `JSON value: embedded`: In this case, 4D uses Blink engine from Google. Using the embedded Web engine means that Web area rendering and their functioning in your application are identical regardless of the platform used to run 4D (slight variations of pixels or differences related to network implementation may nevertheless be observed). When this option is chosen, you no longer benefit from automatic updates of the Web engine performed by the operating system; however, new versions of the engines are provided through 4D. + + Note that the Blink engine has the following limitations: + * [WA SET PAGE CONTENT](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PAGE-CONTENT.301-4310783.en.html): using this command requires that at least one page is already loaded in the area (through a call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or an assignment to the URL variable associated to the area). + * Execution of Java applets, JavaScripts and plug-ins is always enabled and cannot be disabled in Web areas in Blink. The following selectors of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) and [WA GET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-GET-PREFERENCE.301-4310763.en.html) commands are ignored: + * `WA enable Java applets` + * `WA enable JavaScript` + * `WA enable plugins` + * When URL drops are enabled by the `WA enable URL drop` selector of the [WA SET PREFERENCE](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-SET-PREFERENCE.301-4310780.en.html) command, the first drop must be preceded by at least one call to [WA OPEN URL](https://doc.4d.com/4Dv17R6/4D/17-R6/WA-OPEN-URL.301-4310772.en.html) or one assignment to the URL variable associated to the area. + +#### JSON Grammar + +| Name | Data Type | Possible Values | +| --------- | --------- | -------------------- | +| webEngine | string | "embedded", "system" | + +#### Objects Supported + +[Web Area](webArea_overview.md) \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/radio_overview.md b/website/translated_docs/pt/FormObjects/radio_overview.md new file mode 100644 index 00000000000000..aec5e481eabe2c --- /dev/null +++ b/website/translated_docs/pt/FormObjects/radio_overview.md @@ -0,0 +1,162 @@ +--- +id: radiobuttonOverview +title: Radio Button +--- + +## Overview + +Radio buttons are objects that allow the user to select one of a group of buttons. + +Usually, a radio button shows a small bullseye with text. However, radio buttons can have [various appearances](#button-styles). + +![](assets/en/FormObjects/radio1.png) + +A radio button is selected: +- when the user clicks on it +- when it has the focus and the user presses the **Space bar** key. + + + +## Configuring radio buttons + +Radio buttons are used in coordinated sets: only one button at a time can be selected in the set. In order to operate in a coordinated manner, a set of radio buttons must share the same [Radio Group](properties_Object.md#radio-group) property. + +Radio buttons are controlled with methods. Like all buttons, a radio button is set to 0 when the form is first opened. A method associated with a radio button executes when the button is selected. The following is an example of a group of radio buttons used in a video collection database to enter the speed of the recording (SP, LP, or EP): + +![](assets/en/FormObjects/radio2.png) + +Selecting one radio button in a group sets that button to 1 and all of the others in the group to 0. Only one radio button can be selected at a time. +> You can associate [Boolean type expressions](properties_Object.md#variable-or-expression) with radio buttons. In this case, when a radio button in a group is selected, its variable is True and the variables for the group's other radio buttons are False. + +The value contained in a radio button object is not saved automatically (except if it is the representation of a Boolean field); radio button values must be stored in their variables and managed with methods. + + + + +## Button Styles + +Radio [button styles](properties_TextAndPicture.md#button-style) control radio button's general appearance as well as its available properties. It is possible to apply different predefined styles to radio buttons. However, the same button style must be applied to all radio buttons in a group so that they work as expected. + +4D provides radio buttons in the following predefined styles: + + +### Regular + +The Regular radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_regular.png) + +In addition to initiating code execution, the Regular radio button style changes bullsey color when being hovered. + + +### Flat + +The Flat radio button style is a standard system button (*i.e.*, a small bullseye with text) which executes code when a user clicks on it. + +![](assets/en/FormObjects/radio_flat.png) + +By default, the Flat style has a minimalist appearance. The Flat button style's graphic nature is particularly useful for forms that will be printed. + + +### Toolbar + +The Toolbar radio button style is primarily intended for integration in a toolbar. + +By default, the Toolbar style has a transparent background with a label in the center. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + +![](assets/en/FormObjects/radio_toolbar.png) + + - *macOS* - the highlight of the button never appears. + + + +### Bevel + +The Bevel radio button style is similar to the [Toolbar](#toolbar) style's behavior, except that it has a light gray background and a gray outline. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - the button is highlighted. + + ![](assets/en/FormObjects/radio_bevel.png) + + - *macOS* - the highlight of the button never appears. + + +### Rounded Bevel + +The Rounded Bevel button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, the corners of the button may be rounded. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the corners of the button are rounded. ![](assets/en/FormObjects/roundedBevel.png) + + +### OS X Gradient + +The OS X Gradient button style is nearly identical to the [Bevel](#bevel) style except, depending on the OS, it may have a two-toned appearance. + + - *Windows* - the button is identical to the [Bevel](#bevel) style. + + - *macOS* - the button is displayed as a two-tone system button. + + + +### OS X Textured + +The OS X Textured radio button style is nearly identical to the [Toolbar](#toolbar) style except, depending on the OS, it may have a different appearance and does not display hover. + +By default, the OS X Textured style appears as: + + - *Windows* - a toolbar-like button with a label in the center and the background is always displayed. + + - *macOS* - a standard system button displaying a color change from light to dark gray. Its height is predefined: it is not possible to enlarge or reduce it. + + ![](assets/en/FormObjects/OSXTextured.png) + + + +### Office XP + +The Office XP button style combines the appearance of the [Regular](#regular) style with the [Toolbar](#toolbar) style's behavior. + +The colors (highlight and background) of a button with the Office XP style are based on the system colors. The appearance of the button can be different when the cursor hovers over it depending on the OS: + + - *Windows* - its background only appears when the mouse rolls over it. + + ![](assets/en/FormObjects/radio_xp.png) + + - *macOS* - its background is always displayed. + + + +### Collapse / Expand + +This button style can be used to add a standard collapse/expand icon. These buttons are used natively in hierarchical lists. In Windows, the button looks like a [+] or a [-]; in macOS, it looks like a triangle pointing right or down. + +![](assets/en/FormObjects/checkbox_collapse.png) + + + +### Disclosure Button + +The disclosure radio button style displays the radio button as a standard disclosure button, usually used to show/hide additional information. The button symbol points downwards with value 0 and upwards with value 1. + +![](assets/en/FormObjects/checkbox_disclosure.png) + + +### Custom + +The Custom radio button style accepts a personalized background picture and allows managing additional parameters such as [icon offset](properties_TextAndPicture.md#icon-offset) and [margins](properties_TextAndPicture.md#horizontalMargin). + + +## Supported properties + +All radio buttons share the same set of basic properties: + +[Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#class) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Radio Group](properties_Object.md#radio-group) - [Right](properties_CoordinatesAndSizing.md#right) - [Shortcut](properties_Entry.md#shortcut) - [Title](properties_Object.md#title) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +Additional specific properties are available depending on the [button style](#button-styles): + +- [Background pathname](properties_TextAndPicture.md#backgroundPathname) - [Horizontal Margin](properties_TextAndPicture.md#horizontalMargin) - [Icon Offset](properties_TextAndPicture.md#icon-offset) - [Vertical Margin](properties_TextAndPicture.md#verticalMargin) (Custom) +- [Number of States](properties_TextAndPicture.md#number-of-states) - [Picture pathname](properties_TextAndPicture.md#picture-pathname) - [Title/Picture Position](properties_TextAndPicture.md#title-picture-position) (Toolbar button, Bevel, Rounded Bevel, OS X Gradient, OS X Textured, Office XP, Custom) \ No newline at end of file diff --git a/website/translated_docs/pt/FormObjects/shapes_overview.md b/website/translated_docs/pt/FormObjects/shapes_overview.md new file mode 100644 index 00000000000000..ff3ad307660bc6 --- /dev/null +++ b/website/translated_docs/pt/FormObjects/shapes_overview.md @@ -0,0 +1,109 @@ +--- +id: shapesOverview +title: Shapes +--- + +Shapes are [static objects](formObjects_overview.md#active-and-static-objects) that can be added to 4D forms. + +4D forms support the following basic shapes: + +- rectangles +- lines +- ovals + + +## Rectangle + +A static rectangle is a decorative object for forms. Rectangles are constrained to squared shapes. + +The design of rectangles is controlled through many properties (color, line thickness, pattern, etc.). Specifically, the [roundness](properties_CoordinatesAndSizing.md#corner-radius) of its corners can be defined. + +![](assets/en/FormObjects/shapes_rectangle2.png) + +#### JSON Example: + +```code4d + "myRectangle": { + "type": "rectangle", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "borderRadius": 20 //define the roundness of the corners + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Corner radius](properties_CoordinatesAndSizing.md#corner-radius) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Line + +A static line is a decorative object for forms, drawn between two plots. Lines can be horizontal, vertical, or of any angle shapes. + +The design of lines is controlled through many properties (color, line thickness, etc.). + + +### startPoint property +The `startPoint` JSON property defines from which coordinate to draw the line (see example). + +> the `startPoint` property is not exposed in the Property List, where the line drawing direction is visible. + + + +#### JSON Examples: + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "topLeft", //first direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: ![](assets/en/FormObjects/shape_line1.png) + + +``` + "myLine": { + "type": "line", + "left": 20, + "top": 40, + "width": 100, + "height": 80, + "startPoint": "bottomLeft", //2nd direction + "strokeDashArray": "6 2" //dashed + } +``` +Result: ![](assets/en/FormObjects/shape_line2.png) + + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [startPoint](#startpoint-property) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) + +## Oval + +A static oval is a decorative object for forms. Oval objects can be used to draw circular shapes (when [width](properties_CoordinatesAndSizing.md#width) and [height](properties_CoordinatesAndSizing.md#height) properties are equal). + +![](assets/en/FormObjects/shape_oval.png) + +#### JSON Example: + +```code4d + "myOval": { + "type": "oval", //define the type of object + "left": 60, //left position on the form + "top": 160, //top position on the form + "width": 100, //width of the object + "height": 20, //height of the object + "fill": "blue" //define the background color + } +``` + + +#### Supported Properties +[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#class) - [Dotted Line Type](properties_BackgroundAndBorder.md#dotted-line-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color-fill-color) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Line Width](properties_BackgroundAndBorder.md#line-width) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) \ No newline at end of file diff --git a/website/translated_docs/pt/Project/architecture.md b/website/translated_docs/pt/Project/architecture.md index 0328abafded2cb..8f83ae580be225 100644 --- a/website/translated_docs/pt/Project/architecture.md +++ b/website/translated_docs/pt/Project/architecture.md @@ -190,7 +190,7 @@ This folder contains files that memorize user configurations, e.g. break point p This folder contains the components to be available in the project database only. It must be stored at the same level as the Project folder. -> A project database can be used itself as a component: - for development: put an alias of the .4dproject file in the Components folder of the host database. - for deployment: put the component as .4dz file (see [Building a project package](building.md)) in a .4dbase folder, just like with .4db/.4dc files. +> A project database can be used itself as a component: - for development: put an alias of the .4dproject file in the Components folder of the host database. - for deployment: build the component (see [Building a project package](building.md)) and put the resulting .4dz file in a .4dbase folder in the Components folder of the host database. ## Plugins folder