| Summary: | tabbed property view section is not layout correctly based on aftersection specification | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Charles Chen <chyhx> |
| Component: | UI | Assignee: | Platform-UI-Inbox <Platform-UI-Inbox> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | CC: | curtis.windatt.public |
| Version: | 4.3 | Keywords: | helpwanted |
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | stalebug | ||
Moving to Platform UI and reducing the severity. The Platform UI team is very busy with the 4.3 release so I don't think this can be looked at currently. You seem to have a good handle on what is causing the problem. Would you consider contributing a patch? I would be happy to review it, though it may have to wait until 4.4. This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. If the bug is still relevant, please remove the stalebug whiteboard tag. |
I'm using tabbed properties view and run into this problem: the property view sections are not layout correctly based on afterSection specification when the extension point definition scattered in different bundles. the extension point i use is org.eclipse.ui.views.properties.tabbed.propertySections. After looking into class TabDescriptor, here is my simple understanding: the behavior of the sorter method is depending on the sequence of reading the section configuration. assuming that there is an existing section C which is after section A, you want to insert section B: 1. if read section C's configuration first, the result will be B->C-A, which is wrong; 2. if read section A's configuration first, the result will be A->B->C, which is expected; TabDescriptor.java package org.eclipse.ui.internal.views.properties.tabbed.view; ... /** * Represents the default implementation of a tab descriptor on the tabbed * property tabs extensions. * * @author Anthony Hunter */ public class TabDescriptor extends AbstractTabDescriptor { ... /** * Insert the section descriptor into the section descriptor list. * * @param target * the section descriptor to insert. * @return <code>true</code> if the target descriptor was added to the * descriptors list. */ private boolean insertSectionDescriptor(ISectionDescriptor target) { if (target.getAfterSection().equals(TOP)) { getSectionDescriptors().add(0, target); return true; } for (int i = 0; i < getSectionDescriptors().size(); i++) { ISectionDescriptor descriptor = (ISectionDescriptor) getSectionDescriptors() .get(i); if (target.getAfterSection().equals(descriptor.getId())) { getSectionDescriptors().add(i + 1, target); return true; } else if (descriptor.getAfterSection().equals(target.getId())) { getSectionDescriptors().add(i, target); return true; } } return false; } ... } Could anyone help on this issue ASAP? A consistent properties view layout is important for us to avoid confusing customers.