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
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Marakana Inc.
 
PDF
Eclipse e4
Chris Aniszczyk
 
PDF
Eclipse 40 - Eclipse Summit Europe 2010
Lars Vogel
 
PPTX
Eclipse Overview
Lars Vogel
 
PPTX
Eclipse 40 and Eclipse e4
Lars Vogel
 
PPTX
Eclipse e4 on Java Forum Stuttgart 2010
Lars Vogel
 
PPTX
Eclipse e4 Overview
Lars Vogel
 
PPT
Eclipse 2011 Hot Topics
Lars Vogel
 
PDF
WebObjects Developer Tools
WO Community
 
PDF
APEX Application Lifecycle and Deployment 20220714.pdf
Richard Martens
 
PDF
[meetup] Mastering Java enhancements like a Pro: practical design patterns an...
Miro Wengner
 
PPTX
Csharp introduction
Sireesh K
 
PPTX
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
Chalermpon Areepong
 
PPTX
Selenium web driver_2.0_presentation
sayhi2sudarshan
 
PPTX
Introduction to the Managed Extensibility Framework in Silverlight
Jeremy Likness
 
PPT
The Nuxeo Way: leveraging open source to build a world-class ECM platform
Nuxeo
 
PPTX
Eclipse RCP 4
Fredrik Attebrant
 
PDF
01 web-apps
Aravindharamanan S
 
PDF
01 web-apps
snopteck
 
PDF
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
WO Community
 
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Marakana Inc.
 
Eclipse e4
Chris Aniszczyk
 
Eclipse 40 - Eclipse Summit Europe 2010
Lars Vogel
 
Eclipse Overview
Lars Vogel
 
Eclipse 40 and Eclipse e4
Lars Vogel
 
Eclipse e4 on Java Forum Stuttgart 2010
Lars Vogel
 
Eclipse e4 Overview
Lars Vogel
 
Eclipse 2011 Hot Topics
Lars Vogel
 
WebObjects Developer Tools
WO Community
 
APEX Application Lifecycle and Deployment 20220714.pdf
Richard Martens
 
[meetup] Mastering Java enhancements like a Pro: practical design patterns an...
Miro Wengner
 
Csharp introduction
Sireesh K
 
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
Chalermpon Areepong
 
Selenium web driver_2.0_presentation
sayhi2sudarshan
 
Introduction to the Managed Extensibility Framework in Silverlight
Jeremy Likness
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
Nuxeo
 
Eclipse RCP 4
Fredrik Attebrant
 
01 web-apps
Aravindharamanan S
 
01 web-apps
snopteck
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
WO Community
 
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
 
PDF
Eclipse 40 Labs- Eclipse Summit Europe 2010
Lars Vogel
 
PPTX
Android Programming made easy
Lars Vogel
 
PPTX
Eclipse RCP Overview @ Rheinjug
Lars Vogel
 
PPT
Google App Engine for Java (GAE/J)
Lars Vogel
 
PPTX
Programming Android
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
 
Eclipse 40 Labs- Eclipse Summit Europe 2010
Lars Vogel
 
Android Programming made easy
Lars Vogel
 
Eclipse RCP Overview @ Rheinjug
Lars Vogel
 
Google App Engine for Java (GAE/J)
Lars Vogel
 
Programming Android
Lars Vogel
 
Ad

Recently uploaded (20)

PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Python basic programing language for automation
DanialHabibi2
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 

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