Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 329115

Summary: Support more details link for long descriptions
Product: z_Archived Reporter: Konstantin Komissarchik <konstantin>
Component: SapphireAssignee: Ling Hao <ling.hao>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P3 Keywords: plan
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Scren Capture - Long Popup none

Description Konstantin Komissarchik CLA 2010-10-29 16:49:07 EDT
In some situations, the description text for say a section gets a bit long.
The approach we've adopted is to include the summary in the section and then
add section level help content. This adequate, but may not be as intuitive as
say a "More details..." link at the end of the on-screen description text
with that pops up a tooltip-style window with complete information.
Comment 1 Konstantin Komissarchik CLA 2010-10-29 16:49:28 EDT
From Ling Hao:
--------------

Added a break token to denote when "More details..." link should be
activated.

Also added base Popup with improved UI (rounded corner and gradient
background) that is used for this fix and also for Sapphire info popup. This
fix also includes the patch submited for Bugzilla – Bug 284393. Without this
patch, the background of the text is grey instead of transparent.
Comment 2 Konstantin Komissarchik CLA 2010-10-29 16:49:42 EDT
Good start, but some more work is required...

1. I'd like to see more condensing of code copied from Mylyn. It appears that
there we aren't using a chunk of it (title area and close button is one
example). Let's get rid of parts that we aren't using. Classes like
CommonFonts and SwtUtil look suspect. I'd like to see a single class file
with all the code for rendering a gradient popup. Hide as much of its
implementation detail as possible in private methods and classes. Don't be
afraid to refactor Mylyn code.

2. All of this code should move to ui.swt package.

3. DescriptionPopup should use FormText (accessibility) and should be
generalized so it doesn't appear tied to showing descriptions. Probably just
a naming issue. Perhaps TextPopup?

4. AbstractNotifactionPopup should probably become AbstractPopup. The
notifaction part is specific to how Mylyn is using this.

5. There big margin disparity between the description popup and assist popup.
One looks too narrow, the other looks too wide. Pick something in the middle
and make them consistent.

6. There is a problem with location of the popup when the UI is shown on the
second monitor. I remember fixing this issue in the assist dialog code, so
compare with the original code.

7. Shift-Control-Alt-I activates the assist dialog when focus is on a
property editor control. It supposed to show up in a fixed location relative
to the assist marker. It now shows up under the mouse pointer.
Comment 3 Konstantin Komissarchik CLA 2010-10-29 16:49:55 EDT
Thanks. Doing good. A few more items:

1. At this point, you've probably changed original Mylyn code sufficiently
that you should fix the header to list yourself primarily as the author and
make a note about the origin of this code. In particular, Benjamin isn't the
maintainer of this class.

2. Please cleanup the warnings in AbstractPopup class.

3. It looks like there is a remnants of a close Job that doesn't do anything.
Please remove.

4. The TextPopup stretched until the edge of the window for me, which made it
look far too long. The TextPopup should have a maximum width it is allowed to
stretch to... Actually it looks like it's trying to set max width, but it
isn't working.

5. Please take another pass through AbstractPopup to remove code that's not
used. For instance, respectDisplayBounds/respectMonitorBounds. I am sure that
there is more. Let's get this class as lean as possible.

6. Looking at other classes in the same package, let's align these with the
naming convention in use: AbstractPopup -> SapphirePopup; TextPopup ->
SapphireTextPopup.

7. Your contribution needs to be listed in SapphireSection class.
Comment 4 Konstantin Komissarchik CLA 2010-10-29 16:50:02 EDT
On #4 above, there is probably a conflict between logic in TextPopup and
logic in AbstractPopup.
Comment 5 Konstantin Komissarchik CLA 2010-10-29 16:50:18 EDT
From Ling Hao:
--------------

On #4, Can't reproduce, but I made a minor tweak to the the width
calculation, not sure if it fixed what you are seeing.
Comment 6 Konstantin Komissarchik CLA 2010-10-29 16:50:32 EDT
You missed #7. I made some tweaks and checked in CL1361737. Take a look at
the changes I made to copyright headers in SapphirePopup, but especially in
SapphireSection and PropertyEditorAssistDialog. It is very important that all
work that you do is properly attributed to you. This will come up during the
IP review and will be necessary to document the basis of your committer
status. Please go through all your checkins to the M2 branch and make sure
that you've attributed your contribution to every file you touched. Follow
the pattern that I've established with reference to a bug. At contribution
time, we will replace bug db numbers with bugzilla numbers.
Comment 7 Konstantin Komissarchik CLA 2010-10-29 16:51:24 EDT
Created attachment 182087 [details]
Scren Capture - Long Popup

I attached a screen capture that illustrates what I am referring to with #4
above. I am still seeing that problem.
Comment 8 Konstantin Komissarchik CLA 2010-10-29 16:51:38 EDT
From Ling Hao:
--------------

4. I've now set a maximum width for the popup dialog.
Comment 9 Konstantin Komissarchik CLA 2010-10-29 16:51:45 EDT
This needs a minor additional improvement. It looks like the popup is
positioned relative to the section description control. It would look more
natural to position it relative to the more details link or the mouse pointer.
Comment 10 Konstantin Komissarchik CLA 2010-11-16 12:19:38 EST
Marking as fixed.
Comment 11 Konstantin Komissarchik CLA 2010-12-15 15:18:36 EST
Verified via gallery sample (Simple Values section). The "More details..." link is present in section description. Clicking on the link opens a floating window with complete description.