Aktuelle Perspektive

Status
Nicht offen für weitere Antworten.
G

Gast2

Gast
Ich gebe in einem Textfeld etwas ein und je nachdem möchte ich in einer perspektive eine neue view öffnen...


Code:
IPerspectiveDescriptor per = PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(Perspective.ID);

aber ich weiß jetzt wie ich der perspektive eine neue view hinzufügen kann
 
G

Gast2

Gast
Code:
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(ID);

ok habs...

ich habe mehrer editoren die gaenua gleich sind und für jeden editor möchte ich die gleiche view öffnen nur mit andere daten sobald ich doSave aufrufe aber wenn ich es so wie oben öffne wird immer nur eine View geöffnet und keine weiterne mehr ... wie erstelle ich jedes mal eine neue view???
und kann man in createPartControl die größe der view heruasfinden??? weil ich würde gernen eine Tabelle je nachdem wie groß die wird anpassen... also die colums breiten geht das???

thx
 

Wildcard

Top Contributor
Für Multiple Views musst du
a)allowMultiple auf true setzen
b)die View über eine primary und eine secondary ID ansprechen
 
G

Gast2

Gast
okay a) hab ich im plugin.xml auf true gesetzt

aber wo setze ich die secondaryId und für was???

also ich würde gerne eine 1:n zu beziehung zwischen meinem editor und meiner views haben.... im notfall würde auch 1:1 gehen...
 
G

Gast2

Gast
mhm...

Code:
  public void doSave(IProgressMonitor monitor)
  {

    try
    {
      PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(TableView.ID,sec,thr);
    }
    catch (PartInitException e)
    {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }


  }


der 3te parameter ist klar... aber woher weiß ich jetzt ob es die erste view ist oder eine neue instanz ????
 
G

Gast2

Gast
ja des hab ich mir gedacht aber wie ist ja meine frage...
er geht ja über die viewid... ich dachte ich kann ihm halt jedes mal eine neue instanz mit meinem datenmodel übergeben... und er zeigt diese dann an...

also ich drücke einen button in einer EditorPart dann soll eine neue instanz der view aufgehen die meine daten anzeigt..... also ich kann ja mehrer edioren öffnen die gleich aussehen und verschiedene sachen eingeben und je nachdem soll halt eine neue view aufgehen in der ich mein datenmodel mitgebe...

ich frage mich halt wie das nur über eine id gehen soll, weil dann benutzt er ja immer die gleiche instanz anstatt eine neue zu machen...

oder muss ich eine statische variable in meiner view anlegen die quasi meine views mitzählt
und des immer als schlüssel mitgeben???
 
G

Guest

Gast
und wie kann ich meiner view daten übergeben???????
ich hab ja kein objekt von meiner view... versteh ich jetzt nicht ganz
???:L
 
G

Gast2

Gast
also ich habe es jetzt so gelöst aber das ist doch unschön ...
gibt es keine bessere Lösung??? :roll:

Code:
public void doSave()
{
    try
    {   PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(TableView.ID,String.valueOf(TableView.SECID),IWorkbenchPage.VIEW_ACTIVATE);
      PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView(TableView.ID);
      TableView a = (TableView) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findViewReference(TableView.ID, String.valueOf(TableView.SECID)).getView(true);
      a.setModel(mModel);
      TableView.SECID = TableView.SECID+1;
    }
    catch (PartInitException e)
    {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

}
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben