Changes to Grouping in v1.19

This article describes the changes made to grouping in v1.19.

In version 1.18, Squirrel introduced significant changes to how groups and containers are managed in the designer. The new Alignment options within the Layout and Positioning section established a new origin point (0,0) as soon as components were grouped. However, this change led to some unforeseen issues that impacted many existing projects. In response, the team has been working hard in version 1.19 to address these enhancements from a different perspective.

v1.19 grouping functions similarly to v1.18, with a few changes.

What's changed?

Groups

Groups now operate differently than they did before. They are used at design time to help organize your project, keeping the Component Tree tidy and allowing multiple objects to be moved as a whole on the Canvas. When components are grouped, the height, width, X and Y properties are calculated based on the objects within the group.

NB: You can move the group by inputting new X and Y positions but they cannot be bound to the spreadsheet. Properties that can be bound (dynamically changed at runtime) such as height and width, positioning, and dynamic visibility, are exclusive to the Container grouping method.

Containers

Containers hold all the power when it comes to grouping components. Components can either be placed into Containers by selecting and placing a Container on the canvas and placing them within, or via the newest method.

When components are grouped, the properties panel will have an option to 'Convert to Container':

This will automatically turn the selected group on the canvas into a Container. All components within will keep their relative position (only if not bound), and their X, Y properties will update accordingly.

If a component is bound or has alignment settings applied, a prompt modal will appear to confirm this is the action you wish to take:

Clicking Continue will convert the current selected group into a container, and all components within will adjust their positions relative to the new 'parent' container object.

Components bound to the spreadsheet, or with horizontal or vertical alignment applied, will adjust their position when converted from the group to a container to be relative to the new parent container.

Last updated

Was this helpful?