Bug 498224 - Follow-up items for SWT layout spy
Summary: Follow-up items for SWT layout spy
Status: RESOLVED WONTFIX
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.7   Edit
Hardware: PC Linux
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: PDE-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2016-07-20 13:49 EDT by Stefan Xenos CLA
Modified: 2020-11-30 07:16 EST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Xenos CLA 2016-07-20 13:49:34 EDT
There were several suggested features that didn't make it into the initial version of the SWT layout spy, and after testing I've discovered some follow-up items that should be addressed.

I'm recording them here so that I can follow up on them.

- Suppress warning about controls outside parent bounds for the immediate children of scrollable controls.
- Warn about scrollable controls embedded within other controls that are scrollable in the same dimension.
- Warn about missing width hint on wrapping controls
- Warn about wrapping controls without horizontal fill alignment
- Warn about controls with missing width hints + fill alignment which contain user-editable content (text boxes, etc).
- Controls with the incorrect layout data type.
- Warn about missing fill alignment on interior layout nodes.

Also, we should add a diagnostics button which performs a set of tests on the selected widget:

- Controls that return a different value from computeSize(true) than computeSize(false), indicating a stale cache.
- Controls which reposition any child more than once per layout pass.

Finally, we should write a step-by-step guide for using the layout spy to correct layout problems. 

The process is basically:

1. Use Select Control to click on the control with a problem, or something near it.
2. Navigate the widget hierarchy until you've found a layout whose bounds is correct (the red rectangle) with a child that has incorrect bounds (the yellow rectangle).
3. Look for any warning messages in either the layout pane or the child pane. They may locate the bug.
4. Look at the results of computeSize. If the result of computeSize is correct, the problem is in the parent layout or its attributes. Otherwise, the problem is in the child widget.
Comment 1 Stefan Xenos CLA 2016-07-20 13:51:59 EDT
Also: Warn about modal shells with null parents.
Comment 2 Stefan Xenos CLA 2016-07-20 13:53:07 EDT
Also: Add some help to the page.
Comment 3 Stefan Xenos CLA 2016-07-20 13:59:58 EDT
Note: these are all missing features, not bugs.
Comment 4 Lars Vogel CLA 2020-11-30 07:16:45 EST
Please reopen if you plan to work on this.