Change in size/position of element triggers undesirable size/position change to other elements

eggroll shared this problem 1 year ago
In Progress

I have a vertical scrolling dynamic panel that contains a number of horizontal scrolling dynamic panels, each which contains a data grid. For each horizontal panel, I have a large version and a small version, one of which is hidden. On the left side of the screen, before each horizontal panel, I have text rotated 270 degrees which serves as a label for the panel, also in a large size and a small size. When one of these labels is tapped, it toggles the size of its associated horizontal panel and the other horizontal panels move up or down accordingly.

In sizing and positioning everything in a way that maintains alignment, regardless of which horizontal panels have their large versions or small versions visible, I'm encountering strange behavior. If I change the size or position of an element, I'll find that this change has somehow triggered an undesirable change in size or position of one or more other elements, usually only a pixel or two, but enough to then throw of the ultimate alignment I'm looking to achieve. This ends up being a cyclical frustration where getting one thing aligned has now taken something else out of alignment.

I can only think of three possible sources of the problem I am having:

  1. Rotated text affects the alignment of elements in an unintuitive way. I'm not sure why, when text is rotated, the values used to position it vertically and horizontally don't reflect the fact that it has been rotated. To align a 100px by 31px text box that has been rotated 270 degrees to the left side of the screen requires a left position of -33px and a top position of 34px. Huh? Intuitively it would be 0px and 0px. The translation should be invisible to the user.
  2. Element dimensions and positions are connected in a way I'm not aware of. I can change the width of an element and this can trigger an undesirable change to its top or left setting. Or I click on the incrementing or decrementing arrow for one of the size or position settings and it increments or decrements in multiples of two. I can directly enter the actual desired value, but that is often the value that ends up being changed by the application when I make an adjustment to another setting.
  3. There is a bug in the application where changes to a dimension or position setting is triggering changes to other dimension and position settings, but should not be.

Have you seen this type of behavior before? Is there a solution or is it something I"m doing or not understanding? Any help would be greatly appreciated.

Tim

Comments (2)

photo
1

Hi there,


Apologies for the late response. We've been trying to replicate this but haven't had any luck yet. If possible, can you attach the .vp file in which this occurs here, or, if its content is sensitive, send it to jim.support@justinmind.com?


Best,

Danielle

photo
1

Thanks for the response. The scenario where it happens is a little hard to recreate, although the basic setup where I encountered it was in trying to get a horizontal scrolling dynamic panel containing a data grid to display an exact number of records, fitting perfectly on the screen, starting from a rotated label on the left to the right side of the screen. I would alternately adjust grid spacing and data record size in an attempt to achieve the exact fit. It was in these adjustments that I would see other size/position settings changing in reaction to my intentional change of another setting.

I ended up structuring things differently, which seems to have avoided the issue. For me, the solution was using a data grid with no spacing and creating the illusion of space using white borders on the individual data records. While this is not necessarily a solution for those who have a background behind their data grid that they want to show through, it works for my current design. Also, I now have a better understanding of how to position rotated type, but ultimately I'm not sure that was a factor in the issue.

Perhaps keep this in mind should another user encounter this issue to help confirm whether or not it is an actual issue or just me.

I would, however, suggest having JIM do some position translation occur behind the scenes for rotated type so that the values used in positioning rotated type are more intuitive. For example, a text box with a width of 60px and a height of 30px rotated either 90 degrees or 270 degrees should have user-input position settings identical to that of a rectangle that has a width of 30px and a height of 60px.

Cheers!