Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.1.0 - English


Gridbag Constraints Properties

Description of the gridbag constraints set of properties.

Syntax

constraints = createConstraints("gridbag")
constraints = createConstraints("gridbag", grid)
constraints = createConstraints("gridbag", grid, weight)
constraints = createConstraints("gridbag", grid, weight, fill)
constraints = createConstraints("gridbag", grid, weight, fill, anchor)
constraints = createConstraints("gridbag", grid, weight, fill, anchor, padding)
constraints = createConstraints("gridbag", grid, weight, fill, anchor, padding, preferredsize)

Arguments

grid

[pos_x, pos_y, width, height] a 1-by-4 matrix of double, [0, 0, 0, 0] by default.

pos_x and pos_x are the coordinates of the element on a virtual grid.

width and height are the width and height of the element on the virtual grid.

weight

[weight_x, weight_y] a 1-by-2 matrix of doubles, [0, 0] by default.

The weights applied for the resize on either axes.

A larger value means the element will get more space during resize.

fill

A string

{"none"} | "horizontal" | "vertical" | "both"

Indicates how to fill the available space during resize on either direction (or both).

anchor

A string

{"center"} | "upper" | "upper_right" | "right" | "lower_right" | "lower" | "lower_left" | "left" | "upper_left"

Tells where to anchor the element when it is smaller than the area it is nested in.

padding

[pad_x, pad_y] a 1-by-2 matrix of doubles, [0 0] by default

Padding between this element and elements around it.

preferred_size

[p_size_x, p_size_y] a 1-by-2 matrix of doubles, [-1 -1] by default

Preferred size in pixel when not constrained, used to avoid changing the size when resizing the nesting frame.

constraints

The created constraints.

Examples

//Creates the figure with a gridbag layout
f = figure( ...
"dockable"        , "off",...
"infobar_visible" , "off",...
"toolbar"         , "none",...
"menubar_visible" , "off",...
"menubar"         , "none",...
"default_axes"    , "off",...
"layout"          , "gridbag",...
"visible"         , "on");

redf_grid   = [1, 1, 2, 1]; //Red frame is placed at 1x1 and is a 2x1 rectangle
greenf_grid = [3, 1, 1, 2]; //Green frame is at 3x1 and is a 1x2 rectangle
bluef_grid  = [1, 2, 1, 1]; //Blue frame is at 2x1 and is a 1x1 rectangle
yelf_grid   = [1, 3, 2, 2]; //Yellow frame is at 1x3 and is a 2x2 rectangle
magf_grid   = [3, 4, 1, 1]; //Magenta frame is at 3x4 and is a 1x1 rectangle
cyanf_grid  = [2, 2, 1, 1]; //Cyan is at 2x2 and is a 1x1 rectangle
whitf_grid  = [3, 3, 1, 1]; //White is at 3x3 and is a 1x1 rectangle

c = createConstraints("gridbag",[1, 1, 1, 1], [1, 1], "both", "center", [0, 0], [50, 50]);

c.grid = redf_grid;
u_grid1 = uicontrol(f , ...
"style"               , "frame"                     , ...
"backgroundcolor"     , [1 0 0]                     , ...
"constraints"         , c);

sleep(500);
c.grid = greenf_grid;
c.weight = [0.1,1]; //Last column will fill horizontal space 10 times less thanother columns
u_grid2 = uicontrol(f , ...
"style"               , "frame"                     , ...
"backgroundcolor"     , [0 1 0]                     , ...
"constraints"         , c);

sleep(500);
c.grid = bluef_grid;
c.weight = [1,1];
c.fill = "none" //This will force the blue square to be at the preferred size
u_grid3 = uicontrol(f , ...
"style"               , "frame"                     , ...
"backgroundcolor"     , [0 0 1]                     , ...
"constraints"         , c);

sleep(500);
c.grid = cyanf_grid;
c.fill = "vertical" // this will fill the empty space with cyan vertically
c.anchor = "right" //this will position the cyan stripe on the right
c.padding = [100,0] //this will extend the cyan stripe horizontally up to 100 pixel if space is available
u_grid1 = uicontrol(f , ...
"style"               , "frame"                     , ...
"backgroundcolor"     , [0 1 1]                     , ...
"constraints"         , c);

sleep(500);
c.grid = yelf_grid;
c.fill = "both";
c.anchor ="center";
c.padding = [0,0];
u_grid4 = uicontrol(f , ...
"style"               , "frame"                     , ...
"backgroundcolor"     , [1 1 0]                     , ...
"constraints"         , c);

sleep(500);
c.grid = whitf_grid;
c.weight = [0.1,1]
u_grid1 = uicontrol(f , ...
"style"               , "frame"                     , ...
"backgroundcolor"     , [1 1 1]                     , ...
"constraints"         , c);

sleep(500);
c.grid = magf_grid;
c.weight = [0.1,1]
u_grid5 = uicontrol(f , ...
"style"               , "frame"                     , ...
"backgroundcolor"     , [1 0 1]                     , ...
"constraints"         , c);

Description

This functions creates the gridbag constraints to set the uicontrols constraints attribute.

See also

  • layout — Description of the different layouts and constraints for uicontrols and figures.
  • uicontrol — create a Graphic User Interface object
  • uicontrol_properties — Description of the uicontrol properties.

History

VersionDescription
5.5.0 Function createBorder introduced.
Report an issue
<< Grid Layout Options Properties Layouts Gridbag Layout Options Properties >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jun 17 17:49:17 CEST 2024