Default View maximieren

crombix

Grünschnabel
Hallo zusammen,

ich versuche gerade meine Default View-Größe zu maximieren aber es gelingt mir leider nicht.
Ich hab eine View wie folgt definiert :
Code:
public class HomeView extends ViewPart{
public void createPartControl(Composite parent) {		
		 
	     ScrolledComposite sc = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
	     Composite composite = new Composite(sc, SWT.NONE);
	     composite.setBackground(new Color(sc.getDisplay(), 217, 233, 250));
	     sc.setContent(composite);
	     sc.setExpandHorizontal(true);
	     sc.setExpandVertical(true);	
	     
	     composite.setLayout(new FillLayout());   
	      
	      Image image = new Image(composite.getDisplay(),"C:/icons/Bilddaten/bg.jpg");	     
	      composite.setBackgroundImage(image);
	      composite.setBackgroundMode(SWT.INHERIT_DEFAULT);
	      
	     
	      
	      sc.pack();
	      

	}

public void setFocus() {
		//form.getMaximizedControl().setFocus();
	}
}

Danach hab ich eine ViewAction definiert wie folgt:

Code:
public class ViewAction implements IWorkbenchWindowActionDelegate
{
  private IWorkbenchWindow window;
  public static final String ID="de.homeView"; // ID meiner View

  public ViewAction(){
    super();
  }
  
  public void run(IAction action)
  {
   
   if (window == null)
   {
     return;
   }
    
    IWorkbenchPage page = window.getActivePage();
    if (page==null)
    {
      return;
    }
    
    try
    {
     
    // Hier versuche ich alle Editoren zu schließen wenn die View aufgerufen wird
     page.closeAllEditors(true);     
      
      page.showView(ID);  // hier zeige ich meine View
    
    
    } catch (PartInitException e)
    {
     
      e.printStackTrace();
    }
    
    
  }

  @Override
  public void selectionChanged(IAction action, ISelection selection)
  {
    // TODO Auto-generated method stub
    
  }

  @Override
  public void dispose()
  {
    // TODO Auto-generated method stub
    
  }

  @Override
  public void init(IWorkbenchWindow window)
  {
   this.window = window;
    
  }

}

Wenn ich jetzt meine View aufrufe duch ein klick auf das Action-Button dann öffnet sich meine View und schließen sich die anderen Editoren, das ist soweit gut, aber ich kriege meine View nicht maximiert ! also um das hinzukriegen muss ich das immer manuell so machen, dass ich das Editor daneben minimiere.. kann man das irgendwie automatisch machen ?

Danke für eure Hilfe !
LG
Crombix.
 
Auf der Page
part.getSite().getPage()
hast du zoom-Methoden um zu minimieren und maximieren. Ich habs nicht getestet, kannst ja mal berichten :)
 
Hi zeja,
ich hab das inzwischen gelöst ! Und zwar mit der Methode page.setEditorAreaVisible(false);
Danke dir trotzdem für die Antwort.
LG,
Crombix.
 
Hallo nochmal,
ich hab überlegt meine view als Editor zu deklarieren ?! Also nicht den ViewPart zu erweitern sondern vielleicht den EditorPart ! Ob das möglich ist weiss ich noch nicht ! Es wäre aber hilfreich da es möglich ist über die RCP-Properties nur einen Editor für die ganze Area zu erlauben der auch den vorher geöffneten selber schließt !
Kann man denn sowas machen ? Einen Editor zu implementieren, welcher nicht über eine bestimmte Datei geöffnet wird sondern direkt über ein Toolbar Button ! Hat schon mal jemand eine Erfahrung damit gemacht ?
Ich wäre für jede Antwort sehr dankbar !
LG,
crombix.
 
Hi,
Falls es noch jemand inetressiert, die Antwort heisst ja ! Ich hab's hinbekommen ! Als EditorInput kann man einen neuen erzeugen mit IEditorInput input = new IEditorInput(), es werden dann automatisch die notwendigen unimplementierten Methoden erzeugt, da muss man nur noch die beiden Methoden getName() und getToolTipText() mit inhalt füllen damit sie keine null zurückgeben ! sonst mekert das Editor !!
LG, Crombix.
 
Zurück