Automatic resizing by setting anchor points is a GREAT servoy feature.
When resizing a form with a tableview or resizing a portal, all columns are expanded evenly.
This feature is not available for a bunch of fields and labels on a form.
Btw, if you group this bunch, you get group handles and are able to resize the group evenly, but off course only in developer mode…
As several objects have anchor points properties accessible through contextual menu (right-click), would it be possible to add this properties to the group.
If possible, this would add a POWERFULL feature to servoy developement! Off course, group anchors will prevail on element anchors…
We have lots of forms in our current projects where this feature could improve user interface.
This sounds interesting and be a time saver instead of setting them one by one.
I have a few questions. I set anchors for the objects individually then group them and set another anchor for the group. How would Servoy handle conflicts with the objects if they differ?
Would Servoy display an error that some objects’ anchors conflict with the group and ask if the group anchors should override the parts?
raymanj:
This sounds interesting and be a time saver instead of setting them one by one.
Hi raymanj, setting anchors one by one is completely different than to set them for a group. If you set anchors for a group, then all elements should be streched evenly (as columns in a portal are streched currently). If you set them one by one and you have several fields in a row, only one of them can be streched.
raymanj:
I have a few questions. I set anchors for the objects individually then group them and set another anchor for the group. How would Servoy handle conflicts with the objects if they differ?
Group anchors should completely override parts, in any case. In my opinion, there is no interest in parts anchors in such a group.
Application example: Say we have several fields above a portal. If I set portal anchors in order to let it grow in width, today, I have no means to make the above fields grow like the portal. If I could group those fields, the group will let them grow like portal’s columns.
olivier melet:
Hi raymanj, setting anchors one by one is completely different than to set them for a group. If you set anchors for a group, then all elements should be streched evenly (as columns in a portal are streched currently). If you set them one by one and you have several fields in a row, only one of them can be streched.
Ah I see, you don’t just want one style of group anchoring but two.
One for fields in one row that would grow together (i.e. a row of field in a portal).
Select a set of objects, group them and then set them to have the same anchors. Instead of setting them individually.
I agree that we should have group anchors.
olivier melet: Application example: Say we have several fields above a portal. If I set portal anchors in order to let it grow in width, today, I have no means to make the above fields grow like the portal. If I could group those fields, the group will let them grow like portal’s columns.
I thought the portal columns already resize together. I will need to test find out how Servoy handles this. They may do it for portals, but not a list view in the portal area.
raymanj:
Ah I see, you don’t just want one style of group anchoring but two.
I don’t even thought about the second eventuality…
raymanj:
2. Select a set of objects, group them and then set them to have the same anchors. Instead of setting them individually.
Your point 2 can already be done with current interface, if you select several objects, you can set all anchors simultaneously by changing it in parameter field
In fact, I think its better that you try it manually: select a group of objects in layout mode, group these. Then catch an handle and play with it. This is what I want to be able to do with group anchors…
In fact, I think its better that you try it manually: select a group of objects in layout mode, group these. Then catch an handle and play with it. This is what I want to be able to do with group anchors…
Well I played around with Servoy, as you mentioned above. I finally understand what you are getting at.
You want to group objects together so that they move, grow or shrink as one. So that none of the objects in the group will overlap another. If I adjust the hieght of the window all objects, of the group, will grow the same height. If the ogbjects are stacked vertically then the objects below will move down as needed so the ones above will not overlap it.
You are right. Grouping a set of objects in designer mode and resizing the group gives a perfect example of what you are talking about.
This looks like a great feature.
One question popped into mind. What if this group of objects begin to grow and they collide with an objects at is not in the group. Does it stop resizing or does the other object repositions its self?
This is the only problem that I see that may make this feature unusable or could only be used in simple (low object count) forms. This part may make some werid or unpredictable layouts as the user adjust the window.
raymanj:
One question popped into mind. What if this group of objects begin to grow and they collide with an objects at is not in the group. Does it stop resizing or does the other object repositions its self?
Raymanj, you ought to think more object oriented. As the group has one set of anchors, it will behave like any other ‘single’ object when resizing window. It’s up to the form designer to carefully choose which anchors he sets in order to get no overlapping objects.
This is why I think this feature can be added into servoy designer, as grouped objects already behave the ‘right way’ when resizing them manually.
I would like to add my support for this request - I use tab panels with list views extensively and it is currently only possible to have one of the fields expand widthways when the window is resized - I would love to be able to group a set of fields in the list view then set right and left anchores for the group and have them grow as a group when the window is resized without any overlaps!