Download presentation
Presentation is loading. Please wait.
Published byNathaniel Green Modified over 9 years ago
1
Copyright © IBM Corp., 2008. All rights reserved. Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, and more Benjamin Pasero
2
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Goal for Today: Pimping the Mail Template First Part Custom SWT Widgets Custom Owner Drawn using latest 3.4 API Rich Tooltips with JFace Second Part Custom Presentation Product Transformation Custom Splash Handler
3
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Setup Eclipse 3.4 and the Mail Template Make sure to use Eclipse 3.4 M5 Create a new Plug-in Project From the Templates choose RCP Mail Template Open the plugin.xml Execute Launch an Eclipse application The UI is nice, but we can do better!
4
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Using the PShelf Widget from Nebula The Nebula Project: http://www.eclipse.org/nebula/ Official source for custom SWT Widgets Examples Grid Gallery GanttChart PShelf CDateTime
5
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Writing our own Custom Widget SWT:Two strategies Custom Widget by extending Canvas Custom Compound Widget by extending Composite Goal: Simple Link Widget that supports Image and Text Features Looks and behaves like a real link Listener for handling selection Keyboard Accessibility
6
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Custom Owner Drawn Inbox New JFace-API in Eclipse 3.4: SimpleStyledCellLabelProvider Use it to have mixed styles per Table- or Treeitem Hides complexity of custom owner drawn Mixed fonts not yet supported We want to draw the number of unread Mails Using a different Color We want to highlight Folders Using an Underline
7
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Rich Tooltips using JFace JFace makes it easy to add rich tooltips to Viewers CellLabelProvider provides API to define the custom Tooltip Text and Image Foreground and Background color We want to preview a Mail by using a rich tooltip:
8
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Custom Mail Presentation: Large and In Charge Presentations allow to make our RCP app not look like Eclipse Eclipse offers extension points to add our own Presentation org.eclipse.ui.presentationFactories org.eclipse.ui.themes Goal for our Presentation Large Round Tabs Close Button will be a red Arc Foundation for our Product Transformation with large Icons
9
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved.
10
Product Transforms Presentations allow for extreme customization but some things are beyond their reach Themes can allow for an additional axis of customization but they don't cover images Time to break out the chainsaw and apply some product transforms Remove/modify extensions from plugins outside of your control Swap in new icon sets Help available: http://wiki.eclipse.org/Equinox_Transforms
11
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Our Mail Transformation in a Nutshell We register a framework extension that OSGI loads on startup org.eclipse.equinox.transforms.hook We register a Service for the transformation with some properties Use the ReplaceTransformer Use transform.csv for the replacement We ensure early startup using a custom config.ini for org.mailtemplate.transform org.eclipse.equinox.transforms.replace
12
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Custom Splash Screen Using the org.eclipse.ui.splashHandlers Extension Point Getting full control of the Shell that is used for the Splash on startup Let’s have a look at the available templates Adding product images Simulated session log-in Embedded Browser (?)
13
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Pointers & References Eclipse Corner Articles: http://www.eclipse.org/articles/ Eclipse Wiki: http://wiki.eclipse.org Eclipse SWT Snippets: http://www.eclipse.org/swt/snippets/ Examples: http://www.eclipse.org/swt/examples.php Community: http://www.eclipse.org/swt/community.php The Nebula Project http://www.eclipse.org/nebula/
14
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Thanks for listening and attending! E-Mail: bpasero@rssowl.org
15
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Legal Notices (1/2) Copyright © IBM Corp., 2008. All rights reserved. This presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. IBM and the IBM logo are trademarks or registered trademarks of IBM Corporation, in the United States, other countries or both. Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both. OSGi is a trademark or registered trademark of the OSGi Alliance in the United States and other countries. Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc. Other company, product and service names may be trademarks or service marks of others.
16
Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More | Copyright © IBM Corp., 2008. All rights reserved. Legal Notices (2/2) THE INFORMATION DISCUSSED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION, IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, SUCH INFORMATION. ANY INFORMATION CONCERNING IBM'S PRODUCT PLANS OR STRATEGY IS SUBJECT TO CHANGE BY IBM WITHOUT NOTICE.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.