Tutoriel Eclipse RAP pour les débutants - Application e4 Workbench

View more categories:

1- Introduction

This document is based on:
  • Eclipse 4.5 (MARS)

  • Eclipse RAP e4

2- L'installation avant de commencer

2.1- Installation d'Eclipse

You need the latest version of Eclipse. There currently is Eclipse 4.5 (Codes MARS).
 
In my opinion you to download package: "Eclipse IDE for Java EE Developers". The only different package quantities Plugin, for the purpose of different programming. During the programming process can install the plugin for other purposes.

2.2- Installez WindowBuilder

Configuration du Plugin WindowBuilder , il s'agit d'un Plugin qui vous permet concevoir l'interface d'application SWT en glisser-déplacer des commodités.
Voir les instructions d'installation sur:

2.3- Installez e4 Tools Developer Resources

Vous pouvez voir  les instructions d'installation e4 Tools Developer Resources  à:
  • TODO Link!

2.4- Installez RAP e4 Tooling dans Eclipse

Vous pouvez voir les instructions à:

3- Créer un nouvel Java Workspace

Pour programmer l'application de  RAP  e4, vous devez créer un nouveau  Java Workspace:
  • File/Switch Workspace/Other..
Entrez:
  • F:\ECLIPSE_TUTORIAL\RAP_E4

4- Installez RAP Target

Pour programmer l'application RAP e4 vous devez installer l’environnement  RAP (RAP Target Platform). Comprend au moins deux bibliothèques:
  1. RAP Target Components
  2. RAP e4 Target Components
Créez  project RAPTarget et créez fichier  Target defineVous pouvez voir les instructions à:
Les résultats obtenus:
 

5- Créer Eclipse RAP e4 Project creux

Dans ce document, je vous guide à construire une application  RAP e4 du début (ne pas suivre le modèle disponible), alors je vais créer une application  RAP e4 vide.
Sur  Eclipse sélectionné
  • File/New/Other...
Entrez:
  • Project Name: RAPe4Tutorial
  1. Vérifier sélectionné sur (1)
  2. Sur le (2) sélectionnez "Non" pour Eclipse crée RAP Project (Running on Web), sinon il créera RCP Project (Running on the Desktop).
Sélectionnez "RAP e4 application"
Entrez:
  • Application window title: Hello RAP E4
  • Java package name: org.o7planning.tutorial.rape4
Project a été créé:
Testez l'application:
Faites un clic droit sur le projet RAPe4Tutorial, sélectionnez :
  • Run As/Eclipse Application
Le navigateur  Eclipse peut  ne pas afficher l'application  RAP e4.
Vous devez copier le chemin d'accès pour exécuter sur Firefox ou Chrome  :

6- Configurer les paramètres pour exécuter l'application

Vous pouvez configurer le port (port) et le navigateur par défaut en cours d'exécution des applications RAP e4:
 
Faites un clic droit sur le projet RAPe4Tutorial sélectionnez :
 
  • Run As/Run Configurations...
Utilisez le port 7777 et le navigateur par défaut des systèmes d'exploitation : 
Appuyez sur appliquer(Apply) et exécuter l'application:
Résultat:

7- Structure de l'application  Eclipse e4 RAP creux

L'application  Eclipse RAP e4 vide a été créé par  Eclipse , Voir sa structure. Ouvrir le fichier  Application.e4xmi:
Changer le titre de l'application à « Eclipse E4 RAP Application » comme l'illustration ci-dessous.
Et redémarrez l'application :

8- Configurer supplémentaire Bundle

Pour créer une application  RAP e4 avec de multiples fonctions vous devez déclarer utiliser un des autres  Bundle :
 
Ouvrir le fichier  MANIFEST.MF
Ajouter les Bundle:
  • org.eclipse.e4.ui.model.workbench
  • org.eclipse.e4.ui.services
  • org.eclipse.e4.ui.workbench
Les Bundle peut être solidaire, tel  bundle A dépend de  bundle de B, C et B dépend de E, F. si vous ajoutez un  bundle sur votre application, l'éclipse doit recalculer les  Bundle besoin d'emballer le produit peut fonctionner.

Donc après que vous déclarez utiliser ajouter les  Bundle, vous devez configurer l'application à nouveau.
Cliquez avec le bouton droit sur le projet et sélectionnez:
  • Run As/Run Configurations
  1. Cliquez sur Add Required Bundles pour eclipse recalculer les bundle dépendant 
  2. Cliquez sur Validate Bundles pour assurer votre project sans problème

9- Handler et Command

RAP Framework construit un grand nombre de commandes, telle commande avec l'ID trois ci-dessous:
  1. org.eclipse.ui.file.exit
    • Close the workbench
  2. org.eclipse.ui.file.save
    • Save the active editor.
  3. org.eclipse.ui.help.aboutAction
    • Displays the About dialog.
Vous pouvez voir plus une liste de la commande a été construite du RCP  framework disponible à
Créer une Commande(Command)  quiteCommand nommée, la molette de commande pour quitter l'application a été construite par RAP Framework.
De même, nous créons deux autres Commande:
Exécutez la commande pour enregistrer le contenu de la partie (Part) (editor).
  • ID: org.eclipse.ui.file.save
  • Name: saveCommand
AboutCommand:
  • ID: org.eclipse.ui.help.aboutAction
  • Name: aboutCommand
Handler est la classe de gérer pour les Commandes (commande) du Menu ou  Toolbar (barre d'outils). Lorsque vous cliquez sur le MenuItem ou ToolItem signifie appeler pour exécuter une Commande, avant que la Commande soit exécutée Handler sera exécutée avant, vous pouvez annuler (annuler) la Commande est exécutée dans Handler.

lorsqu'il est exécuté, il va l'exécution des tâches ont été écrites dans la méthode annotée par @Execute.

Je vais créer trois class Handler:
AboutHandler.java
package org.o7planning.tutorial.rape4.handler;

import org.eclipse.e4.core.di.annotations.Execute;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Shell;

public class AboutHandler {
 
  @Execute
  public void execute(Shell shell) {
      MessageDialog.openInformation(shell, "About", "Eclipse e4 RAP Application");
  }
}
QuitHandler.java
package org.o7planning.tutorial.rcp.handler;

import org.eclipse.e4.core.di.annotations.Execute;
import org.eclipse.e4.ui.workbench.IWorkbench;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Shell;


public class QuitHandler {
 @Execute
 public void execute(IWorkbench workbench, Shell shell){
     if (MessageDialog.openConfirm(shell, "Confirmation",
             "Do you want to exit?")) {
         workbench.close();
     }
 }
}
SaveHandler.java
package org.o7planning.tutorial.rcp.handler;

import org.eclipse.e4.core.di.annotations.CanExecute;
import org.eclipse.e4.core.di.annotations.Execute;
import org.eclipse.e4.ui.workbench.modeling.EPartService;

public class SaveHandler {

 @CanExecute
 public boolean canExecute(EPartService partService) {
     if (partService != null) {
         return !partService.getDirtyParts().isEmpty();
     }
     return false;
 }

 @Execute
 public void execute(EPartService partService) {
     partService.saveAll(false);
 }
}
Déclarez  Handler avec l'application.
Déclarer un Handler avec Application vous devez déclarez ID, Handler class et Command.

Par exemple, les utilisateurs quittent l'application en cliquant sur  menuItem Exit, ce  MenuItem associé à  quiteCommand, QuiteHandler est une classe de gestion pour cette commande (tel que déclaré ci-dessus), la classe  QuiteHandler demande aux utilisateurs veulent vraiment fermer si oui Commande  quiteCommand sera exécutée.
Entrez:
  • ID: handler.quiteCommand
De même déclarer les autres Handler.
  • handler.aboutCommand
  • handler.saveCommand

10- Déclarer Menus

Ajouter des icônes sur le projet, utilisé comme symbole pour MenuItem et ToolItem . 
  1. sample.png
  2. save_edit.png
Créer le menu principal (menu principal) de l'application
Entrez l'ID du Menu principal, il doit être:
  • menu:org.eclipse.ui.main.menu
Ajoutez trois sous-menu:
  • File, Function, Help
Déclarer le sous-menu au menu  Fichier.
  • Save
  • Exit
Vous pouvez exécuter votre application:
 

11- Créer Toolbar

Créer Main Toolbar avec ID:
  • ID: toolbar:org.eclipse.ui.main.toolbar
Ajouter deux Toolitem: open & save( ouvrir et enregistrer )
Relancez votre application:

12- Part

SamplePart.java
/*******************************************************************************
* Copyright (c) 2010 - 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*     IBM Corporation - initial API and implementation
*     Lars Vogel <[email protected]> - Bug 419770
*******************************************************************************/
package org.o7planning.tutorial.rape4.part;

import javax.annotation.PostConstruct;
import javax.inject.Inject;

import org.eclipse.e4.ui.di.Focus;
import org.eclipse.e4.ui.di.Persist;
import org.eclipse.e4.ui.model.application.ui.MDirtyable;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;

public class SamplePart {

  private Text txtInput;
  private TableViewer tableViewer;

  @Inject
  private MDirtyable dirty;

  @PostConstruct
  public void createComposite(Composite parent) {
      parent.setLayout(new GridLayout(1, false));

      txtInput = new Text(parent, SWT.BORDER);
      txtInput.setMessage("Enter text to mark part as dirty");
      txtInput.addModifyListener(new ModifyListener() {
          @Override
          public void modifyText(ModifyEvent e) {
              dirty.setDirty(true);
          }
      });
      txtInput.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

      tableViewer = new TableViewer(parent);

      tableViewer.add("Sample item 1");
      tableViewer.add("Sample item 2");
      tableViewer.add("Sample item 3");
      tableViewer.add("Sample item 4");
      tableViewer.add("Sample item 5");
      tableViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
  }

  @Focus
  public void setFocus() {
      tableViewer.getTable().setFocus();
  }

  @Persist
  public void save() {
      dirty.setDirty(false);
  }
}
Ajouter un nouveau PerspectiveStack . Ceci est une pile (Stack ) contient des vues (Perspective).
Ajouter une nouvelle fenêtre (Perspective):
Exécutez à nouveau l'application:
Les changements sur Part qui fera le bouton SAVE s'allume..

View more categories: