Bug 219596 - [hovering][api] AbstractInformationControl must be reused by BrowserInformationControl
Summary: [hovering][api] AbstractInformationControl must be reused by BrowserInformati...
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.4   Edit
Hardware: All All
: P1 normal (vote)
Target Milestone: 3.4 M6   Edit
Assignee: Markus Keller CLA
QA Contact:
URL:
Whiteboard:
Keywords: api
Depends on:
Blocks:
 
Reported: 2008-02-20 09:32 EST by Dani Megert CLA
Modified: 2008-02-28 10:21 EST (History)
2 users (show)

See Also:


Attachments
step 1 (17.98 KB, patch)
2008-02-21 07:22 EST, Benno Baumgartner CLA
no flags Details | Diff
step 1 (19.00 KB, patch)
2008-02-21 09:49 EST, Benno Baumgartner CLA
no flags Details | Diff
step 1.5 (44.66 KB, patch)
2008-02-25 09:40 EST, Markus Keller CLA
no flags Details | Diff
DIC API (5.94 KB, patch)
2008-02-27 07:03 EST, Markus Keller CLA
no flags Details | Diff
Step 3 (64.02 KB, patch)
2008-02-27 20:06 EST, Markus Keller CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dani Megert CLA 2008-02-20 09:32:49 EST
HEAD

The AbstractInformationControl needs to be modified in order to serve as super class for the BrowserInformationControl.
Comment 1 Dani Megert CLA 2008-02-20 09:33:35 EST
Note that the resize grip from the BIC needs to be moved to the AIC.
Comment 2 Benno Baumgartner CLA 2008-02-21 07:22:44 EST
Created attachment 90336 [details]
step 1

First step: Get rid of pop up dialog and move add resize handler from BIC
Comment 3 Benno Baumgartner CLA 2008-02-21 08:01:18 EST
Sorry, bad patch, need to solve this first:
+			data.widthHint= 20;//fgScrollBarSize.x;
Comment 4 Benno Baumgartner CLA 2008-02-21 09:49:39 EST
Created attachment 90349 [details]
step 1
Comment 5 Markus Keller CLA 2008-02-25 09:40:11 EST
Created attachment 90639 [details]
step 1.5

Improvements w.r.t step 1:

- Documented nontrivial implementations of IICE* methods (e.g. that computeSizeConstraints uses dialog font, whether subclasses must extend setFocus(), ...)
- fixed setFocus() such that subclasses usually don't have to extend
- reverted API break (bugs 120547 again)
- only implementeor of setInformation can implement hasContents
- additional text widget styles didn't get through to DIC#createContent(..) (callback in constructor of AIC while DIC's fields not yet initialized)
- removed unnecessary computeTrim(Rectangle)

TODO:
- Implement IInformationControlExtension{2,4}
    - deprecate setInformation(String)?
- Decide on strategy to deprecate constructors of DIC that take styles. This is currently rather messy for clients. Should just support 2 styles (resizable / tooltip-like). Need to decide about whether to use SWT.WRAP (see FIXME in DIC)
Comment 6 Dani Megert CLA 2008-02-26 13:27:13 EST
I've committed a modified version of the patch with new constructors and deprecated the old ones. Also adapted all clients to those new constructors.

Remaining issue: move BIC under the AIC. This is something nice for Markus ;-)
Comment 7 Markus Keller CLA 2008-02-27 07:03:18 EST
Created attachment 90844 [details]
DIC API
Comment 8 Markus Keller CLA 2008-02-27 20:06:21 EST
Created attachment 90952 [details]
Step 3

Addresses all remaining issues.
Comment 9 Dani Megert CLA 2008-02-28 10:21:22 EST
Finally fixed.
Committed slightly modified patch to HEAD.
Available in builds > N20080228-0010.