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

Bug 345184

Summary: Swing: SwingScoutRootFrame should adhere Java LAF
Product: z_Archived Reporter: Adrian Moser <trekking09>
Component: ScoutAssignee: Claudio Guglielmo <claudio.guglielmo>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: claudio.guglielmo, daniel.wiehl, zimmermann
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Adrian Moser CLA 2011-05-09 14:40:13 EDT
Build Identifier: Scout Runtime 3.7.0.201105080711

The root frame does not adhere the current Java Look and Feel. The root frame of Scout looks always the same (light-blue with white-orange tabs).

The root frame should adhere the Java Look and Feel.

Forum Thread:
http://www.eclipse.org/forums/index.php/t/208396/

Reproducible: Always

Steps to Reproduce:
1. Create Scout Application
2. Add an outline to
3. Start ui.swing client
Comment 1 Matthias Zimmermann CLA 2011-05-12 05:34:45 EDT
to be verified for indigo sr1
Comment 2 Matthias Zimmermann CLA 2011-06-28 07:59:40 EDT
scheduled for scout juno release
Comment 3 Daniel Wiehl CLA 2011-11-07 07:48:32 EST
Problem:
There is no distinct separation among the different Look And Feels. In practice, if using a L&F other than Rayo or Orson, some widgets (e.g. the header panel) partly look like Rayo, but not like the installed L&F.
Solution:
Scout should completely adhere the installed L&F.

To solve this ticket, some major changes where necessary to the SwingScoutRootFrame, SwingScoutToolBar and its attached controls. Also, all Scout specific icons are moved from the org.eclipse.scout.rt.client Plug-In to the respective UI / L&F Plug-Ins to conform the UI.

Changes:
  - Generally, icons in Scout are strongly referenced by their icon identifier defined in SwingIcons#XX, SwtIcons#XX, RwtIcons#XX or AbtractIcons#XX.
  - Icons are moved from org.eclipse.scout.rt.client to the respective UI Plug-Ins. The Swing and SWT Plug-In only contain OpenSource specific icons whereas L&F fragments L&F specific ones.
  - org.eclipse.scout.rt.ui.swing does not contain any Rayo / Orson specific UI definitions anymore. Those are outsourced to the respective L&F Plugins.
  - ISwingEnvironment is extended to install a custom NavigationWidgetPanel, ViewTabsBar and ToolTabsBar specific to the L&F. The default implementation does not draw these elements anymore, but uses native controls instead.
  - Added extension point *.scouticons to every UI Plug-in to easily replace Scout default icons like window, tray or navigation icons.
  - Scout icons which cannot be configured in application (by respective getConfigured method) are fetched by the UI Activator, not the environemnt anymore. Now, Swing and SWT behave the same way. Those icons can be replaced by the *.scouticons extension point.
  - Rayo and Orson have a different JTextWithFieldTransparentIcon to meet L&F specific requirements.
  - Rayo and Orson have a different DateField / TimeField to meet L&F specific requirements.
  - Rayo and Orson have a different ActionInjection / UIDefaultsInjector to meet L&F specific requirements.
  - Moved and renamed legacy UI classes to org.eclipse.scout.rt.ui.swing.orson as they only belong to Orson L&F.
  - added icons for Orson L&F to org.eclipse.scout.rt.ui.swing.laf.orson.fragment
  - added icons for Orson L&F to org.eclipse.scout.rt.ui.swing.laf.rayo.fragment
  - created Plug-In org.eclipse.scout.rt.ui.swing.orson to meet Orson specific requirements such as actions, formfields and Swing environment.

Migration:
- Icons as CheckboxYes and CheckboxNo were removed from AbstractIcons. If required, add them to your project specific icons in your client Plug-In.
- Product specific icons were removed from Scout UI Plug-Ins and must be installed in project yourself. Thereto, copy icons attached to this mail (window16.png, window32.png, window48.png, window256.png, tray.gif) into your Swing Plugin, e.g. /resources/icons. If folder does not exist yet, create it and register it in build.properties to be exported for production. Open plugin.xml of Swing Plug-In and register those icons in extension org.eclipse.scout.rt.ui.swing.scouticons.  
- Names of some icons in AbstractIcons were changed to gain consistency in naming: e.g. AbstractIcons.TimeFieldTime -> AbstractIcons.DateFieldTime, AbstractIcons.File -> AbstractIcons.FileChooserFieldFile
Comment 4 Claudio Guglielmo CLA 2011-11-11 08:17:35 EST
Fix verified.

The root frame now looks well for the different Look&Feels (scout 3.8.0).
Comment 5 Matthias Zimmermann CLA 2012-07-09 06:47:44 EDT
ticket closed.
deliverd as part of eclipse scout 3.8.0 (juno release train)