EMF Databinding. Tom Schindl - BestSolution Systemhaus GmbH. JAX May 2nd 2011

Size: px
Start display at page:

Download "EMF Databinding. Tom Schindl - BestSolution Systemhaus GmbH. JAX May 2nd 2011"

Transcription

1 EMF Databinding Tom Schindl - BestSolution Systemhaus GmbH JAX May 2nd 2011

2 About Me CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead: UFaceKit, Nebula Member of the Architectual Council

3 What is databinding Synchronize attributes of 2 objects Most of the time used to keep UI and Domain Model in sync

4 What is databinding Synchronize attributes of 2 objects Most of the time used to keep UI and Domain Model in sync

5 What is databinding Synchronize attributes of 2 objects Most of the time used to keep UI and Domain Model in sync

6 What is databinding Synchronize attributes of 2 objects Most of the time used to keep UI and Domain Model in sync

7 What is databinding Synchronize attributes of 2 objects Most of the time used to keep UI and Domain Model in sync

8 What is databinding Synchronize attributes of 2 objects Most of the time used to keep UI and Domain Model in sync text

9 What is databinding Synchronize attributes of 2 objects Most of the time used to keep UI and Domain Model in sync text selection

10 What is databinding Synchronize attributes of 2 objects Most of the time used to keep UI and Domain Model in sync text selection content

11 What is databinding Synchronize attributes of 2 objects Most of the time used to keep UI and Domain Model in sync text selection content enabled

12 Basic Design of Eclipse DB Eclipse Databinding is built around the observer pattern

13 Basic Design of Eclipse DB Eclipse Databinding is built around the observer pattern Target UI Object UI Observable

14 Basic Design of Eclipse DB Eclipse Databinding is built around the observer pattern Target Model UI Object UI Observable Model Observable Model Object

15 Basic Design of Eclipse DB Eclipse Databinding is built around the observer pattern Target Model UI Object UI Observable Model Observable Model Object

16 IProperty Interface IProperty is the domain independent abstraction of an attribute IValueProperty: A single valued attribute IListProperty: A multi valued attribute

17 IProperty Interface IProperty is the domain independent abstraction of an attribute IValueProperty: A single valued attribute IListProperty: A multi valued attribute SWT Swing // Text text property IWidgetValueProperty tprop = WidgetProperties.text(SWT.Modify); // JFace Viewer Selection Property IViewerValueProperty sprop = ViewerProperties.singleSelection(); // Button selection property IWidgetValueProperty cprop = WidgetProperties.selection(); // JTextField text property IWidgetValueProperty tprop = SwingProperties.text(TextType.Modify); // JComboBox selection Property IWidgetValueProperty sprop = SwingProperties.singleSelectionValue(); // JButton selection property IWidgetValueProperty cprop = SwingProperties.selection();

18 IProperty Interface IProperty is the domain independent abstraction of an attribute IValueProperty: A single valued attribute IListProperty: A multi valued attribute EMF JavaBean // Single value property IEMFValueProperty sprop = EMFProperties.value( AddressbookPackage.Literals.ADDRESS STREET); // Multi value property IEMFListProperty mprop = EMFProperties.list( AddressbookPackage.Literals.COUNTRY FEDERAL_STATES); // Single value property IBeanValueProperty sprop = BeanProperties.value("street"); // Multi value property IBeanListProperty mprop = BeanProperties.list("federalStates");

19 Observable Creation - Model Simple observable creation IEMFValueProperty prop = EMFProperties.value( AddressbookPackage.Literals.PERSON FIRSTNAME); IObservableValue v = prop.observe(person);

20 Observable Creation - Model Simple observable creation IEMFValueProperty prop = EMFProperties.value( AddressbookPackage.Literals.PERSON FIRSTNAME); IObservableValue v = prop.observe(person); Master-Detail observable creation IObservableValue master = new WritableValue(); IEMFValueProperty prop = EMFProperties.value( AddressbookPackage.Literals.PERSON FIRSTNAME); IObservableValue v = prop.observedetail(master); master.setvalue(person);

21 Observable Creation - SWT/JFace WidgetProperties and ViewerProperties IWidgetValueProperty tprop = WidgetProperties.text(SWT.Modify); IObservableValue v = tprop.observe(w_firstname); IViewerValueProperty sprop = ViewerProperties.singleSelection(); IObservableValue v = sprop.observe(v_country);

22 Observable Creation - SWT/JFace WidgetProperties and ViewerProperties IWidgetValueProperty tprop = WidgetProperties.text(SWT.Modify); IObservableValue v = tprop.observe(w_firstname); IViewerValueProperty sprop = ViewerProperties.singleSelection(); IObservableValue v = sprop.observe(v_country); Text-Widgets and SWT.Modify IWidgetValueProperty tprop = WidgetProperties.text(SWT.Modify); IObservableValue v = tprop.observedelayed(200,w_firstname);

23 Databinding for Swing WidgetProperties from UFaceKit Project IWidgetValueProperty tprop = SwingProperties.text(TextType.Modify); IObservableValue value = tprop.observe(w_firstname); IWidgetValueProperty sprop = SwingProperties.singleSelectionValue(); IObservableValue value = sprop.observe(w_state)

24 Connect Observables Use EMFDatabindingContext private void bindcontrols() { EMFDataBindingContext dbc = new EMFDataBindingContext(); IWidgetValueProperty tprop = WidgetProperties.text(SWT.Modify); { IEMFValueProperty mprop = EMFProperties.value( AddressbookPackage.Literals.PERSON FIRSTNAME); dbc.bindvalue(tprop.observe(w_firstname),mprop.observedetail(master)); } }

25 Lab 1 - Eclipse Setup Add local e4 update-site

26 Lab 1 - Eclipse Setup Install the following projects from e4_i E4 Tools > Eclipse e4 Tools E4 UI > Eclipse e4 Modeled Workbench E4 UI > Eclipse e4 Modeled Workbench Source Important: Uncheck Contact all update sites during install to find required software

27 Lab 1 - Eclipse Setup

28 Lab 1 - Eclipse Setup Import projects from emfdatabinding-tutorial-init

29 Lab 1 for SWT follower Implement Text-Binding in bindcontrols() Method at.bestsolution.e4.addressbook.ui.swt.personform at.bestsolution.e4.addressbook.ui.swt.addressform

30 Lab 1 for Swing follower Implement JTextField-Binding in bindcontrols() Method at.bestsolution.e4.addressbook.ui.swing.personform at.bestsolution.e4.addressbook.ui.swing.addressform

31 JFace Viewers JFace Viewers LabelProvider: Translate Domain Object into String/Image ContentProvider: Converts input e.g. java.util.list into internal representation Input: The input to pass to the content provider

32 Databinding support for JFace ObservableListContentProvider IEMFListProperty mprop = EMFProperties.list (AddressbookPackage.Literals.ADDRESS_BOOK COUNTRIES); v_country = new ComboViewer(w_country); ObservableListContentProvider cp = new ObservableListContentProvider(); v_country.setcontentprovider(cp); v_country.setinput(mprop.observe(book));

33 Databinding support for JFace ObservableListContentProvider IEMFListProperty mprop = EMFProperties.list (AddressbookPackage.Literals.ADDRESS_BOOK COUNTRIES); v_country = new ComboViewer(w_country); ObservableListContentProvider cp = new ObservableListContentProvider(); v_country.setcontentprovider(cp); v_country.setinput(mprop.observe(book)); ObservableMapLabelProvider IValueProperty props = EMFProperties.value(AddressbookPackage.Literals.COUNTRY NAME); ObservableMapLabelProvider lp = new ObservableMapLabelProvider( props.observedetail(cp.getknownelements()); v_country.setlabelprovider(lp);

34 Databinding Support for Swing ObservableComboBoxModel and ObservableListModel IEMFListProperty mprop = EMFProperties.list (AddressbookPackage.Literals.COUNTRY FEDERAL_STATES); IValueProperty[] props = { EMFProperties.value(AddressbookPackage.Literals.FEDERAL_STATE NAME) }; ObservableComboBoxModel<FederalState> model = new ObservableComboBoxModel<FederalState>( mprop.observedetail(value), props);

35 Databinding Support for Swing ObservableComboBoxModel and ObservableListModel IEMFListProperty mprop = EMFProperties.list (AddressbookPackage.Literals.COUNTRY FEDERAL_STATES); IValueProperty[] props = { EMFProperties.value(AddressbookPackage.Literals.FEDERAL_STATE NAME) }; ObservableComboBoxModel<FederalState> model = new ObservableComboBoxModel<FederalState>( mprop.observedetail(value), props); ObservableListCellRender w_state.setrenderer(new ObservableListCellRender<FederalState>( model, new ILabelDelegate<FederalState>() public String gettext(federalstate object, IObservableMap[] maps) { return object == null? "" : object.getname(); } }));

36 Lab 2 for SWT follower AddressForm#init: Initialize Country viewer AddressForm#bindControls: Bind selection of country viewer PersonList#init: Initialize Person viewer

37 Lab 2 for Swing follower AddressForm#init: Initialize Country JComboBox AddressForm#bindControls: Bind selection of country JComboBox PersonList#init: Initialize Person JList

38 EMF Edit integration Simply use EMFEditProperties instead of EMFProperties IEMFValueProperty prop = EMFProperties.value( AddressbookPackage.Literals.PERSON FIRSTNAME); IObservableValue v = prop.observe(person);

39 EMF Edit integration Simply use EMFEditProperties instead of EMFProperties IEMFValueProperty prop = EMFEditProperties.value(editingDomain, AddressbookPackage.Literals.PERSON FIRSTNAME); IObservableValue v = prop.observe(person);

40 EMF Edit integration Simply use EMFEditProperties instead of EMFProperties IEMFValueProperty prop = EMFEditProperties.value(editingDomain, AddressbookPackage.Literals.PERSON FIRSTNAME); IObservableValue v = prop.observe(person); Don t for get: Use Delayed UI-Observables!

41 Lab 3 for SWT follower PersonForm#bindControls(EditingDomain): Add binding for first and lastname Open & Launch: at.bestsolution.e4.addressbook.swt.application/ at.bestsolution.e4.addressbook.swt.application.prod uct

42 Lab 3 for Swing follower PersonForm#bindControls(EditingDomain): Add binding for first and lastname Open & Launch: at.bestsolution.e4.addressbook.swing.application/ at.bestsolution.e4.addressbook.swing.application.pr oduct

43 Additional Information Blog: Blog: UFaceKit: e4:

About Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council

About Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council State of Eclipse 4.x Tom Schindl - BestSolution Systemhaus GmbH, Eric Moffatt IBM Leuven October 2011 About Tom CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead: UFaceKit,

More information

Single Sourceing for Eclipse 4.x and 3.x

Single Sourceing for Eclipse 4.x and 3.x Single Sourceing for Eclipse 4.x and 3.x Tom Schindl - BestSolution Systemhaus GmbH EclipseCon 2011 - March 21st 2011 About Me CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead:

More information

Eclipse 4 Application Platform

Eclipse 4 Application Platform Eclipse 4 Application Platform Tom Schindl - BestSolution Systemhaus GmbH EclipseCon Nov 2011 About Tom CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead: UFaceKit, Nebula

More information

Eclipse Data Binding - Updating RCP Mail 2.0 Handout

Eclipse Data Binding - Updating RCP Mail 2.0 Handout 1 of 16 Eclipse Data Binding - Updating RCP Mail 2.0 Handout Dr. Frank Gerhardt (Gerhardt Informatics), Dr. Boris Bokowski (IBM) Eclipse Application Developer Day Karlsruhe, 07.07.2009 [1] All rights reserved.

More information

Developing Rich Clients with Eclipse 4.x RCP

Developing Rich Clients with Eclipse 4.x RCP Developing Rich Clients with Eclipse 4.x RCP Kai Tödter, Siemens AG Tom Schindl, BestSolution.at 3/20/2011 Kai Tödter and others, Licensed under Creative Commons Attribution-Noncommercial-No Derivative

More information

Foundations of User Interface Programming Using the Eclipse Rich Client Platform

Foundations of User Interface Programming Using the Eclipse Rich Client Platform Foundations of User Interface Programming Using the Eclipse Rich Client Platform Tod Creasey IBM Canada Tod Creasey Foundations of User Interface Programming Using the Eclipse Rich Client Platform Page

More information

XWT Declarative UI for Eclipse

XWT Declarative UI for Eclipse XWT Declarative UI for Eclipse Yves YANG (Soyatec) Contents What is XWT? Architecture XWT Fundamentals JFace integration Component and Data View Management Integration with Existing Application Binding

More information

JavaFX Codeeditors. Tom Schindl

JavaFX Codeeditors. Tom Schindl JavaFX Codeeditors Tom Schindl Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at About Me CTO BestSolution.at Systemhaus GmbH

More information

e4 Project 0.9 Release Review

e4 Project 0.9 Release Review e4 Project 0.9 Release Review July 30, 2009 Review communication channel: e4-dev@eclipse.org 1 Highlights 0.9 is a technology preview of interesting work happening in the e4 incubator This is not a commercial

More information

Kai Tödter Siemens Corporate Technology

Kai Tödter Siemens Corporate Technology Kai Tödter Siemens Corporate Technology Objectives of e4 e4 Workbench Model Models & Rendering Other UI Models Services CSS Styling Demo Discussion 2 Making it easier to write plug-ins Allowing better

More information

What is Wazaabi 2.0? Declarative UI framework. based on. live EMF model(s)

What is Wazaabi 2.0? Declarative UI framework. based on. live EMF model(s) What is Wazaabi 2.0? Declarative UI framework based on live EMF model(s) What is an EMF Model? Specification of an application s data Object attributes Relationships (associations) between objects Operations

More information

Eclipse 4 Programming Model and Practices. Jin Mingjian

Eclipse 4 Programming Model and Practices. Jin Mingjian Eclipse 4 Programming Model and Practices Jin Mingjian Agenda Eclipse 4 and Kepler Programming Model Good Practices Random Thoughts Eclipse 4 Modeled UI modeling(mdd): EMF Dependency Injection home made

More information

Expeditor Client for Desktop. Client Platform Overview

Expeditor Client for Desktop. Client Platform Overview Expeditor for Desktop Platform Overview Expeditor for Desktop Introduction Understand the client platform provided by IBM Lotus Expeditor for Desktop platform Expeditor for Desktop Contents This presentation

More information

Eclipse Modeling Framework (EMF) Paweł Żalejko

Eclipse Modeling Framework (EMF) Paweł Żalejko Eclipse Modeling Framework (EMF) Paweł Żalejko Agenda Model-Driven Development What is EMF? EMF demo - hello world EMF demo - command stack & adapters EMF demo - data binding & validation EMF demo - generating

More information

AD105 Introduction to Application Development for the IBM Workplace Managed Client

AD105 Introduction to Application Development for the IBM Workplace Managed Client AD105 Introduction to Application Development for the IBM Workplace Managed Client Rama Annavajhala, IBM Workplace Software, IBM Software Group Sesha Baratham, IBM Workplace Software, IBM Software Group

More information

Zest: Move Review. Transition from Mylyn to GEF. Component Lead: R. Ian Bull. University of Victoria & IBM Centre for Advanced Studies

Zest: Move Review. Transition from Mylyn to GEF. Component Lead: R. Ian Bull. University of Victoria & IBM Centre for Advanced Studies Zest: Move Review Transition from Mylyn to GEF Component Lead: R. Ian Bull University of Victoria & IBM Centre for Advanced Studies i r b u l l @ c s. u v i c. c a 1 of 10 Zest Move Review Copyright 2007

More information

Eclipse and Framework Extension Languages

Eclipse and Framework Extension Languages Eclipse and Framework Extension Languages Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie Design Patterns and Frameworks, Prof. Uwe Aßmann 1 References

More information

Testing Eclipse plug-ins: Tips & Tricks

Testing Eclipse plug-ins: Tips & Tricks Testing Eclipse plug-ins: Tips & Tricks Lorenzo Bettini DISIA University Firenze, Italy Vincenzo Caselli Francesco Guidieri RCP-Vision, Firenze, Italy EclipseCon Europe 2017 Project Quality Day Motivations

More information

What s next for e4. Tom Schindl Website:

What s next for e4. Tom Schindl Website: What s next for e4 Tom Schindl Twitter: @tomsontom Website: http://www.bestsolution.at About Tom CTO BestSolution.at Systemhaus GmbH Eclipse Committer e4 Platform EMF Project

More information

eclipse.org. Tom Schindl

eclipse.org. Tom Schindl JavaFX @ eclipse.org Tom Schindl Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at About Me CTO BestSolution.at Systemhaus GmbH

More information

How we reached 0 technical debt in our Eclipse project

How we reached 0 technical debt in our Eclipse project How we reached 0 technical debt in our Eclipse project Lorenzo Bettini Dip. DISIA, University of Firenze, Italy Vincenzo Caselli, Francesco Guidieri RCP-Vision, Firenze, Italy EclipseCon Europe, 2016 Our

More information

Leveraging the Model-View- Presenter Pattern in Rich Client Applications

Leveraging the Model-View- Presenter Pattern in Rich Client Applications Leveraging the Model-View- Presenter Pattern in Rich Client Applications Patrick Paulin Eclipse RCP Trainer and Consultant RCP Quickstart patrick@rcpquickstart.com www.rcpquickstart.com/training/presentations/mvp-and-rcp-ew2008

More information

20. Eclipse and Framework Extension Languages

20. Eclipse and Framework Extension Languages 20. Eclipse and Framework Extension Languages Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie Version 11-1.0, 12/17/11 Design Patterns and Frameworks,

More information

Introduction to Graphical Interface Programming in Java. Introduction to AWT and Swing

Introduction to Graphical Interface Programming in Java. Introduction to AWT and Swing Introduction to Graphical Interface Programming in Java Introduction to AWT and Swing GUI versus Graphics Programming Graphical User Interface (GUI) Graphics Programming Purpose is to display info and

More information

TestingofScout Application. Ludwigsburg,

TestingofScout Application. Ludwigsburg, TestingofScout Application Ludwigsburg, 27.10.2014 The Tools approach The Testing Theory approach Unit testing White box testing Black box testing Integration testing Functional testing System testing

More information

Workbench and JFace Foundations. Part One, of a two part tutorial series

Workbench and JFace Foundations. Part One, of a two part tutorial series Workbench and JFace Foundations Part One, of a two part tutorial series 2005 by IBM; made available under the EPL v1.0 Date: February 28, 2005 About the Speakers Tod Creasey Senior Software Developer,

More information

The New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

The New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék The New Generation of the Eclipse Platform Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Eclipse RCP For developing client applications o Based on the Eclipse

More information

You, me and jigsaw. Tom Schindl

You, me and jigsaw. Tom Schindl You, me and jigsaw Tom Schindl Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at About Tom CTO BestSolution.at Systemhaus GmbH

More information

Rich Client GUI's with RCP & RAP

Rich Client GUI's with RCP & RAP Rich Client GUI's with RCP & RAP Alexey Aristov WeigleWilczek GmbH aristov@weiglewilczek.com What is Rich Client? A fat client or rich client is a computer (client) in client-server architecture networks

More information

Comparing graphical DSL editors

Comparing graphical DSL editors Comparing graphical DSL editors AToM 3 vs GMF & MetaEdit+ Nick Baetens Outline Introduction MetaEdit+ Specifications Workflow GMF Specifications Workflow Comparison 2 Introduction Commercial Written in

More information

Contact center integration with CRM. White paper and best practice for Daktela V6 setup with internal CRM system

Contact center integration with CRM. White paper and best practice for Daktela V6 setup with internal CRM system Contact center integration with CRM White paper and best practice for Daktela V6 setup with internal CRM system 1. Introduction The goal of this document is to provide brief description on the CRM integration

More information

Because you can t fix what you don t know is broken

Because you can t fix what you don t know is broken Because you can t fix what you don t know is broken About me Initiator of the Automated Error Reporting Initiative Project Lead of Eclipse Code Recommenders Eclipse Committer since 2010 Plug-in Developer

More information

Goulwen Le Fur Obeo EclipseCon NA 2014

Goulwen Le Fur Obeo EclipseCon NA 2014 Goulwen Le Fur Obeo EclipseCon NA 2014 Most of the Eclipse RCP developers need to design GUIs Thank you Captain Obvious! Fortunately, the Eclipse community can help you! The very large... and very prolific

More information

Eclipse 4 Eclipse Day Toulouse 24 mai 2012

Eclipse 4 Eclipse Day Toulouse 24 mai 2012 Eclipse 4 Eclipse Day Toulouse 24 mai 2012 OPC 12 ECD PRE E4A 01 A OPCOACH 2012 Table of contents I - Eclipse 4 5 A. Application Model... 10 B. E4 injection and annotations... 14 C. CSS Styling... 17

More information

Eclipse 4. Brian de Alwis. Abstract

Eclipse 4. Brian de Alwis. Abstract Eclipse 4 Brian de Alwis Abstract This year's Juno release sees the mainstream deployment of Eclipse 4, the new application platform from the Eclipse Foundation. Over four years in the making, Eclipse

More information

WindowBuilder Graduation & Release Review

WindowBuilder Graduation & Release Review WindowBuilder Graduation & 1.0.0 Release Review http://www.eclipse.org/windowbuilder Planned Review Date: June 2011 Communication Channel: WindowBuilder Forum Eric Clayberg (Project Lead) 1 History Smalltalk

More information

Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks

Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks EMF Core 2.5 Release Review Galileo Simultaneous Release Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks Eclipse Modeling Framework Framework and

More information

Quality Assurance User Interface Modeling

Quality Assurance User Interface Modeling Quality Assurance User Interface Modeling Part II - Lecture 4 1 The University of Auckland New Zealand 254 18/09/ /2012 Interviewing Methods of the FBI 254 18/09/ /2012 Cognitive interview: method to enhance

More information

Graphical User Interface (GUI)

Graphical User Interface (GUI) Graphical User Interface (GUI) An example of Inheritance and Sub-Typing 1 Java GUI Portability Problem Java loves the idea that your code produces the same results on any machine The underlying hardware

More information

Eclipse 4.x Compatibility Layer: What's hot? What's not?

Eclipse 4.x Compatibility Layer: What's hot? What's not? Eclipse 4.x Compatibility Layer: What's hot? What's not? Remy Suen, IBM Rational Boris Bokowski, IBM Rational What's in the compatibility layer? A reimplementation of the org.eclipse.ui.workbench bundle

More information

CoSc Lab # 6 (The Model) Due Date: Part I, Experiment classtime, Tuesday, Nov 6 th, 2018.

CoSc Lab # 6 (The Model) Due Date: Part I, Experiment classtime, Tuesday, Nov 6 th, 2018. CoSc 10403 Lab # 6 (The Model) Due Date: Part I, Experiment classtime, Tuesday, Nov 6 th, 2018. Part II, Program - by midnight, Tuesday, Nov 6 th, 2018. Again you will be required to "zip" together the

More information

Advanced User Interface Programming Using the Eclipse Rich Client Platform

Advanced User Interface Programming Using the Eclipse Rich Client Platform Advanced User Interface Programming Using the Eclipse Rich Client Platform Tod Creasey IBM Canada Tod Creasey Advanced User Interface Programming Using the Eclipse Rich Client Platform Page 1 About the

More information

Eclipse-based Embedded Engineering Environments Inspired by AUTOSAR

Eclipse-based Embedded Engineering Environments Inspired by AUTOSAR Eclipse-based Embedded Engineering Environments Inspired by Stephan Eberle, Geensys 2008 by Geensys; made available under the EPL v1.0 March 19, 2008 About Stephan Eberle Paris, France Development lead

More information

The Eclipse Rich Client Platform

The Eclipse Rich Client Platform The Eclipse Rich Client Platform Slides by various members of the Eclipse JDT and Platform teams Slides 2004 IBM Corporation Outline Rich Client Application? The Eclipse Plug-in Architecture Eclipse Plug-ins

More information

Copyright Soyatec. Licensed under the Eclipse Public License 1.0

Copyright Soyatec. Licensed under the Eclipse Public License 1.0 Contents Needs Architecture XAML fundamentals Data Binding Presentation Modeling Framework - MDA Advanced features Roadmap Testimony Q&A Needs Visual VisualUI UI Editor Editor Business Analyst UI UI Modeler

More information

Introduction to Eclipse and Eclipse RCP

Introduction to Eclipse and Eclipse RCP Introduction to Eclipse and Eclipse RCP Kenneth Evans, Jr. Presented at the EPICS Collaboration Meeting June 13, 2006 Argonne National Laboratory, Argonne, IL Eclipse Eclipse is an Open Source community

More information

Jonathan Aldrich Charlie Garrod

Jonathan Aldrich Charlie Garrod Principles of Software Construction: Objects, Design, and Concurrency (Part 3: Design Case Studies) Introduction to GUIs Jonathan Aldrich Charlie Garrod School of Computer Science 1 Administrivia Homework

More information

EMFT Mint (Incubation) 0.7 Ganymede Simultaneous Release Review

EMFT Mint (Incubation) 0.7 Ganymede Simultaneous Release Review EMFT Mint (Incubation) 0.7 Ganymede Simultaneous Release Review 4 June, 2007 1 Agenda Talking Points Features Non-Code Aspects APIs Architectural Issues Tool Usability End-of-Life Bugzilla UI Usability

More information

EGit/Gerrit Hands-on training #1: Installation and Configuration

EGit/Gerrit Hands-on training #1: Installation and Configuration EGit/Gerrit Hands-on training #1: Installation and Configuration Introduction To use git from Eclipse you need the EGit plug-in. With EGit you do nearly all of your gitrelated tasks. But for certain operations

More information

eclipse rich ajax platform (rap)

eclipse rich ajax platform (rap) eclipse rich ajax platform (rap) winner Jochen Krause CEO Innoopract Member of the Board of Directors Eclipse Foundation jkrause@innoopract.com GmbH outline rich ajax platform project status and background

More information

e(fx)clipse APIs Tom Schindl Matthew Elliot

e(fx)clipse APIs Tom Schindl Matthew Elliot e(fx)clipse APIs Tom Schindl Matthew Elliot Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at Website:

More information

DESKTOP CONNECTION FOR SAP CRM - CONTACT CREATION IN MS OUTLOOK

DESKTOP CONNECTION FOR SAP CRM - CONTACT CREATION IN MS OUTLOOK 2013-10-31 1 1. Select an Account in MS Outlook (1) Click in the area and enter the account the new contact is working for. (2) Click on the entry. 2013-10-31 2 2. Create a Contact in MS Outlook The account

More information

Contents Introduction 1

Contents Introduction 1 SELF-STUDY iii Introduction 1 Course Purpose... 1 Course Goals...1 Exercises... 2 Scenario-Based Learning... 3 Multimedia Overview... 3 Assessment... 3 Hardware and Software Requirements... 4 Chapter 1

More information

Introduction to GUIs. Principles of Software Construction: Objects, Design, and Concurrency. Jonathan Aldrich and Charlie Garrod Fall 2014

Introduction to GUIs. Principles of Software Construction: Objects, Design, and Concurrency. Jonathan Aldrich and Charlie Garrod Fall 2014 Introduction to GUIs Principles of Software Construction: Objects, Design, and Concurrency Jonathan Aldrich and Charlie Garrod Fall 2014 Slides copyright 2014 by Jonathan Aldrich, Charlie Garrod, Christian

More information

Introduction to concurrency and GUIs

Introduction to concurrency and GUIs Principles of Software Construction: Objects, Design, and Concurrency Part 2: Designing (Sub)systems Introduction to concurrency and GUIs Charlie Garrod Bogdan Vasilescu School of Computer Science 1 Administrivia

More information

EVENTS, EVENT SOURCES AND LISTENERS

EVENTS, EVENT SOURCES AND LISTENERS Java Programming EVENT HANDLING Arash Habibi Lashkari Ph.D. Candidate of UTM University Kuala Lumpur, Malaysia All Rights Reserved 2010, www.ahlashkari.com EVENTS, EVENT SOURCES AND LISTENERS Important

More information

Bringing Life to Swing Desktop Applications

Bringing Life to Swing Desktop Applications Bringing Life to Swing Desktop Applications Alexander Potochkin Sun Microsystems Kirill Grouchnikov Amdocs Inc. TS-3414 2007 JavaOne SM Conference Session TS-3414 Presentation Goal Learn advanced painting

More information

Visit for more.

Visit  for more. Chapter 3: Getting Started with JAVA IDE Programming Informatics Practices Class XI (CBSE Board) Revised as per CBSE Curriculum 2015 Visit www.ip4you.blogspot.com for more. Authored By:- Rajesh Kumar Mishra,

More information

ADF Code Corner. 70. How-to build dependent list boxes with Web Services Business Services. Abstract: twitter.com/adfcodecorner

ADF Code Corner. 70. How-to build dependent list boxes with Web Services Business Services. Abstract: twitter.com/adfcodecorner ADF Code Corner 70. How-to build dependent list boxes with Web Services Abstract: A frequent question asked on the Oracle JDeveloper forum on OTN is how to create dependent select lists using ADF and Web

More information

Swing. By Iqtidar Ali

Swing. By Iqtidar Ali Swing By Iqtidar Ali Background of Swing We have been looking at AWT (Abstract Window ToolKit) components up till now. Programmers were not comfortable when doing programming with AWT. Bcoz AWT is limited

More information

Introduction to SharePoint 2016 for Collaboration and Document Management

Introduction to SharePoint 2016 for Collaboration and Document Management Course 55193A: Introduction to SharePoint 2016 for Collaboration and Document Management - Course details Course Outline Module 1: SharePoint Overview This module provides an overview of SharePoint and

More information

Web Applica+on Development. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Web Applica+on Development. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Web Applica+on Development Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék UI Development Trends Desktop applica+ons Opera+ng system integra+on Rich set of

More information

Keep on Swinging. Productivity layers on top of SWT. Karsten Schmidt SAP AG.

Keep on Swinging. Productivity layers on top of SWT. Karsten Schmidt SAP AG. Keep on Swinging Productivity layers on top of SWT Karsten Schmidt SAP AG k.schmidt@sap.com Keep on Swinging - Agenda! Background! SAP NetWeaver Developer Studio! The UI (Container) Framework! The SAP

More information

Part 2: Notes Plug-in Development

Part 2: Notes Plug-in Development Working smarter with collaborative applications built on IBM Lotus Notes and Domino 8.5 Part 2: Notes Plug-in Development July 1st, 2009 Pierre Carlson Sr. Software Engineer Expeditor Development Michael

More information

Tickling the shoulders of giants. An internal client for financial services based on Eclipse RCP

Tickling the shoulders of giants. An internal client for financial services based on Eclipse RCP Building industry solutions Tickling the shoulders of giants An internal client for financial services based on Eclipse RCP 04.11.2011 Holger Grosse-Plankermann h.grosse-plankermann@iks-gmbh.com About

More information

Eclipsing Your IDE. Figure 1 The first Eclipse screen.

Eclipsing Your IDE. Figure 1 The first Eclipse screen. Eclipsing Your IDE James W. Cooper I have been hearing about the Eclipse project for some months, and decided I had to take some time to play around with it. Eclipse is a development project (www.eclipse.org)

More information

Lesson learned from using EMF to build Desktop & Web Applications. Ludwigsburg, Oct

Lesson learned from using EMF to build Desktop & Web Applications. Ludwigsburg, Oct Lesson learned from using EMF to build Desktop & Web Applications Ludwigsburg, Oct 26 2017 About us Lorenzo Bettini Dip. Informatica, Univ. Firenze, Italy bettini@disia.unifi.it @lorenzo_bettini www.lorenzobettini.it

More information

Hands-On-Labs for. Microsoft Identity Integration Server Microsoft Identity Integration Server 2003 Hand-On-Labs

Hands-On-Labs for. Microsoft Identity Integration Server Microsoft Identity Integration Server 2003 Hand-On-Labs Hands-On-Labs for Microsoft Identity Integration Server 2003 Microsoft Corporation Published: July 2003 Revision: May 2004 For the latest information, see http://www.microsoft.com/miis Page 1 of 32 The

More information

Developing Eclipse Rich-Client Applications Tutorial

Developing Eclipse Rich-Client Applications Tutorial Developing Eclipse Rich-Client Applications Tutorial Dr. Frank Gerhardt Gerhardt Informatics Kft. fg@gerhardtinformatics.com Michael Scharf Wind River eclipsecon@scharf.gr 2008 by Frank Gerhardt and Michael

More information

Automatically persisted among application sessions

Automatically persisted among application sessions STORAGE OPTIONS Storage options SharedPreference Small amount of data, as Key-value pairs Private to an Activity or Shared among Activities Internal storage Small to medium amount of data Private to the

More information

VinNOW/Nexternal Integration Setup Guide

VinNOW/Nexternal Integration Setup Guide VinNOW/Nexternal Integration Setup Guide Summary Setting up the Nexternal/VinNOW integration includes the following steps: 1) Security and Connection Setup 2) Product Key Setup 3) Wine Club Setup 4) Setup

More information

Creating an Eclipse View

Creating an Eclipse View Copyright 2001 Object Technology International, Inc. Eclipse Corner Article Creating an Eclipse View Summary In the Eclipse Platform a view is typically used to navigate a hierarchy of information, open

More information

CS 3331 Advanced Object-Oriented Programming Final Exam

CS 3331 Advanced Object-Oriented Programming Final Exam Fall 2015 (Thursday, December 3) Name: CS 3331 Advanced Object-Oriented Programming Final Exam This test has 5 questions and pages numbered 1 through 10. Reminders This test is closed-notes and closed-book.

More information

GUI Software Architecture

GUI Software Architecture GUI Software Architecture P2: Requirements Analysis User Analysis Task Analysis Problem Scenarios Usability Criteria Scenario Your engineers just developed a new desktop computer. They give you the following

More information

Programming ArchiTech

Programming ArchiTech Programming ArchiTech The intention of this document is to give a description of the way ArchiTech has been programmed, in order to make anyone who wants to take a look to the code easier to understand

More information

IBM WebSphere Sample Adapter for Enterprise Information System Simulator Deployment and Testing on WPS 7.0. Quick Start Scenarios

IBM WebSphere Sample Adapter for Enterprise Information System Simulator Deployment and Testing on WPS 7.0. Quick Start Scenarios IBM WebSphere Sample Adapter for Enterprise Information System Simulator 7.0.0.0 Deployment and Testing on WPS 7.0 Quick Start Scenarios Note: Before using this information and the product it supports,

More information

Eclipse Automotive Working Group

Eclipse Automotive Working Group Global Embedded Electronics & Networked SYstem Solutions Eclipse Automotive Working Group Activities and Requirements @ Geensys About Geensys - Global Embedded Electronics & Networked SYstem Solutions

More information

RAP (The Rich Ajax Platform)

RAP (The Rich Ajax Platform) RAP (The Rich Ajax Platform) Eclipse Banking Day New York Jochen Krause RAP Project lead jkrause@eclipsesource.com 2008 EclipseSource December 2008 RAP enables building modular applications for web and

More information

When Modeling meets Productivity. Sven Efftinge - itemis

When Modeling meets Productivity. Sven Efftinge - itemis When Modeling meets Productivity Sven Efftinge - itemis I Eclipse JDT I GIT So what s the Problem? It s the Language not the Tooling! Level of Abstraction Reuse existing, proven technology and apply

More information

TA Programming of Interactive Systems

TA Programming of Interactive Systems TA Programming of Interactive Systems https://www.lri.fr/~cfleury/teaching/isi2014/ Arnaud Prouzeau (M1 Info)! prouzeau@lri.fr Cédric Fleury (M1 HCID)! cfleury@lri.fr The presentation is based on last

More information

An applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a

An applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a CBOP3203 An applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a page. When you use a Java technology-enabled

More information

Control Flow: Overview CSE3461. An Example of Sequential Control. Control Flow: Revisited. Control Flow Paradigms: Reacting to the User

Control Flow: Overview CSE3461. An Example of Sequential Control. Control Flow: Revisited. Control Flow Paradigms: Reacting to the User CSE3461 Control Flow Paradigms: Reacting to the User Control Flow: Overview Definition of control flow: The sequence of execution of instructions in a program. Control flow is determined at run time by

More information

Java: Graphical User Interfaces (GUI)

Java: Graphical User Interfaces (GUI) Chair of Software Engineering Carlo A. Furia, Marco Piccioni, and Bertrand Meyer Java: Graphical User Interfaces (GUI) With material from Christoph Angerer The essence of the Java Graphics API Application

More information

Succeed with Eclipse: Large Scale 11/14/16

Succeed with Eclipse: Large Scale 11/14/16 Succeed with Eclipse: Large Scale 1 Introduction Markus Duft Software Architect Working for Salomon Automation since 2005 markus.duft@ssi-schaefer.com Salomon Automation GmbH part of the privately held

More information

Swinging from the Outside

Swinging from the Outside Swinging from the Outside A guide to navigating Swing from the outside of Sun Brian Mason, Dir Software of Engineering, Teseda S295599 Space is big, really big. You might think it is a long way down to

More information

Understanding the Vex Rendering Engine

Understanding the Vex Rendering Engine Understanding the Vex Rendering Engine Mohamadou Nassourou Department of Computer Philology & Modern German Literature University of Würzburg Am Hubland D - 97074 Würzburg mohamadou.nassourou@uni-wuerzburg.de

More information

Component-Based Development

Component-Based Development Component-Based Development 2004-2005 Marco Scotto (Marco.Scotto@unibz.it) Outline Views Introduction View Declaration View Model Content Provider Label Provider 2 Introduction (1/5) Many plug-ins either

More information

Chapter 2. Network Chat

Chapter 2. Network Chat Chapter 2. Network Chat In a multi-player game, different players interact with each other. One way of implementing this is to have a centralized server that interacts with each client using a separate

More information

55193A: INTRODUCTION TO SHAREPOINT 2016 FOR COLLABORATION AND DOCUMENT MANAGEMENT

55193A: INTRODUCTION TO SHAREPOINT 2016 FOR COLLABORATION AND DOCUMENT MANAGEMENT ABOUT THIS COURSE This one day class is designed for SharePoint team members and end users who need to know how to use the team collaboration, document management and social features of Microsoft SharePoint

More information

The Eclipse Rich Ajax Platform

The Eclipse Rich Ajax Platform The Eclipse Rich Ajax Platform Frank Appel RAP Tech Lead fappel@innoopract.com Eclipse RAP 1.1 Copyright Innoopract made available under the EPL 1.0 page: 1 The Innoopract pitch Integration & delivery

More information

FrUiT: IDE Support for Framework Understanding

FrUiT: IDE Support for Framework Understanding FrUiT: IDE Support for Framework Understanding Marcel Bruch Thorsten Schäfer Mira Mezini Software Technology Group Department of Computer Science Darmstadt University of Technology {bruch,schaefer,mezini}@st.informatik.tu-darmstadt.de

More information

A Design Recovery View - JFace vs. SWT. Abstract

A Design Recovery View - JFace vs. SWT. Abstract A Design Recovery View - JFace vs. SWT Technical Report 2009-564 Manar Alalfi School of computing- Queen s University Kingston, Ontario, Canada alalfi@cs.queensu.ca Abstract This paper presents an experience

More information

Amazon Web Services Hands On S3 January, 2012

Amazon Web Services Hands On S3 January, 2012 Amazon Web Services Hands On S3 January, 2012 Copyright 2011-2012, Amazon Web Services, All Rights Reserved Page 1-8 Table of Contents Overview... 3 Create S3 Bucket... 3 Upload Content and Set Permissions...

More information

Part I: Learn Common Graphics Components

Part I: Learn Common Graphics Components OOP GUI Components and Event Handling Page 1 Objectives 1. Practice creating and using graphical components. 2. Practice adding Event Listeners to handle the events and do something. 3. Learn how to connect

More information

TTTK Program Design and Problem Solving Tutorial 3 (GUI & Event Handlings)

TTTK Program Design and Problem Solving Tutorial 3 (GUI & Event Handlings) TTTK1143 - Program Design and Problem Solving Tutorial 3 (GUI & Event Handlings) Topic: JApplet and ContentPane. 1. Complete the following class to create a Java Applet whose pane s background color is

More information

Regular Forum of Lreis. Speechmaker: Gao Ang

Regular Forum of Lreis. Speechmaker: Gao Ang Regular Forum of Lreis Speechmaker: Gao Ang Content: A. Overview of Eclipse Project B. Rich Client Platform C. The progress of ustudio Project D. The development of Grid technology and Grid GIS E. Future

More information

Implementation of a 2D Graph Viewer

Implementation of a 2D Graph Viewer Degree Project Implementation of a 2D Graph Viewer Javier de Muga 2010-01-29 Subject: computer science Level: master Course code: DA4014 Abstract The VizzAnalyzer tool is a program analysis tool with a

More information

EPITA Première Année Cycle Ingénieur. Atelier Java - J5

EPITA Première Année Cycle Ingénieur. Atelier Java - J5 EPITA Première Année Cycle Ingénieur marwan.burelle@lse.epita.fr http://www.lse.epita.fr Overview 1 2 Different toolkits AWT: the good-old one, lakes some features and has a plateform specific look n

More information

ADF Mobile Code Corner

ADF Mobile Code Corner ADF Mobile Code Corner m05. Caching WS queried data local for create, read, update with refresh from DB and offline capabilities Abstract: The current version of ADF Mobile supports three ADF data controls:

More information

Quick & Easy Desktop Development with NetBeans and its HTML/JAVA API

Quick & Easy Desktop Development with NetBeans and its HTML/JAVA API Quick & Easy Desktop Development with NetBeans and its HTML/JAVA API Ioannis (John) Kostaras FOSDEM 2-3 February 2019 FOSDEM 2019 API Ioannis Kostaras 1 Context (Apache) NetBeans Rich Client Platform Desktop

More information