Bonjour,
Quelqu'un saurait-il m'indiquer un lien ou une explication pour implémenter un MultiPageEditor en pure RCP 4 ?
Merci d'avance pour votre aide.
Bonjour,
Quelqu'un saurait-il m'indiquer un lien ou une explication pour implémenter un MultiPageEditor en pure RCP 4 ?
Merci d'avance pour votre aide.
Bonjour,
Pour un aperçu sur la plate-forme Eclipse 4, je t'invite à lire ce tutoriel : http://aityahia.developpez.com/tutor...clipse/e4-rcp/
Sinon, pour la création dynamique multi-instance de tes éditeurs tu pourras te servir des services :
EPartService, MApplication et EModelService
Soit : dz.iaityahia.myapp.partstack.right l'ID de votre PartStack
MyPartClass la classe de vos éditeurs
Voici un petit exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 @Inject EPartService partService; @Inject private MApplication app; @Inject private EModelService modelService; // on retrouve le PartStack qui va accueillir les Editeurs MPartStack partStack = (MPartStack) modelService.find("dz.iaityahia.myapp.partstack.right",app); // on initialise l'index de l'éditeur à créer int index = partStack.getChildren().size()+1 //on crée la part (l'éditeur) MPart myPart = MBasicFactory.INSTANCE.createInputPart(); // on initialise son ID myPart.setElementId("dz.iaityahia.myapp.parts.accountentry."+ String.valueOf(index)); myPart.setLabel("Document" + index); myPart.setCloseable(true); // on affecte la classe de l'éditeur myPart.setContributionURI("bundleclass://dz.iaityahia.myapp/dz.iaityahia.myapp.inputsparts.MyPartClass"); partStack.getChildren().add(myPart); partService.activate(myPart);
Merci pour ta réponse aityahia, mais ma classe MBasicFactory.INSTANCE ne dispose pas de la méthode createInputPart, elle dispose seulement de la méthode createPartDescriptor()
Tu utilises quelle version d'Eclipse ?
As-tu importé les packages suivant ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 import org.eclipse.e4.ui.model.application.MApplication; import org.eclipse.e4.ui.model.application.ui.basic.MBasicFactory; import org.eclipse.e4.ui.model.application.ui.basic.MPart; import org.eclipse.e4.ui.model.application.ui.basic.MPartStack; import org.eclipse.e4.ui.workbench.modeling.EModelService; import org.eclipse.e4.ui.workbench.modeling.EPartService;
J'utilise Version: Kepler Release Build id: 20130614-0229
Et oui j'ai importé tous ces packages et le seul élément que je peux créer à partir de MBasicFactory est PartDescriptor() à partir de createPartDescriptor()
Vérifie bien, je suis certain que t'as importé
au lieu de
Code java : Sélectionner tout - Visualiser dans une fenêtre à part import org.eclipse.e4.ui.model.application.descriptor.basic
Code java : Sélectionner tout - Visualiser dans une fenêtre à part import org.eclipse.e4.ui.model.application.ui.basic.MBasicFactory;
Rectification, ce n'est pas exactement ce que je voulais...
En fait, ma question était est-ce que le MultiPageEditor a-t-il été implémenté en pure RCP 4 (ou doit-on encore passer par l'extends de MultiPageEditorPart) ? Si oui, comment le faire ?
Par exemple, le fichier MANIFEST.MF d'un plugin contient plusieurs éléments, comme overview, dependencies, Runtime...
je suis pas certain si c'est possible de réutiliser directement MultiPageEditorPart, je suis entrain de me pencher sur le problème, je reviendrais sur le problème dès que j'aurais une certitude.
A la limite il est possible d'implémenter ça avec un CTableFolder
d'accord merci je viens de voir ton post sur eclipse.org merci beaucoup je vais le faire avec un CTabFolder alors
Encore merci pour ton aide
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager