Bonjour,
Je travaille sur le développement d'un plugin Eclipse et je me demande comment ouvrir un éditeur (Editor) dans une nouvelle fenêtre?
Dans les préférences Eclipse j'ai coché la case "Open a new perspective in a new window" dans le General/Perspectives.
Mon problème c'est que la perspective correspondant à mon plugin s'ouvre bien dans une nouvelle fenêtre. Les Views sont bien crées dans cette nouvelle fenêtre mais l'éditeur, lui, reste dans ma fenêtre principale.
Y a t'il quelque chose à faire pour que l'éditeur s'ouvre lui aussi dans une nouvelle fenêtre (évidemment si l'option est cochée dans les préférences)?
PS: j'utilise Eclipse 3.1
Dans la documentation d'Eclipse il est écrit que : "A perspective page layout is initialized with one area for displaying an editor. "
Dans la nouvelle fenêtre lié à mon plugin, les Views sont bien affichées tel que définies dans une classe implémentant IPerspectiveFactory mais l'espace associé à l'éditeur est désespérément vide et l'éditeur reste toujours dans ma première fenêtre Eclipse.
Est-ce un bug d'Eclipse? ou y aurait t'il une initialisation particulière à faire?
J'ai une classe persoEditorPart qui hérite de WorkbenchPart et implémente IEditorPart.
Mon éditeur persoEditor hérite de MultiPageEditorPart et redéfinit entre autres les méthodes :
public void addPage(IEditorPart page,String title)
protected void createPages()
et private void createGeneralPage()
Voici le code associé:
Code :
- protected void createPages() {
- createGeneralPage () ;
- }
|
Code :
- private void createGeneralPage() {
- // Set page name:
- setPartName(getEditorInput().getName());
- // Create pages
- mypartPage = new persoEditorPart (this);
- addPage (mypartPage, "Editor_title" ) ;
- }
|
Code :
- public void addPage(IEditorPart page, String title)
- {
- try {
- // Create the page
- addPage (page, getEditorInput()) ;
- // Set title
- setPageText(getPageCount() - 1, title) ;
- // Make the new tab visible:
- CTabFolder tabFolder = (CTabFolder)getContainer() ;
- CTabItem tabItem = tabFolder.getItem(getPageCount() - 1) ;
- tabItem.addDisposeListener(new DisposeListener () {
- public void widgetDisposed(DisposeEvent e) {
- ((CTabItem)e.widget).getControl().dispose() ;
- }
- }) ;
- tabFolder.setSelection(tabItem) ;
- tabFolder.showSelection() ;
- pages.add (page) ;
- } catch (PartInitException e) {
- logger.error("Cannot create the page in perso editor", e);
- }
- }
|
Les addPage m'ajoutent des pages sur la page principale d'Eclipse mais pas sur la perspective associée à mon plugin. Comment pourrais-je lui dire de se lancer dans sa perspective associée?
Message édité par kadreg le 21-03-2007 à 16:18:12