Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Scout/Concepts/Layout
Scout |
Wiki Home |
Website |
Download • Git |
Community |
Forums • Blog • Twitter • G+ |
Bugzilla |
Bugzilla |
Scout provides a generic layout on any composite field as:
The layout is mainly related to a grid layout with some additional features as weight related resize behavior and some optimizations reducing the used space. There are currently a horizontal and a vertical implementation of the grid layout.
Contents
Layout properties
Groupbox Properties
The following group box properties affect the layout of the container. So the fields in the container getting layouted respecting the properties.
Config method | Meaning | Default value |
---|---|---|
getConfiguredBodyGrid | The layout orientation vertical vs. horizontal. Scout provides two layout strategies:
|
VerticalSmartGroupBoxBodyGrid.class |
getConfiguredColumnCount | Column count of the layout where child fields are placed in respective to their layout data. | -1 Will be replaced with either the parent groupbox column count or if any of the parent group boxes has a grid column count 2. |
VerticalSmartGroupBoxBodyGrid
The fields are placed in column first in the grid. The number of rows is variable and calculated from the fields and its layout properties placed in this layout. E.g.
Field01 | Field04 | Field07 |
Field02 | Field05 | Field08 |
Field03 | Field06 | Field09 |
HorizontalGroupBoxBodyGrid
The fields are placed in row first in the grid. The number of rows is variable and calculated from the fields and its layout properties placed in this layout. E.g.
Field01 | Field02 | Field03 |
Field04 | Field05 | Field06 |
Field07 | Field08 | Field09 |
Form Field Properties
The form field properties define how a certain form field has to be layout in its container.
Config method | Meaning | Default value |
---|---|---|
getConfiguredGridX | Configures the x position (horizontal) of this field in the logical grid of the surrounding group box. If the value is set to -1, the property will be ignored. If the value is >= 0, it's considered as grid column. This property only has an effect if every field inside the group box has a fix position which means every field
inside the group box need to have x and y to be set which can be configured by |
-1 means no static grid position. |
getConfiguredGridY | Configures the y (vertical) position of this field in the logical grid of the surrounding group box.
If the value is set to -1, the property will be ignored. If the value is >= 0, it's considered as grid row.
This property only has an effect if every field inside the group box has a fix position which means every field
inside the group box need to have x and y to be set which can be configured by </code>getConfiguredGridX()</code> and
|
-1 means no static grid position. |
getConfiguredGridW | Configures the column span of this group box.
The value defined by this property refers to the number of columns defined by the container of this field.
The column count of the container, which actually is the parent group box, can be configured by
|
1 |
getConfiguredGridH | The number of rows the field takes of the parent group box logical layout. | 1 |
getConfiguredGridWeightX | Configures how much a field should horizontally grow or shrink. 0 means fixed width and the grid cell won't grow or shrink. A value > 0 means how much of the extra space the field will take in comparison to other fields in the same row and their getConfiguredGridWeightX values.
Example: A group box with 3 columns contains 3 fields: Every field has gridW = 1 and weightX = -1. This leads to 1 row and 3 grid cells which would grow and shrink proportionally because weightX is automatically set to 1. |
-1 will be set runtimely to 1. |
getConfiguredGridWeightY | desc | |
getConfiguredGridUseUiWidth | desc | |
getConfiguredGridUseUiHeight | desc |
Examples
Grid Weight X Example
public abstract class GroupBox extends AbstractGroupBox { @Override protected int getConfiguredGridColumnCount() { return 2; } @Order(10) public class Field01 extends AbstractStringField { @Override protected String getConfiguredLabel() { return "Field 01"; } @Override protected double getConfiguredGridWeightX() { return 2; } } @Order(20) public class Field02 extends AbstractStringField { @Override protected String getConfiguredLabel() { return "Field 02"; } @Override protected double getConfiguredGridWeightX() { return 0; } } }
Initial | ![]() |
After resizing horizontally | ![]() |
Grid Weight Y Example
public abstract class GroupBox extends AbstractGroupBox { @Override protected int getConfiguredGridColumnCount() { return 1; } @Order(10) public class Field01 extends AbstractStringField { @Override protected String getConfiguredLabel() { return "Field 01"; } } @Order(20) public class Field02 extends AbstractStringField { @Override protected String getConfiguredLabel() { return "Field 02"; } @Override protected boolean getConfiguredMultilineText() { return true; } @Override protected double getConfiguredGridWeightY() { return 2; } } @Order(30) public class Field03 extends AbstractStringField { @Override protected String getConfiguredLabel() { return "Field 03"; } @Override protected boolean getConfiguredMultilineText() { return true; } @Override protected double getConfiguredGridWeightY() { return 4; } } }
Initial | ![]() |
After resizing vertical | ![]() |