Bug 522325 - (Scrolling)Composite not updating when propertypage content changes size
Summary: (Scrolling)Composite not updating when propertypage content changes size
Status: RESOLVED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.8   Edit
Hardware: PC Windows 8
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: api, needinfo, ui, usability
Depends on:
Blocks:
 
Reported: 2017-09-14 15:00 EDT by N247S - CLA
Modified: 2017-12-01 10:32 EST (History)
3 users (show)

See Also:


Attachments
Test class for reproducing the described behavior (3.75 KB, application/octet-stream)
2017-09-14 15:00 EDT, N247S - CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description N247S - CLA 2017-09-14 15:00:57 EDT
Created attachment 270201 [details]
Test class for reproducing the described behavior

I was trying to implement a Property/PreferencePage with dynamic content. But apparently the ScrollingComposite wrapping the Property/PreferencePage is not notified when the Property/PreferencePages content changes its size dynamically.

When the content grows in size, it basically grows out of the shell (not visible) while there is no Scrollbar made visible. If I resize the shell (smaller than the initial size), the ScrollBar will become visible, but only for the initial size instead of the full width.

When the content shrinks in size it won't 'pack' neither parent, which means I can scroll beyond the reach of the controls into emptiness.

Maybe it's worth mentioning that I tested only horizontal growing/shrinking, though I'm pretty sure the same problems are occurring for vertical resizing.

The attached java file creates a quick example of dynamic content. you can hide/reveal columns.



To test shrinking:
1) reveal all 4 columns.
2) reopen the Preference/PropertyPage (so it reloads the page, and therefore resetting its initial size).
3) hide one or more columns.
4) down-size the shell so it becomes smaller than its initial size.

result:
By downsizing the shell you can see the scrolling bar appearing, although there is no content there (appart from the 'unreachable' parents which are managed internally).



To test growing:
1) hide one or more columns.
2) reopen the Preference/PropertyPage (so it reloads the page, and therefore resetting its initial size).
3) unhide/reveal one or more columns.
4) (optional) resizing the shell will reveal that the ScrollingComposite neither grows nor shrinks with the new size of its content.

result:
By down sizing the shell, you can see the scrollBar become vissible, but only for its initialSize.

After unhiding/revealing one or more columns no Scrollbar is made visible, even when the shell rezised (unless its downsized to smaller than its initial size).



Last thoughts; Although the shrinking part may not apear broken, it has the same core flaw as with growing content, which will make content unreachable unless its shell is resized.
Comment 1 N247S - CLA 2017-09-27 14:39:51 EDT
I just tested it with vertical resizing, and it has the same problem. Its actually worse experiancewise, as most people have the space to resize the width, but not really its height, making it mere impossible to create dynamic content.
Comment 2 Vikas Chandra CLA 2017-09-28 08:09:37 EDT
Moving to Platform UI.