Eclipse contains a large number of standard views that can be extended to support new languages or data models. This model focus on the interface to the most common Eclipse views: Problems View, Outline View, and the Properties View.
An overview of the code that makes up the skeleton of a basic RCP application. This includes the basics for advisors and perspectives. This module also describes the basics of how to launch and debug an RCP application.
L0018 - SWT - The Standard Widget ToolkitTonny Madsen
The graphical sub-system of the Eclipse platform is made up of two components: SWT, the Standard Widget Toolkit; and JFace, an architecture independent modeling layer. This module describes how to use SWT in views and editors and how different resources must be managed.
The graphical sub-system of the Eclipse platform is made up of two components: SWT, the Standard Widget Toolkit ;and JFace, an architecture-independent modeling layer. This module describes how JFace extends SWT with viewers, commands, wizards, dialogs, and field assist.
Swing is a GUI widget toolkit for Java. It is part of Oracle's Java Foundation Classes (JFC) – an API for providing a graphical user interface (GUI) for Java programs.
An overview of the code that makes up the skeleton of a basic RCP application. This includes the basics for advisors and perspectives. This module also describes the basics of how to launch and debug an RCP application.
L0018 - SWT - The Standard Widget ToolkitTonny Madsen
The graphical sub-system of the Eclipse platform is made up of two components: SWT, the Standard Widget Toolkit; and JFace, an architecture independent modeling layer. This module describes how to use SWT in views and editors and how different resources must be managed.
The graphical sub-system of the Eclipse platform is made up of two components: SWT, the Standard Widget Toolkit ;and JFace, an architecture-independent modeling layer. This module describes how JFace extends SWT with viewers, commands, wizards, dialogs, and field assist.
Swing is a GUI widget toolkit for Java. It is part of Oracle's Java Foundation Classes (JFC) – an API for providing a graphical user interface (GUI) for Java programs.
A bean is a reusable software component based on Sun's JavaBeans specification that can be manipulated visually in a builder tool.“
The JavaBeans technology enables vendors to create environments that make it dramatically easier to develop user interfaces for Java applications.
Introduction to java beans, java beans, Core java, j2se, getting started with java beans programming, java to standard edition, beans in java, beans programming in java
A bean is a reusable software component based on Sun's JavaBeans specification that can be manipulated visually in a builder tool.“
The JavaBeans technology enables vendors to create environments that make it dramatically easier to develop user interfaces for Java applications.
Introduction to java beans, java beans, Core java, j2se, getting started with java beans programming, java to standard edition, beans in java, beans programming in java
react-slides.pdf gives information about react libraryjanet736113
React is a framework that employs Webpack to automatically compile React, JSX, and ES6 code while handling CSS file prefixes. React is a JavaScript-based UI development library. Although React is a library rather than a language, it is widely used in web development. The library first appeared in May 2013 and is now one of the most commonly used frontend libraries for web development.
React offers various extensions for entire application architectural support, such as Flux and React Native, beyond mere UI,When compared to other technologies on the market, React is a new technology. Jordan Walke, a software engineer at Facebook, founded the library in 2011, giving it life. The likes of XHP, a straightforward HTML component framework for PHP, have an influence on React. React's newsfeed was its debut application in 2011. Later, Instagram picks it up and incorporates it into their platform,
Advantages
Makes use of the JavaScript structure known as virtual DOM. Since JavaScript's virtual DOM is quicker than the conventional DOM, this will boost the speed of programs.
Can be used with various systems and on both client and server sides is commendable.
Components and identify trends make larger apps easier to manage by increasing clarity.
Limitations
Only addresses the app's angle and distance; as a result, additional techniques must be selected if you want a full collection of development tools.
Employs inline scripting and JSX, which some programmers might find uncomfortable.
Developing a Tabview in iOS app using Swift as a programming language. Swift is now getting adopted by developer community. Have a look on our presentation ..
Ad103 - Have it Your Way: Extending IBM Lotus Domino Designerddrschiw
With release 8.5.1, the new Lotus Domino Designer Extension API supports custom extensions to operate on selections of design elements. We'll details several sample applications; 1) validate references to views, forms, etc in XPages and Custom controls, 2) re-factoring tool to rename a design element and update references, 3) synchronize files between NSF and local file system (stylesheets, etc) and 4) select a form, create view with all fields from the form. We'll provide boilerplate code for common types of plugins, so you can just add your own code. You'll see how
to control whether your extension is visible/enabled based on selection contents - visit openntf.org for more! After attending this session, you can make your own contributions!
Code camp 2011 Getting Started with IOS, Una DalyUna Daly
Presentation at Code Camp on Oct 8, 2011, 1:15 pm in the Foothill College Cafeteria. Overview of iOS Platform and development with demonstration of building two applications that demonstrate the model-view-controller architecture and feature buttons, textfields, labels, and alerts.
To better understand the behavior of servlets, let’s take a look at the life cycle of servlets.
A servlet is basically a small Java program that runs within a Web server. It can receive requests from clients and return responses. The whole life cycle of a servlet breaks up into 3 phases:
• Initialization: A servlet is first loaded and initialized usually when it is requested by the corresponding clients. Some websites allow the users to load and initialize servlets when the server is started up so that the first request will get responded more quickly.
• Service: After initialization, the servlets serve clients on request, implementing the ap- plication logic of the web application they belong to.
• Destruction: When all pending requests are processed and the servlets have been idle for a specific amount of time, they may be destroyed by the server and release all the resources they occupy.
More specifically, the behavior of a servlet is described in javax.servlet.Servlet interface, in which the following methods are defined:
• public void init(ServletConfig config) throws ServletException
This method is called once when the servlet is loaded into the servlet engine, before the servlet is asked to process its first request.
The init method has a ServletConfig parameter. The servlet can read its initialization arguments through the ServletConfig object. How the initialization arguments are set is servlet engine dependent but they are usually defined in a configuration file.
A typical example of an initialization argument is a database identifier. A servlet can read this argument from the ServletConfig at initialization and then use it later to open a connection to the database during processing of a request:
private String databaseURL;
public void init(ServletConfig config) throws ServletException { super.init(config);
databaseURL = config.getInitParameter("database");
}
• public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException
This method is called to process a request. It can be called zero, one or many times until the servlet is unloaded.
Once a servlet is loaded, it remains in the server’s memory as a single object instance. Thereafter, the server invokes the servlet to handle a request using a simple, lightweight method invocation. Unlike with CGI, there’s no process to spawn or interpreter to invoke, so the servlet can begin handling the request almost immediately. Multiple, concurrent requests are handled by separate threads, so servlets are highly scalable.
Servlets are naturally enduring objects. Because a servlet stays in the server’s memory as a single object instance, it automatically maintains its state and can hold on to external resources, such as database connections, that may otherwise take several seconds to establish. The following servlet presents information about how many times it has been accessed:
To better understand the behavior of servlets, let’s take a lo
Unleash the power of Context and Dependency Injection (CDI) in a JEE container. The slides go over the 2.0 specification and how each part of the specification can be applied. Code for this can be found on GitHub: https://github.com/bpaskin/JavaExamples/tree/master/CDI2.0Examples/src/com/ibm/example/cdi
L0016 - The Structure of an Eclipse Plug-inTonny Madsen
This is a detailed description of the different parts that makes up an Eclipse plug-in. The module focuses on the purpose of the different files of a plug-in such as plugin.xml and the OSGi manifest file, MANIFEST.MF. The module also describes how plug-ins are developed in Eclipse with PDE, the Plug-in Development Environment
L0001 - The Terminology of the Eclipse PlatformTonny Madsen
This is a basic walk-through of all the central concepts of the Eclipse platform and how these fit together. The primary goal of this module is to establish a common terminology.
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...Tonny Madsen
How do you effectively control commands, menus and handlers in a large pluggable application to get a consistent use of the commands across the complete application? This is definitely one of the areas where the Eclipse IDE is not a good sample application. Just notice how all team providers add commands with the same text and function and how multiple identical menu items some times show up...
Here the Adapter framework of Eclipse can be a big help if used properly.
While the Adapter framework arguably is one of the more difficult to understand and use properly, the is also a framework that will solve many of the problems you might face is larger non-trivial applications. Especially when used in conjunction with the menus extension point and handlers. This presentation will show how to use the adapter framework of the Eclipse framework with special emphasis on the menus and handlers.
For PROSA:
Onsdag 26.1. Introduktion til Eclipse
Eclipse er et fremstormende open source-udviklingsmiljø (Eclipse IDE), der oprindeligt er udviklet med henblik på Java.
Kom og mød Tonny Madsen, formand for Eclipse Danmark, foreningen for både professionelle, virksomheder og brugere.
Tonny er til daglig direktør i RCP Company, der har specialiseret sig i udvikling, uddannelse og konsulentydelser inden for Eclipse.
Han vil give jer et overblik over platformen, både teknisk, projektmæssigt, organisering, muligheder, fremtiden etc.
ITU - MDD – Model-to-Model TransformationsTonny Madsen
This presentation describes the use Model-to-Model transformations (M2M). It focus on the why, what and how.
This presentation is developed for MDD 2010 course at ITU, Denmark.
”Medbring din laptop, netbook, mac el.lign. og få i løbet af denne workshop dine første hands-on erfaringer med Eclipse.”
Arrangement for IDA.
In Danish
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...Tonny Madsen
”Har du tænkt på at skifte til et leverandøruafhængigt udviklingsmiljø? Det er gratis, og du får ét udviklingsmiljø, som du kan programmere alt fra Java, C, C++ og PHP til databaser og webserver i. Vi får dig til at se værdien af værktøjet, og se flere forskellige eksempler på brugen af Eclipse i praksis.
Kom og hør formanden for eclipse.dk, Tonny Madsen, Direktør, RCP Kompaniet fortælle om Eclipse.
Eclipse er component-baseret, og du får indsigt i hvordan du sammensætter Eclipse til netop dine behov.”
In Danish
This presentation describes Eclipse Modeling Framework – EMF. It has two basic purposes:
Introduce you to the EMF techniques needed in the rest of the course
Introduce you to the architecture and components of the EMF project
This presentation is developed for MDD 2010 course at ITU, Denmark.
This presentation shows how Eclipse plug-ins are developed. It has two purposes:
Introduce you to the architecture and techniques of a major component based application
Introduce you to basic Eclipse plug-in development – this will hopefully ease the needed programming in the rest of the course
This presentation is developed for MDD 2010 course at ITU, Denmark.
This presentation describes the use of XText.
This presentation assumes a good knowledge of Data Modeling and Grammars as previously presented.
This presentation is developed for MDD 2010 course at ITU, Denmark.
eclipse.dk - Eclipse RCP Under the HoodTonny Madsen
Denne event er en kombination af en tutorial day og en live demonstration af en "full featured" Eclipse RCP applikation hvor udviklingen kommenteres on-the-fly.
Medbring din laptop og prøv selv hvordan man forholdsvis let kan starte en Eclipse RCP applikation. Det er meget vigtigt at du allerede har Eclipse 3.6 installeret på maskinen.Følgende emner vil blive demonstreret / omtalt
Eclipse RCP Arkitektur
Konfiguration (OSGi console, plugin.xml, manifest.mf...)
Packaging
Extension Points
UI / SWT / JFace
Editors / Views
Building and Testing
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...Tonny Madsen
Eclipse RCP – about of the box – is a fantastic platform for building applications. Especially if these are for engineer-like users
When Eclipse RCP is used for enterprise applications – like for banks – one of major shortcomings is found in the missing ability to control screen flows.
This talk describes how screen flow was implemented in a major banking application where we expect to add 2-300 screen flows, some very simple and some very complex.
EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...Tonny Madsen
Imagine you have to develop a larger Eclipse RCP based application with many dozens - maybe hundreds - of views, dialogs and wizards all based on a large common EMF based data model. How do you make sure you get a consistent and modern interface that can be extended in the future without redesigning everything again and again?
javagruppen.dk - e4, the next generation Eclipse platformTonny Madsen
After 13 years, the Eclipse framework gets it second make-over. The new work is termed e4 and will be included in Eclipse 4.0.
In the first make-over the run-time was replaced in Eclipse 3.0 with OSGi to get a better and more stable foundation for plug-ins. This time the user interface and contributions are modernized for use in Eclipse 4.0.
In this session, we will see some of the insides of the new paradigms in e4.
This presentation describes different modeling techniques. It has three basic purposes:
Give you an overview of some of the different types of models
Give you a set of tools to decide how to create a (good) model for a problem
Give you an overview of some of the different modeling techniques
This presentation is developed for MDD 2010 course at ITU, Denmark
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
How to Create Map Views in the Odoo 17 ERPCeline George
The map views are useful for providing a geographical representation of data. They allow users to visualize and analyze the data in a more intuitive manner.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
1. Interfacing to Eclipse Standard Views
Eclipse contains a large number of standard views that can be extended
to support new languages or data models. This model focus on the
interface to the most common Eclipse views: Problems View, Outline
View, and the Properties View.
Redistribution and other use of this material requires written permission from The RCP Company.
L0001 - 2010-11-27
2. Problems View
The problems view is used to show resource markers, which can represent
anything(!), but normally are error conditions
Markers are installed on resources (IResource)
The file of an editor is found via the editor input (IEditorInput) via
adaption
IFile res = (IFile)editor.getEditorInput().getAdapter(IFile.class);
This only works for files in the workspace – not files opened via
“File”→”Open File…” – for the later the above construct returns null
2
L0001 - 2010-11-27
3. Markers (IMarker)
Markers are associated as detail data on resources (IResource)
Markers have a type, an unique ID (per resource) and a set of text attributes
New marker types are defined with the org.eclipse.core.resources.markers extension point
Each marker type has a name, a set of super-marker-types, a persistence and a set
of attributes
The resulting new marker type will inherit all attributes from super-markertypes
Only persistent markers are saved between invocations
A new marker type is non-persistent unless explicitly set
Basic marker types related to problems
org.eclipse.core.resources.problemmarker – with attributes severity, message, and
location
org.eclipse.core.resources.textmarker – with attributes charStart, charEnd,
lineNumber
All relevant marker related constants are defined in IMarker
Makers can be grouped in the Problems View via support in the
org.eclipse.ui.ide.markerSupport extension point
3
L0001 - 2010-11-27
4. Creating a new Marker Type
The extension for a new marker type is special
The id of the new marker type is specified directly in the extension and
not in a sub-element (like for views and perspectives)
If no id is specified, the target Eclipse cannot start!!!
<extension id="problem" name=“My Personal Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.core.resources.problemmarker" />
</extension>
4
L0001 - 2010-11-27
5. Markers Manipulation
Markers are accessed using methods of IResource
createMarker(type) – creates and returns a new marker of the specified
type
findMarker(id) – find a specific marker
deleteMarkers(type, includeSubtypes, depth) – deletes all markers of the
specified type
…and many more…
Markers also has a large set of methods
delete() – deletes the marker
getType() – returns the type
getAttribute(name) – returns the value of the attribute
setAttribute(name, value) – sets the value of the attribute
setAttributes(String[] attributeNames, Object[] values) – sets the values
of many attributes
5
L0001 - 2010-11-27
6. Working with Markers
To create a “problem” marker for a complete file, just use the following
try {
IFile file = myEditor.getFile();
IMarker marker = file.createMarker(IMarker.PROBLEM);
marker.setAttribute(IMarker.MESSAGE, "hello");
} catch (CoreException e) {
e.printStackTrace();
}
6
L0001 - 2010-11-27
7. Lab Exercise
Add a new marker type for your problems
Use problemmarker and textmarker as super-types
Create markers for all errors at the end of each parse
Remember to delete old markers
Do they show up in the problems view?
Do you see annotations and squibbles in the editor?
7
L0001 - 2010-11-27
8. Outline View
The Outline view shows an outline of domain model of the current editor
Requires a domain model has been built
Has dependency on org.eclipse.ui.views
The content of the outline view is supplied by the active editor via adaption
to IContentOutlinePage
Result should inherit from ContentOutlinePage
Cache returned object as this method is called often
private IContentOutlinePage myContentOutlinePage = null;
@Override
public Object getAdapter(Class adapter) {
if (adapter == IContentOutlinePage.class) {
if (myContentOutlinePage == null) {
myContentOutlinePage = new NINEditorOutlinePage(this);
}
return myContentOutlinePage;
}
return super.getAdapter(adapter);
}
8
L0001 - 2010-11-27
9. Outline of Outline Page
public class NINEditorOutlinePage extends ContentOutlinePage {
@Override
public void createControl(Composite parent) {
super.createControl(parent);
final TreeViewer tree = getTreeViewer();
tree.setLabelProvider(new MyLabelProvider());
tree.setContentProvider(new MyContentProvider());
tree.setInput(new Object());
// Add listener on model, so tree can be refreshed when model is updated
}
private class MyLabelProvider extends LabelProvider { … }
private class MyContentProvider implements ITreeContentProvider { … }
}
9
L0001 - 2010-11-27
10. Outline View Extras
To get popup menu
Just install it in the tree – remember to register it
To synchronize view with editor navigation
Add navigation tracker in the editor and let the view listen
To synchronize editor with selection in view
Add selection listener in editor
If current selection is a domain object of the editor, move to that
position
Use ITextViewer.revealRange(int offset, int length)
To add filtering and sorting to view
Extend ContentOutlinePage.setActionBars(IActionBars)
10
L0001 - 2010-11-27
11. Lab Exercise
Extend editor with support for outline view
Synchronize the editor with the current selection in the view
11
L0001 - 2010-11-27
12. Properties View
The Properties view shows properties of the current selection
Requires a domain model as been built in editor
Has dependency on org.eclipse.ui.views
A property source (IPropertySource) describes how the property view should
show the properties of an object
The content of the property view is supplied by the current selection via
inheritance from or adaption to IPropertySource
Inherits from IPropertySource
Implements IAdaptable.getAdapter(IPropertySource.class)
Can be accomplished via adapter factory
12
L0001 - 2010-11-27
13. Implementation of Property Sources (IPropertySource)
A property source describes the supported properties using descriptors
(IPropertyDescriptor)
A descriptor includes information about
name, description, help
optionally a label provider, how to create a property editor
If it can create a property editor, it is settable
The platform includes a number of standard descriptors
PropertyDescriptor – read-only property
TextPropertyDescriptor – text based property
ColorPropertyDescriptor – color property
ComboBoxPropertyDescriptor – list based property
A property source can get and possibly set and reset property values
13
L0001 - 2010-11-27
14. Interesting Parts of Property Source
public class ExPropertySource implements IPropertySource {
… myObject;
public IPropertyDescriptor[] getPropertyDescriptors() {
return IPropertyDescriptor[] = { new TextPropertyDescriptor("name", "name") };
}
public Object getPropertyValue(Object id) {
if ("name".equals(id)) {
return myObject.getName();
} else {
return null;
}
}
public void setPropertyValue(Object id, Object value) {
if ("name".equals(id)) {
myObject.setName((String) value);
}
}
}
14
L0001 - 2010-11-27
15. Lab Exercise
Extend editor with support for properties view
Add support for setting the name in the domain model
Use IDocument.replace(offset, length, text)
15
L0001 - 2010-11-27
16. More Information
“Mark My Words: Using markers to tell users about problems and tasks”
http://www.eclipse.org/resources/resource.php?id=237
Somewhat basic article on markers
“Take control of your properties”
http://www.eclipse.org/resources/resource.php?id=214
Good introduction with plenty of code examples
“The Eclipse Tabbed Properties View”
http://www.eclipse.org/resources/resource.php?id=138
Introduction to the new tabbed properties view
16
L0001 - 2010-11-27
Editor's Notes
\n
\n
\n
\n
\n
\n
Now it&#x2019;s time for the lab.\n
\n
\n
\n
Now it&#x2019;s time for the lab.\n
\n
ColumnLabelProviders &#x2013; as described in module L0011 &#x201C;Contributing to the Eclipse User Interface&#x201D; &#x2013; can be used. (3.3 edition)\n