IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

[RCP] Erreur "The site for a view must be an IViewSite"


Sujet :

Eclipse Platform

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut [RCP] Erreur "The site for a view must be an IViewSite"
    Bonjour, j'utilise eclipse RCP pour mon stage dans le but de créer une maquette en utilisant des vues d'une autre application RCP, malheureusement j'ai un problème que j'ai recréé à partir de l'exemple Navigator (http://dev.eclipse.org/viewcvs/index...n.html?view=co)

    dans un premier temps je crée un client RCP avec une vue à partir du wizard d'eclipse (RCP application with a view), et je modifie la vue en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class View extends Navigator implements IViewPart{
    	public static final String ID = "MyGui.view";	
    	public View() {
    		super();
    	}
    }
    ensuite je crée un plugin avec les jar contenant les classes utilisé par Navigator (wbnavigator.jar, navigator.jar, ...)
    j'ajoute le plugin aux dépendances de l'application et lorsque je lance l'application j'ai l'erreur suivante à l'intérieur de la vue :

    org.eclipse.ui.internal.misc.AssertionFailedException: assertion failed; The site for a view must be an IViewSite
    at org.eclipse.ui.internal.misc.Assert.isTrue(Assert.java:106)
    at org.eclipse.ui.part.ViewPart.checkSite(ViewPart.java:185)
    at org.eclipse.ui.part.WorkbenchPart.setSite(WorkbenchPart.java:266)
    at org.eclipse.ui.part.ViewPart.init(ViewPart.java:101)
    at org.eclipse.ui.part.ViewPart.init(ViewPart.java:117)
    at org.eclipse.ui.workbench.navigator.internal.Navigator.init(Unknown Source)


    ce qui indique que dans la methode checkSite de la classe ViewPart:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    protected final void checkSite(IWorkbenchPartSite site) {
            super.checkSite(site);
            Assert.isTrue(site instanceof IViewSite, "The site for a view must be an IViewSite"); //$NON-NLS-1$
        }
    reçoit un site n'étant pas une instance de IViewSite, or les méthodes init de la classe Navigator et ViewPart ont comme signatures :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public void init(IViewSite site, IMemento memento); //classe Navigator et ViewPart
    public void init(IViewSite site); //classe ViewPart
    et ne font que remonter le site, qui est bien une intance de IViewSite puisque les méthodes sont bien appelées.

    de plus j'ai lu sur le forum que la gestion des sites était une mécanique interne à RCP (http://www.developpez.net/forums/arc.../t-228241.html)

    j'ajoute que j'utilise eclipse 3.1 (car l'application que j'utilise pour ma maquette a été développé en 3.1) mais que l'erreur est la même en 3.2

    je vous remercie d'avance pour vos réponses, c'est surement une petite connerie de ma part vue que je débute avec RCP depuis quelques jours.

    n'hésitez à demandez des compléments si mon post n'est pas assez clair.

  2. #2
    Membre averti Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Points : 330
    Points
    330
    Par défaut
    Salut,

    Pour être capable de mieux cerner ton problème j'aurais besoin de savoir (ou de voir le code) concernant l'ouverture de ta fenêtre. Probablement que dans le core de ton appli RCP tu dois avoir une classe qui décrit la perspective de base à lancer et l'affichage des vues à l'intérieur de cette perspective. J'estime que le problème pourrait venir de cet endroit.

    Cherche une classe héritant de IPerspectiveFactory et post le code.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Merci, la seule classe implémentant IPerspectiveFactory de mon projet est la Perspective de base créée par le wizard d'eclipse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class Perspective implements IPerspectiveFactory {
     
    	public void createInitialLayout(IPageLayout layout) {
    		String editorArea = layout.getEditorArea();
    		layout.setEditorAreaVisible(false);
    		layout.setFixed(true);
     
    		layout.addStandaloneView(View.ID,  false, IPageLayout.LEFT, 1.0f, editorArea);
    	}
     
    }

  4. #4
    Membre averti Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Points : 330
    Points
    330
    Par défaut
    Ta perspective de base me semble bien codée au premier coup d'oeil et le problème ne doit pas venir de là. Une question me vient à l'esprit: La classe Navigator n'implémente pas elle même l'interface IViewPart? Pourquoi l'implémentes-tu toi aussi dans ta classe View?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    en effet la classe Navigator étend NavigatorViewPart qui étend ViewPart qui implémente l'interface IViewPart, mais lorsque ma vue n'implémente pas IViewPart alors j'ai l'erreur suivante :

    ComponentException: unable to instantiate Expecting an instance of IViewPart, IEditorPart or ComponentFactory but found myGui.View

  6. #6
    Membre averti Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Points : 330
    Points
    330
    Par défaut
    As-tu essayé d'instancier directement la vue Navigator? Est-ce qu'elle a String ID définit? Il semble y avoir quelque chose de bizarre à propos de l'erreur que tu indiques. Tu ne devrais pas devoir implémenter deux fois l'interface IViewPart dans ton architecture, et de plus, ta classe View n'offre même pas les fonctions qui représentent l'interface IVewPart. En gardant ton code, tu pourrais soit essayer de rédéfinir les fonctions nécessaires à l'interface IViewPart et d'appeler les fonctions héritées de NavigatorViewPart à l'intérieur ou de régler le problème sans l'interface IViewPart au niveau de ta vue View. (Il est aussi possible que la vue Navigator ne soit pas codée pour être héritable correctement)

    Jamais vu un problème semblable. Lâche pas

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Lorsque j'instancie directement la vue Navigator dans ma Perspective :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    layout.addStandaloneView(Navigator.PART_ID,  false, IPageLayout.LEFT, 1.0f, editorArea);
    et que je modifie mon point d'extension en conséquence dans plugin.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <extension
             point="org.eclipse.ui.views">
          <view
                name="Navigator"
                class="org.eclipse.ui.workbench.navigator.internal.Navigator"
                id="org.eclipse.ui.views.CommonNavigator">
          </view>
    </extension>
    ("org.eclipse.ui.views.CommonNavigator" est le PART_ID défini dans la classe Navigator)


    alors j'ai de nouveau l'exception :
    ComponentException: unable to instantiate Expecting an instance of IViewPart, IEditorPart or ComponentFactory but found org.eclipse.ui.workbench.navigator.internal.Navigator


    je vais regarder aussi tes autres propositions, mais en gros ce que je cherche à faire (pour le moment) c'est insérer une vue ('externe' à mon projet, à l'intérieur d'un plugin par exemple) étendant ViewPart, à l'intérieur d'une appli RCP, ça devrait quand même pas être trop compliqué à priori ? mais là j'en chie...


    j'espère que ça ira mieux demain...

  8. #8
    Membre averti Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Points : 330
    Points
    330
    Par défaut
    Une autre idée lancée comme ça:

    Tu peux toujours essayer de créer une vue interne qui appellera les fonctions de la vue Navigator mais pas en héritant d'elle. Basé sur le pattern Adapter. Dans le style

    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
     
    class View extends ViewPart {
     
    Navigator internalView;
     
    public View() {
     internalView = new Navigator();
    }
     
    public void createPartControl(Composite parent) {
             internalView.createPartControl(parent);
    }
     
    ...
     
    }

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    j'ai tenté le coup de la vue interne mais même avec le navigateur de base ResourceNavigator (package org.eclipse.ui.views.navigator du plugin org.eclipse.ui.ide) de cette façon :

    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
    public class View extends ViewPart {
    	public static final String ID = "MyGui.view";
     
    	ResourceNavigator internalView;
     
    	public View() {
    		internalView = new ResourceNavigator();
    	}
     
    	public void createPartControl(Composite parent) {
    		internalView.createPartControl(parent);
    	}
     
    	public void setFocus() {
    		internalView.setFocus();
    	}
    }

    j'ai l'erreur suivante :
    NullPointerException
    at org.eclipse.ui.views.navigator.ResourceNavigator.initContextMenu(ResourceNavigator.java:342)
    at org.eclipse.ui.views.navigator.ResourceNavigator.createPartControl(ResourceNavigator.java:283)
    at mygui.View.createPartControl(View.java:28)


    qui provient du fait que le site, attribut de la classe WorkbenchPart (dont ViewPart hérite) est null, donc à l'appel de getSite dans initContextMenu ça crash.

    et c'est pareil avec la classe Navigator (erreur différente mais même cause: appel à getViewSite, qui fait appel à getSite, dans createViewer):
    NullPointerException
    at org.eclipse.ui.workbench.navigator.internal.Navigator.createViewer(Unknown Source)
    at org.eclipse.ui.workbench.navigator.internal.Navigator.createPartControl(Unknown Source)
    at myGui.View.createPartControl(View.java:32)


    je comprends pas trop, car normalement tout le mecanisme de site est plutot interne à RCP.....

  10. #10
    Membre habitué Avatar de Tazmanian Devil
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Points : 149
    Points
    149
    Par défaut
    Si c'est une vue externe, tu ne dois pas la déclarer dans tes extensions du plugin.xml (c'est déja fait par le plugin "propriétaire" de la vue) mais juste l'utiliser dans createInitialLayout de ta Perspective :

    exemple avec la vue Tâche:
    public void createInitialLayout(IPageLayout layout) {

    String editorArea = layout.getEditorArea();
    layout.setEditorAreaVisible(false);
    layout.addStandaloneView(IPageLayout.ID_TASK_LIST, true, IPageLayout.LEFT, 0.25f, editorArea);
    }

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    En effet cela marche avec le Navigator de base avec IPageLayout.ID_RES_NAV mais dans mon cas je veux intégrer une vue externe à partir d'un jar provenant d'un autre projet RCP dont je n'ai que les .class et alors j'ai l'erreur suivante :

    Exception in org.eclipse.ui.internal.PageLayout.addView: org.eclipse.ui.PartInitException: Could not create view: viewId
    Reason:
    Exception in org.eclipse.ui.internal.PageLayout.addView: org.eclipse.ui.PartInitException: Could not create view: viewId
    Unhandled event loop exception
    Reason:
    assertion failed;

  12. #12
    Membre habitué Avatar de Tazmanian Devil
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par kmi70
    En effet cela marche avec le Navigator de base avec IPageLayout.ID_RES_NAV mais dans mon cas je veux intégrer une vue externe à partir d'un jar provenant d'un autre projet RCP dont je n'ai que les .class et alors j'ai l'erreur suivante :

    Exception in org.eclipse.ui.internal.PageLayout.addView: org.eclipse.ui.PartInitException: Could not create view: viewId
    Reason:
    Exception in org.eclipse.ui.internal.PageLayout.addView: org.eclipse.ui.PartInitException: Could not create view: viewId
    Unhandled event loop exception
    Reason:
    assertion failed;
    Je pense que les jar externes doivent être (et sont dans ton exemple Navigator) dans un (ou 2 dans ton exemple) plugin à part comportant un plugin.xml qui defini les vues dont tu veux hériter, il n'est pas suffisant de mettre les jar dans ton classpath via les dépendances du plugin.

    Tu devra aussi les deployer avec ton appli RCP comme des plugins à part entiere (en fait tu dois les référencer dans ton .product dans l'onglet Configuration, avec tout les plugins requis par ton appli RCP mais aussi par les deux plugins externes).

    Essaye de creer 2 projet de plugins comportant les deux jars en questions, leurs plugin.xml et plugin.properties, de voir si tu peux les utiliser correctement et ensuite de les référencer dans ton propre plugin.

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Merci, je vais essayer ça, ce que je ne comprends pas c'est que lorsque je crée un new plugin from existing jar archives je n'ai pas de fichier plugin.xml et plugin.properties.
    Je dois donc créer un new plugin RCP en utilisant un template, si oui lequel puisque je dois à priori simplement utiliser les classes contenu dans ce plugin ?

    Car dans mon cas je veux créer une nouvelle interface RCP à partir de briques d'une appli RCP existante.

  14. #14
    Membre habitué Avatar de Tazmanian Devil
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par kmi70
    Merci, je vais essayer ça, ce que je ne comprends pas c'est que lorsque je crée un new plugin from existing jar archives je n'ai pas de fichier plugin.xml et plugin.properties.
    Je dois donc créer un new plugin RCP en utilisant un template, si oui lequel puisque je dois à priori simplement utiliser les classes contenu dans ce plugin ?

    Car dans mon cas je veux créer une nouvelle interface RCP à partir de briques d'une appli RCP existante.
    Dans les zips fournis, tu dois avoir les sources, le jar , le plugin.xml, etc... Fais un importer / Fichier Archive dans un projet de plugin vide.

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Voila, j'ai créé un plugin RCP que j'ai vidé de ses sources puis j'ai fait un import des .jar du Navigator (par import Archive File), et j'ai configuré les plugins de la manière suivante :

    mon appli RCP qui appelle le navigateur est un simple template RCP (application with a view) où j'ai modifié uniquement la classe Perspective en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class Perspective implements IPerspectiveFactory {
    
    	public void createInitialLayout(IPageLayout layout) {
    		String editorArea = layout.getEditorArea();
    		layout.setEditorAreaVisible(false);
    		layout.setFixed(true);
    	        layout.addStandaloneView("org.eclipse.ui.views.CommonNavigator",  false, IPageLayout.LEFT, 1.0f, editorArea);
    	}
    
    }

    puis au niveau de mon plugin Navigateur, j'ai modifié le MANIFEST.MF en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Manifest-Version: 1.0
    Bundle-ManifestVersion: 2
    Bundle-Name: NavPlugin Plug-in
    Bundle-SymbolicName: NavPlugin; singleton:=true
    Bundle-Version: 1.0.0
    Bundle-Activator: navPlugin.NavPluginPlugin
    Bundle-Localization: plugin
    Require-Bundle: org.eclipse.ui,
     org.eclipse.core.runtime
    Eclipse-AutoStart: true
    Ant-Version: Apache Ant 1.5.4 
    Created-By: 2.1 (IBM Corporation)
    et le plugin.xml en :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?xml version="1.0" encoding="UTF-8"?>
    <?eclipse version="3.0"?>
    <plugin>
     
       <extension
             id="application"
             point="org.eclipse.core.runtime.applications">
          <application>
             <run
                   class="navPlugin.Application">
             </run>
          </application>
       </extension>
          <extension
             point="org.eclipse.ui.views">
          <view
                name="CommonNavigator"
                class="org.eclipse.ui.workbench.navigator.internal.Navigator"
                id="org.eclipse.ui.views.CommonNavigator">
          </view>
       </extension>
       <extension
             id="idnav"
             point="org.eclipse.core.runtime.products">
          <product
                application="NavPlugin.application"
                name="idnav"/>
       </extension>
     
    </plugin>

    j'ai créé les .product avec les dépendences pour mes 2 plugins mais lorsque je lance mon appli j'ai l'erreur suivante :


    Unable to create view: Plug-in NavPlugin was unable to load class org.eclipse.ui.workbench.navigator.internal.Navigator.

    java.lang.ClassNotFoundException: org.eclipse.ui.workbench.navigator.internal.Navigator
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:405)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:350)
    at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:78)
    at java.lang.ClassLoader.loadClass(Unknown Source).....



    donc mon appli à partir de l'id de la vue remonte au plugin Navigator mais ce plugin ne trouve pas la classe définisant ma vue, j'ai essayé avec différentes techniques (ajout des .jars dans le build path, création d'une vue dans le src...) rien à faire le plugin ne trouve pas la vue.

    je sais pas ça doit surement être une erreur de ma part au niveau du plugin.xml ou du manifest.mf.....

  16. #16
    Membre habitué Avatar de Tazmanian Devil
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Points : 149
    Points
    149
    Par défaut
    Je crois que tu te trompe en définissant ta vue dans ton plugin.xml : c'est le fournisseur de la vue qui la définie et la "montre" aux plugins externe, ce qui est déja fait dans l'exemple fourni (tu dois tout importer le contenu des zips fournis dans des plugins distinct).

    Tu devrais redéfinir ton but parceque là je crois que tu part en bib :
    Si tu dois utiliser "n'importe quelle" vue fournie par un plugin pour l'afficher dans ton appli RCP, prends une des vues propre à eclipse ou crée en une dans un plugin et utilise là. Ce sera plus simple que d'essayer de faire fonctionner un exemple (non RCP d'ailleur) datant de 2003 avec des classes deprecated et caetera.

    Si c'est cette vue que tu dois utiliser essaye déja de bien creer les 3 plugins exemples fourni en oubliant ton appli RCP, de compiler et d'executer dans un runtime Eclipse (comme c'est prévue à la base). Ensuite si ca marche, tu n'aura plus qu'a adapter le .product de ton application pour utiliser les plugins de la vue (via l'onglet configuration du .product et sans oublier de cliquer sur "Ajouter les plugins requis").

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Tu devrais redéfinir ton but
    Mon but est le suivant : j'aimerais réutiliser des vues contenus dans une appli RCP pour faire ma propre appli RCP, (en tout cas c'est le point de départ avant d'ajouter mes propres vues par la suite)

    Ce sera plus simple que d'essayer de faire fonctionner un exemple (non RCP d'ailleur) datant de 2003 avec des classes deprecated et caetera
    c'était juste en exemple car les erreurs sont les mêmes qu'avec les vues de l'appli dont je dois reprendre des "briques".

  18. #18
    Membre habitué Avatar de Tazmanian Devil
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Points : 149
    Points
    149
    Par défaut
    Donc je résume la procédure que tu dois suivre :
    Creer les projets de plugins contenant la vue à utiliser, avec tout ce qui est nécessaire sans y changer une ligne (plugin.xml, properties, manifest, etc...)

    Déclarer les dépendances vers ces plugins contenant les vues que tu veux utiliser dans ton plugin et dans ton .product,

    Creer une vue avec l'assistant (onglet Extension du plugin.xml) qui te permet de creer une vue exemple sans trop de fioriture. Ajouter l'extends de la vue cible dans la classe que l'assistant a généré.

    Ne rien changer dans ton plugin.xml (en tout cas ne pas ajouter l'extension de la vue dont tu hérite, ce n'est pas la peine, c'est déja fait par le plugin la contenant).
    [EDIT]j'ai oublié : ajoute si besoin l'affichage de ta vue :
    layout.addStandaloneView(TAVUE.ID, false, IPageLayout.LEFT, 1.0f, editorArea);
    ! ce nest pas l'id de la vue dont tu hérite.

    Normallement, comme ca, ca doit marcher.

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Merci de m'avoir mis sur la voie, en fait il y a une fonction d'Eclipse qui permet d'importer directement les plugins avec le manifest, le plugin.xml ... pour cela il suffit de faire import -> import external plug-ins and fragments, puis de choisir le dossier où est inclus le plugin... ainsi tous les "morceaux" sont importés.
    Maintenant ce que je voulais faire marche, donc je remercie tous ceux qui m'ont aidé.


  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 10
    Points
    10
    Par défaut précision svp
    Intégrer des parties d'un plugin existant m'interesse également. Intégrer un plugin en tant que required plugin c'est très simple, mais intégrer seulement des parties c'est autre chose (j'essaye en récupérant les sources et en forçant l'exposition des packages). Par contre ici je n'ai pas compris, il me semble que la fonction import permet d'importer dans eclipse mais pas dans un plugin-project, est-ce qu'il ne se serait pas fourvoyer?
    Si non comment accède t on à cette fonction svp?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/05/2015, 11h47
  2. [PPC][C#][Sql CE] erreur "no data exists for the row/column"
    Par Jessika dans le forum Windows Forms
    Réponses: 6
    Dernier message: 12/04/2007, 12h13
  3. [RCP] erreur lors de l'instanciaton de view, plugin.xml en cause?
    Par TabrisLeFol dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 06/07/2006, 13h52
  4. [Eclipse / Jonas] Erreur "jonas-entity missing for bean"
    Par citygirl dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 16/05/2005, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo