Bug 74949 - Update flat look to use new eclipse flat look in test editors
Summary: Update flat look to use new eclipse flat look in test editors
Status: CLOSED WONTFIX
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: TPTP (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Bozier jerome CLA
QA Contact:
URL: http://www.eclipse.org/tptp/groups/Ar...
Whiteboard: housecleaned460 closed461
Keywords: Documentation
: 74136 78903 80539 119449 124180 (view as bug list)
Depends on: 73031 119866
Blocks: 100388 119449 135883 148383 175147 175399
  Show dependency tree
 
Reported: 2004-09-24 10:43 EDT by Wayne Ho CLA
Modified: 2016-05-05 11:06 EDT (History)
11 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wayne Ho CLA 2004-09-24 10:43:59 EDT
Eclipse now provides support for flat look editors (FormWidget).  Hyades editors
making use of the flat look should make use of Eclipse platform support for flat
look.
Comment 1 Bianca Jiang CLA 2005-03-07 10:59:19 EST
According to Dr. Dejan Glozic:

"The 'flatUI' is now called Eclipse Forms and is API since Eclipse 3.0. Here 
is the document:

http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/pde-ui-
home/working/EclipseForms/EclipseForms.html
"
Comment 2 Alex Nan CLA 2005-03-14 14:19:16 EST
Right, that's exactly what you need to use in order to enable the "flat look" 
for your editors. You can take a look at the SymptomEditor in the 
org.eclipse.hyades.sdb plugin if you need an example.
Comment 3 Bianca Jiang CLA 2005-03-15 17:11:24 EST
A little background on this enhancement.

According to Eclipse Forms Programming Guide at:
http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/pde-ui-home/working/EclipseForms/EclipseForms.html
"Eclipse Forms is a plug-in that exposes a set of customs widgets and other
supporting classes that were before used as internal to PDE and Update
components. They provide for creating polished, 'Web-like' UIs by modestly
extending SWT and/or manipulating style bits, colors, fonts and other properties
in order to get the desired behavior. This technology was used throughout PDE
multi-page editors and will now be available as public API in Eclipse 3.0."

After investigation of the eclipse forms toolkit and TPTP editor framework,
there are surprising similarities between the two in design and the look they're
 trying to achieve. Specifically, both are achieving: multi-page form editors,
managed forms, column layout in editor forms, use of expandable Sections, "flat"
look without 3D borders, hyperlink text, etc.

Both are achieving the same above-listed goals, but through different
implementations. Before this eclipse forms feature becomes public, Hyades
implemented its own editor framework (mostly in plugin org.eclipse.hyades.ui and
org.eclipse.hyades.test.ui) that is shared by almost all current TPTP editors.
Comment 4 Alex Bernstein CLA 2005-03-16 09:38:02 EST
I have very serious doubts that Eclipse Forms framework can be used 
successfully to accomplish the needs of RPT test editor. Just a quick look 
reveals that there is no support for StyledText in org.eclipse.ui.forms, nor 
for org.eclipse.jface.text.TextViewer. 

StyledText is custom control capable of displaying Unicode characters of many 
languages independent of underlying OS support (this is used throughout RPT 
editor). It is also the type of control created by TextViewer internally for 
managing text data. In turn, TextViewer (and IDocument interface) is required 
for communicating various events (such as SelectionProvider etc) to Eclipse 
platform. Without this ability, RPT (and any other editor) is crippled in its 
ability to support such common things as retargetable action, standard marker 
types (bookmarks, tasks, problems), Find dialog, extraction of selected text 
for Search/Replace dialog and/or anything else the Eclipse platform expects of 
an editor.

In other words, Eclipse provides very good support for and is oriented towards 
Text editors, whereas RPT editor (as are many others) is what is known as Form 
Editor. To make a form editor to *appear* more like a better-understood and 
better-supported Text Editor, a form editor must have most of it's controls be 
managed by corresponded viewers (such as TreeViewer for tree, Table Viewer for 
table, and TextViewer/IDocument for text fields). Without that, the contents of 
any form-based editor are the black-box for Eclipse platform.

Comment 5 Bianca Jiang CLA 2005-03-16 17:20:02 EST
Per discussion with Wayne and Joe on 3/15/05, we're marking TPTP editor classes
in *public* (not internal) packages as deprecated as a warning that external
tool vendors should not extend them for Eclipse Forms support.

Added in class Javadoc:
@deprecated 
<p>The implementation of this class is not based on Eclipse Forms(a.k.a. "flat"
look) framework that was made available publically in Eclipse 3.0. If you would
like your editor(s) to be built with the Eclipse Forms technology, this is NOT
the class to extend. To know more about Eclipse Forms: <br>
<a
href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/pde-ui-home/working/EclipseForms/EclipseForms.html">Eclipse
Forms Programming Guide</a>
</p>

Affected classes:
org.eclipse.hyades.ui.editor.EditorExtension
org.eclipse.hyades.test.ui.editor.extension.BaseEditorExtension
org.eclipse.hyades.test.ui.editor.extension.TestSuiteEditorExtension
org.eclipse.hyades.test.ui.editor.form.TestCasesForm
org.eclipse.hyades.test.ui.editor.form.TestContextOverview
org.eclipse.hyades.test.ui.editor.form.util.EditorForm
org.eclipse.hyades.test.ui.editor.form.util.EditorSection
org.eclipse.hyades.test.ui.editor.form.util.NamedElementSection
org.eclipse.hyades.test.ui.editor.form.util.NamedElementsSection
org.eclipse.hyades.test.ui.editor.form.util.TestObjectiveSection
org.eclipse.hyades.test.ui.editor.form.util.WidgetFactory
Comment 6 Alex Bernstein CLA 2005-03-17 08:18:21 EST
Somebody needs to make sure the New Forms APIs are enhanced to support 
StyledText, TextViewer and SashForm. The support can be made in the Forms 
packages themselves or in Hyades code through inheritance. 

Unless this support exists, the Forms APIs are useless to RPT.
Comment 7 Bianca Jiang CLA 2005-04-07 17:37:38 EDT
*** Bug 80539 has been marked as a duplicate of this bug. ***
Comment 8 Bianca Jiang CLA 2005-04-08 15:26:36 EDT
[sizing = 6~8 weeks]
Comment 9 Bianca Jiang CLA 2005-04-08 15:33:12 EDT
[sizing = 8 weeks]

Updated design doc.  This estimation includes:

1) extend existing Eclipse Forms API to support more controls (eg. StyledText,
TextViewer, SashForm) that is required by TPTP editors as well as underlying
products. This can take 1 ~ 2 person weeks for investigation, coding and testing.

2) transform current TPTP editors to use the new Forms API. This means rewrite
the editor implementation but not re-design them. This can take 4 ~ 5 person
weeks for coding and testing. 

3) documentation impact with screen shots. 1 person week.
Comment 10 Joe Toomey CLA 2005-04-12 10:31:58 EDT
Deferred per replan.
Comment 11 Harm Sluiman CLA 2005-04-13 14:54:01 EDT
Downstream products no longer require and have withdrawn request. We should 
review further to determine if needed in future release.
Comment 12 Bianca Jiang CLA 2005-05-09 17:31:25 EDT
*** Bug 74136 has been marked as a duplicate of this bug. ***
Comment 13 Ruth Lee CLA 2005-07-12 10:46:14 EDT
Deferring from 4.1 as per the official 4.1 enhancement plan.
http://eclipse.org/tptp/home/project_info/featureplans/features.php?source=All&project=All&release=4.1&file=TPTPFeatures_4.1.xml
Comment 14 Bianca Jiang CLA 2006-01-24 10:33:43 EST
*** Bug 78903 has been marked as a duplicate of this bug. ***
Comment 15 Jerome Gout CLA 2006-02-17 04:20:42 EST
*** Bug 124180 has been marked as a duplicate of this bug. ***
Comment 16 Bianca Jiang CLA 2006-08-21 10:28:16 EDT
*** Bug 119449 has been marked as a duplicate of this bug. ***
Comment 17 Paul Slauenwhite CLA 2007-02-12 12:36:11 EST
Correcting version for this enhancement (defaulting to the current release).  See http://www.eclipse.org/tptp/home/documents/process/development/bugzilla.html for more information.
Comment 18 Paul Slauenwhite CLA 2007-02-12 12:40:43 EST
Correcting version for this enhancement (defaulting to the current release).  See http://www.eclipse.org/tptp/home/documents/process/development/bugzilla.html for more information.
Comment 19 Paul Slauenwhite CLA 2007-02-12 13:04:45 EST
Correction: Future is a valid version for this enhancement based on http://www.eclipse.org/tptp/home/documents/process/development/bugzilla.html.  As such, the implicit assumption is that is enhancement is of a lower priority.  If incorrect, the originator should correct the version.
Comment 20 Paul Slauenwhite CLA 2007-03-14 14:28:12 EDT
Updating target to future as requested by the PMC.  

Enhancements are targeted to future if not in plan for the current release.
Comment 21 Paul Slauenwhite CLA 2007-03-19 12:35:29 EDT
See https://bugs.eclipse.org/bugs/show_bug.cgi?id=175399#c5 for an additional requirement.
Comment 22 Paul Slauenwhite CLA 2007-03-19 12:36:19 EDT
*** Bug 175399 has been marked as a duplicate of this bug. ***
Comment 23 Paul Slauenwhite CLA 2007-11-05 12:00:58 EST
Correcting priority since not a 4.5 candidate enhancement (see http://www.eclipse.org/tptp/home/documents/process/development/bugzilla.html).
Comment 24 Paul Slauenwhite CLA 2009-06-30 06:29:09 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As such, TPTP is not delivering enhancements. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement is resolved as WONTFIX. For this enhancement to be considered, please re-open with an attached patch including the Description Document (see http://www.eclipse.org/tptp/home/documents/process/development/description_documents.html), code (see http://www.eclipse.org/tptp/home/documents/resources/TPTPDevGuide.htm), and test cases (see http://www.eclipse.org/tptp/home/documents/process/TPTP_Testing_Strategy.html).
Comment 25 Paul Slauenwhite CLA 2009-06-30 06:56:37 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As such, TPTP is not delivering enhancements. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement is resolved as WONTFIX. For this enhancement to be considered, please re-open with an attached patch including the Description Document (see http://www.eclipse.org/tptp/home/documents/process/development/description_documents.html), code (see http://www.eclipse.org/tptp/home/documents/resources/TPTPDevGuide.htm), and test cases (see http://www.eclipse.org/tptp/home/documents/process/TPTP_Testing_Strategy.html).
Comment 26 Alex Bernstein CLA 2009-07-07 15:09:46 EDT
In my view, porting existing TPTP code to FormsUI should include the following (and this is rather rough description; I am sure there are quirks I have not thought about):

1. Writing new WidgetFactory and FormWidgetFactory classes, that would subclassed from Forms' FormToolkit class. Most of [RPT] editors use these classes to create widgets and lay them out in the UI. If we could keep the names of the new factories the same, and also maintain method signatures, the impact on the client code should not be too big.

2. The same goes for the TPTP UI code that builds the editor presentation space, i.e. EditorForm and EditorSection classes. FormsUI offers its own implementations of classes with similar if not identical purpose. Therefore, Forms' classes should be used to build the editor's UI, before the control is passed to the client code.

All for this makes sense of course, if TPTP want to continue to offer libraries for building UI. There is a separate issue here, related to the existence and use of IEditorExtension mechanisms. If we want to break away from these (and I think we should) then porting the UI to FormsUI in TPTP probably does not make much sense, as it will not decouple product code from TPTP UI subsystem.
Comment 27 Paul Slauenwhite CLA 2009-07-08 07:40:51 EDT
(In reply to comment #26)
> In my view, porting existing TPTP code to FormsUI should include the following
> (and this is rather rough description; I am sure there are quirks I have not
> thought about):
> 
> 1. Writing new WidgetFactory and FormWidgetFactory classes, that would
> subclassed from Forms' FormToolkit class. Most of [RPT] editors use these
> classes to create widgets and lay them out in the UI. If we could keep the
> names of the new factories the same, and also maintain method signatures, the
> impact on the client code should not be too big.
> 
> 2. The same goes for the TPTP UI code that builds the editor presentation
> space, i.e. EditorForm and EditorSection classes. FormsUI offers its own
> implementations of classes with similar if not identical purpose. Therefore,
> Forms' classes should be used to build the editor's UI, before the control is
> passed to the client code.
> 
> All for this makes sense of course, if TPTP want to continue to offer libraries
> for building UI. There is a separate issue here, related to the existence and
> use of IEditorExtension mechanisms. If we want to break away from these (and I
> think we should) then porting the UI to FormsUI in TPTP probably does not make
> much sense, as it will not decouple product code from TPTP UI subsystem.
> 

Thanks Alex!

I have updated the sizing estimates for this enhancement to 3 PW and refactored the description document based on your comments.  

Once the consuming product determines if they need this enhancement, please reopen.
Comment 28 Paul Slauenwhite CLA 2009-09-24 15:00:34 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since the originator of this enhancement/defect has an inactive Bugzilla account and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.