SlideShare a Scribd company logo
Building Applications with
     Eclipse 4.x (e4)

                  |




Lars Vogel        Tom Schindl
About Tom

✤
    CEO BestSolution Systemhaus GmbH

✤
    Eclipse Committer

    ✤
        e4

    ✤
        Platform UI

    ✤
        EMF

✤
    Projectlead: UFaceKit, Nebula

✤   Member of the Architectual Council
About Lars

Works as independent Eclipse and Android Developer
and Trainer


Maintains http://www.vogella.de Java, Eclipse and
Android related Tutorials with ~40 000 visitors per day

Starting to publish (e)books at Amazon
Presentation


                             w
     •     Eclipse e4 Overvie
     •     Model
                              ion
     •     Dependency Inject
      •    Styling
                               r
      •     Compatibility Laye
                                 e4
       •    JavaFX and Eclipse
       •    Q&A
What is the purpose of the
  Eclipse 4.x project?
Eclipse e4 Scope

Make development for
   Eclipse easier
It is not making development
          with easier.

„Normal“ developer should
see no difference, except...
Eclipse 3.x - areas of improvement

                   • Testing

                   • Consistent way to define
                     the UI

                   • Styling the application

                   • Easy way to use OSGI
                     services
If I only had a
consistent view of
the Eclipse
workbench


                 9
The e4 Workbench Model


              • Workbench window
                – Menu with menu items
                – Window Trim, e.g. toolbar
                  with toolbar items
                – Parts Sash Container
                    • Parts
                – Part Stack (CTabFolder)
                    • Parts
                – Handlers
                – Key Bindings
                – Commands
Limits of the e4 application model

• Only models the Application (frame)


                Modeled
               Workbench



              Content of the
            individual Parts not
              included in the
                   model
The e4 Programming Model
Dependency Injection in e4

• JSR 330 compatible injection
  implementation
   – @javax.inject.Inject – Field, Constructor and
     Method
   – @javax.inject.Named
• e4 specific annotations, e.g. @Optional
a
               Jav s
                Clas                        Services are injected
                                        via the the e4
                                        framework

public class ListView {


  @Inject
  private IEclipseContext context;
  @Inject
  private Logger logger;


  @Inject
  public ListView(Composite parent) {
      // ...
e4 CSS Styling
How to enable CSS Styling
Property "cssTheme” for extension point
"org.eclipse.core.runtime.products" selects the initial theme

<extension
        id="product"
        point="org.eclipse.core.runtime.products">
     <product
           application="org.eclipse.e4.ui.workbench.swt.E4Application"
           name="E4 Contacs Demo">
        ....
        <property
              name="cssTheme"
              value="org.eclipse.e4.demo.contacts.themes.darkgradient">
        </property>
        ....
Example CSS
Label {
   font: Verdana 8px;
   color: rgb(240, 240, 240);
}

Table {
   background-color: gradient radial #575757 #101010 100%;
   color: rgb(240, 240, 240);
   font: Verdana 8px;
}

ToolBar {
   background-color: #777777 #373737 #202020 50% 50%;
   color: white;
   font: Verdana 8px;
}
Eclipse 4.2
planned to be
the basis of
Eclipse Juno SDK
4.2 still has some issues

And there will be Eclipse 3.8
e4: Where to go from here:
Eclipse e4 Wiki
http://wiki.eclipse.org/E4



Eclipse 4.2 Application Tutorial – Lars Vogel
http://www.vogella.de/articles/EclipseE4/article.html



Eclipse 4.0 Application Tutorial – Tom Schindl
http://tomsondev.bestsolution.at/2010/07/28/eclipse-4-0-and-tutorial-on-writing-e4-rcp-application-released/
Plugins zur Produkt / Feature
• Fügen sie die folgenden Plugins Ihrem Feature
  hinzu
  – org.eclipse.e4.ui.workbench.addons.swt
  – org.eclipse.equinox.ds
  – org.eclipse.equinox.event
  – org.eclipse.equinox.util
  – org.eclipse.platform
  – org.eclipse.ui.forms
  – org.eclipse.ui.intro

More Related Content

What's hot (20)

PPT
Java Basics for selenium
apoorvams
 
PDF
Beyond Domino Designer
Paul Withers
 
PPTX
Automate Your Data, Free Your Mind by Aaron Swerlein
QA or the Highway
 
PPTX
La vita nella corsia di sorpasso; A tutta velocità, XPages!
Ulrich Krause
 
PDF
Using The Page Object Pattern
Dante Briones
 
PPTX
Provar webinar 15-03-2018
Geraint Waters
 
PPTX
04 managing the database
Марина Босова
 
PPTX
Laravel Tutorial PPT
Piyush Aggarwal
 
PPTX
Practices and Tools for Building Better APIs
Peter Hendriks
 
PPTX
Laravel overview
Obinna Akunne
 
PPT
Ember.js: Jump Start
Viacheslav Bukach
 
PDF
Spring Boot
Eberhard Wolff
 
PPTX
Basic Selenium Training
Dipesh Bhatewara
 
PDF
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
daylerees
 
PDF
Laravel and CodeIgniter: pros & cons
ElenorWisozk
 
PPTX
CPAN Curation
neilbowers
 
DOC
Selenium course syllabus
lakshmipriyaaka
 
PDF
Alloy #DMC13
Fokke Zandbergen
 
PDF
[2015/2016] Apache Cordova
Ivano Malavolta
 
PPTX
Laravel
Dyuti Islam
 
Java Basics for selenium
apoorvams
 
Beyond Domino Designer
Paul Withers
 
Automate Your Data, Free Your Mind by Aaron Swerlein
QA or the Highway
 
La vita nella corsia di sorpasso; A tutta velocità, XPages!
Ulrich Krause
 
Using The Page Object Pattern
Dante Briones
 
Provar webinar 15-03-2018
Geraint Waters
 
04 managing the database
Марина Босова
 
Laravel Tutorial PPT
Piyush Aggarwal
 
Practices and Tools for Building Better APIs
Peter Hendriks
 
Laravel overview
Obinna Akunne
 
Ember.js: Jump Start
Viacheslav Bukach
 
Spring Boot
Eberhard Wolff
 
Basic Selenium Training
Dipesh Bhatewara
 
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
daylerees
 
Laravel and CodeIgniter: pros & cons
ElenorWisozk
 
CPAN Curation
neilbowers
 
Selenium course syllabus
lakshmipriyaaka
 
Alloy #DMC13
Fokke Zandbergen
 
[2015/2016] Apache Cordova
Ivano Malavolta
 
Laravel
Dyuti Islam
 

Similar to Eclipse e4 - Google Eclipse Day (20)

PDF
Eclipse e4
Chris Aniszczyk
 
PDF
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Marakana Inc.
 
PDF
Eclipse 40 - Eclipse Summit Europe 2010
Lars Vogel
 
PPTX
Eclipse e4 on Java Forum Stuttgart 2010
Lars Vogel
 
PPTX
Eclipse Overview
Lars Vogel
 
PPTX
Eclipse 40 and Eclipse e4
Lars Vogel
 
PPT
javagruppen.dk - e4, the next generation Eclipse platform
Tonny Madsen
 
PDF
Developing Rich Clients with the Eclipse 4 Application Platform
Kai Tödter
 
PPTX
Eclipse e4 Overview
Lars Vogel
 
PPT
Eclipse 2011 Hot Topics
Lars Vogel
 
PPTX
Eclipse e4 Tutorial - EclipseCon 2010
Lars Vogel
 
PPT
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Tonny Madsen
 
PPT
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Tonny Madsen
 
PDF
Eclipse 40 Labs- Eclipse Summit Europe 2010
Lars Vogel
 
ODP
Cool stuff in E4 for developers
Mickael Istria
 
ODT
E4 Eclipse Super Force
Kaniska Mandal
 
ODP
Shake that-fud-vrs5
wimjongman
 
PPTX
Experiences from porting a commercial RCP application to Eclipse 4.x
Fredrik Attebrant
 
PDF
Open Source & Eclipse 4
Remain Software
 
PPTX
Eclipse RCP Overview @ Rheinjug
Lars Vogel
 
Eclipse e4
Chris Aniszczyk
 
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Marakana Inc.
 
Eclipse 40 - Eclipse Summit Europe 2010
Lars Vogel
 
Eclipse e4 on Java Forum Stuttgart 2010
Lars Vogel
 
Eclipse Overview
Lars Vogel
 
Eclipse 40 and Eclipse e4
Lars Vogel
 
javagruppen.dk - e4, the next generation Eclipse platform
Tonny Madsen
 
Developing Rich Clients with the Eclipse 4 Application Platform
Kai Tödter
 
Eclipse e4 Overview
Lars Vogel
 
Eclipse 2011 Hot Topics
Lars Vogel
 
Eclipse e4 Tutorial - EclipseCon 2010
Lars Vogel
 
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Tonny Madsen
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Tonny Madsen
 
Eclipse 40 Labs- Eclipse Summit Europe 2010
Lars Vogel
 
Cool stuff in E4 for developers
Mickael Istria
 
E4 Eclipse Super Force
Kaniska Mandal
 
Shake that-fud-vrs5
wimjongman
 
Experiences from porting a commercial RCP application to Eclipse 4.x
Fredrik Attebrant
 
Open Source & Eclipse 4
Remain Software
 
Eclipse RCP Overview @ Rheinjug
Lars Vogel
 
Ad

More from Lars Vogel (20)

PDF
Eclipse IDE and Platform news on Fosdem 2020
Lars Vogel
 
PDF
Eclipse platform news and how to contribute to the Eclipse Open Source project
Lars Vogel
 
PDF
Android design and Custom views
Lars Vogel
 
PDF
How to become an Eclipse committer in 20 minutes and fork the IDE
Lars Vogel
 
PDF
Building beautiful User Interface in Android
Lars Vogel
 
PDF
What is so cool about Android 4.0
Lars Vogel
 
PDF
What is so cool about Android 4.0?
Lars Vogel
 
PDF
Android Jumpstart Jfokus
Lars Vogel
 
PPT
Android C2DM Presentation at O'Reilly AndroidOpen Conference
Lars Vogel
 
PPTX
Android Overview (Karlsruhe VKSI)
Lars Vogel
 
PPTX
Android Introduction on Java Forum Stuttgart 11
Lars Vogel
 
PPT
Google App Engine for Java
Lars Vogel
 
PPTX
Android Cloud to Device Messaging with the Google App Engine
Lars Vogel
 
PDF
Google App Engine for Java
Lars Vogel
 
PPTX
Eclipse 4.0 - Dynamic Models
Lars Vogel
 
PPTX
Android Programming made easy
Lars Vogel
 
PPT
Google App Engine for Java (GAE/J)
Lars Vogel
 
PPTX
Programming Android
Lars Vogel
 
PPT
Beautiful UIs With JFace Databinding
Lars Vogel
 
PDF
Eclipse E4 Open Social Gadgetsvrs3
Lars Vogel
 
Eclipse IDE and Platform news on Fosdem 2020
Lars Vogel
 
Eclipse platform news and how to contribute to the Eclipse Open Source project
Lars Vogel
 
Android design and Custom views
Lars Vogel
 
How to become an Eclipse committer in 20 minutes and fork the IDE
Lars Vogel
 
Building beautiful User Interface in Android
Lars Vogel
 
What is so cool about Android 4.0
Lars Vogel
 
What is so cool about Android 4.0?
Lars Vogel
 
Android Jumpstart Jfokus
Lars Vogel
 
Android C2DM Presentation at O'Reilly AndroidOpen Conference
Lars Vogel
 
Android Overview (Karlsruhe VKSI)
Lars Vogel
 
Android Introduction on Java Forum Stuttgart 11
Lars Vogel
 
Google App Engine for Java
Lars Vogel
 
Android Cloud to Device Messaging with the Google App Engine
Lars Vogel
 
Google App Engine for Java
Lars Vogel
 
Eclipse 4.0 - Dynamic Models
Lars Vogel
 
Android Programming made easy
Lars Vogel
 
Google App Engine for Java (GAE/J)
Lars Vogel
 
Programming Android
Lars Vogel
 
Beautiful UIs With JFace Databinding
Lars Vogel
 
Eclipse E4 Open Social Gadgetsvrs3
Lars Vogel
 
Ad

Recently uploaded (20)

PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 

Eclipse e4 - Google Eclipse Day

  • 1. Building Applications with Eclipse 4.x (e4) | Lars Vogel Tom Schindl
  • 2. About Tom ✤ CEO BestSolution Systemhaus GmbH ✤ Eclipse Committer ✤ e4 ✤ Platform UI ✤ EMF ✤ Projectlead: UFaceKit, Nebula ✤ Member of the Architectual Council
  • 3. About Lars Works as independent Eclipse and Android Developer and Trainer Maintains http://www.vogella.de Java, Eclipse and Android related Tutorials with ~40 000 visitors per day Starting to publish (e)books at Amazon
  • 4. Presentation w • Eclipse e4 Overvie • Model ion • Dependency Inject • Styling r • Compatibility Laye e4 • JavaFX and Eclipse • Q&A
  • 5. What is the purpose of the Eclipse 4.x project?
  • 6. Eclipse e4 Scope Make development for Eclipse easier
  • 7. It is not making development with easier. „Normal“ developer should see no difference, except...
  • 8. Eclipse 3.x - areas of improvement • Testing • Consistent way to define the UI • Styling the application • Easy way to use OSGI services
  • 9. If I only had a consistent view of the Eclipse workbench 9
  • 10. The e4 Workbench Model • Workbench window – Menu with menu items – Window Trim, e.g. toolbar with toolbar items – Parts Sash Container • Parts – Part Stack (CTabFolder) • Parts – Handlers – Key Bindings – Commands
  • 11. Limits of the e4 application model • Only models the Application (frame) Modeled Workbench Content of the individual Parts not included in the model
  • 13. Dependency Injection in e4 • JSR 330 compatible injection implementation – @javax.inject.Inject – Field, Constructor and Method – @javax.inject.Named • e4 specific annotations, e.g. @Optional
  • 14. a Jav s Clas Services are injected via the the e4 framework public class ListView { @Inject private IEclipseContext context; @Inject private Logger logger; @Inject public ListView(Composite parent) { // ...
  • 16. How to enable CSS Styling Property "cssTheme” for extension point "org.eclipse.core.runtime.products" selects the initial theme <extension id="product" point="org.eclipse.core.runtime.products"> <product application="org.eclipse.e4.ui.workbench.swt.E4Application" name="E4 Contacs Demo"> .... <property name="cssTheme" value="org.eclipse.e4.demo.contacts.themes.darkgradient"> </property> ....
  • 17. Example CSS Label { font: Verdana 8px; color: rgb(240, 240, 240); } Table { background-color: gradient radial #575757 #101010 100%; color: rgb(240, 240, 240); font: Verdana 8px; } ToolBar { background-color: #777777 #373737 #202020 50% 50%; color: white; font: Verdana 8px; }
  • 18. Eclipse 4.2 planned to be the basis of Eclipse Juno SDK 4.2 still has some issues And there will be Eclipse 3.8
  • 19. e4: Where to go from here: Eclipse e4 Wiki http://wiki.eclipse.org/E4 Eclipse 4.2 Application Tutorial – Lars Vogel http://www.vogella.de/articles/EclipseE4/article.html Eclipse 4.0 Application Tutorial – Tom Schindl http://tomsondev.bestsolution.at/2010/07/28/eclipse-4-0-and-tutorial-on-writing-e4-rcp-application-released/
  • 20. Plugins zur Produkt / Feature • Fügen sie die folgenden Plugins Ihrem Feature hinzu – org.eclipse.e4.ui.workbench.addons.swt – org.eclipse.equinox.ds – org.eclipse.equinox.event – org.eclipse.equinox.util – org.eclipse.platform – org.eclipse.ui.forms – org.eclipse.ui.intro