2010-09-08 7 views
3

Pour un produit que nous sommes en train de créer, nous voulons pouvoir afficher l'écran d'accueil dans une perspective (que nous appelons «Commencer ici»). L'intro est la seule chose qui doit être dans cette perspective, cependant, quand j'essaie d'ajouter notre vue d'intro à la perspective, elle dit que la vue existe déjà dans la mise en page.Rendre Eclipse RCP Intro partie d'une perspective

J'ai essayé de fermer l'intro par programmation, de déconner avec le mode veille, mais je n'arrive pas à le faire fonctionner.

L'intro est un XHTML un et nous utilisons des « liens d'action » Eclipse interne (par exemple http://org.eclipse...?runAction etc.) largement (d'où la raison pour laquelle nous avons besoin d'utiliser le cadre d'introduction.

Est-ce que quelqu'un a des idées quant à la façon Je pourrais l'ajouter à une perspective, ou tout au moins obtenir l'intro pleinement maximisée lorsque vous sélectionnez une perspective spécifique (en utilisant la méthode "showIntro", il affiche bizarrement, regroupés sur un côté)

Merci!

Répondre

0

Au lieu d'ajouter la vue à la perspective, appelez IIntroManager.showInt ro() ou WorkbenchWindowAdvisor.openIntro()

1

La vue d'introduction est une vue persistante, de sorte que son espace réservé est créé par défaut pour chaque perspective, à droite de la zone de l'éditeur. Il n'y a pas d'API publique pour supprimer un espace réservé une fois qu'il est créé et lorsque vous essayez d'en créer un, vous obtenez l'erreur qui existe déjà.

Vous pouvez maximiser vue Intro comme ceci:

IWorkbenchPage page = 
    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); 
page.setPartState(page.findViewReference("org.eclipse.ui.internal.introview"), 
    IWorkbenchPage.STATE_MAXIMIZED); 

Cela devrait probablement être fait dans IPerspectiveListener .perspectiveChanged() plutôt que dans l'usine en perspective.

Questions connexes