Ich habe ein ViewPart, das mit einem normalen Plugin-Erweiterungspunkt mit einem Verhältnis erstellt wird, das seine Höhe definiert. Zu einem späteren Zeitpunkt habe ich einen Codeblock, der dem Canvas für das ViewPart einige weitere Dinge hinzufügt. Die neuen Elemente werden nicht angezeigt, es sei denn, der Benutzer zieht den Rand des ViewPart, um es größer zu machen. Gibt es eine Möglichkeit, dem ViewPart programmgesteuert mitzuteilen, dass die Größe des Objekts entweder dem aktuellen Inhalt oder einem von mir angegebenen Wert entspricht?Wie programmiere ich die Größe eines Eclipse ViewPart programmatisch?
Antwort
Wenn ich mich richtig erinnere, gibt es keine Möglichkeit, ein ViewPart zu bitten, seine Größe zu ändern. Wir sind auf dieses Problem schon vorher (in RCP 3.4) gestoßen und ich glaube, wir mussten es umgehen.
Ich denke, was wir tun würden, war, zuerst alle möglichen Kontrollen hinzuzufügen und sie dann zu verstecken. Wir haben dies jedoch mit einem Assistenten gemacht, also haben wir nur die erste Seite angezeigt und die Steuerelemente waren nicht unglaublich dynamisch. Zum Beispiel wussten wir die maximale Anzahl von Steuerelementen und nichts war vom Benutzer modifizierbar.
"Die kurze Antwort ist, dass Sie nicht immer die Größe und Position Ihrer Ansicht steuern können."
Mehr unter Eclipse FAQ.
Sie können es funktionieren lassen, aber nur für Ansichten, die sich in ihrem eigenen Ansichtsstapel befinden. Siehe die JavaDoc für IViewPart:
As of 3.4, views may optionally adapt to ISizeProvider if they have a
preferred size. The default presentation will make a best effort to
allocate the preferred size to a view if it is the only part in a stack.
If there is more than one part in the stack, the constraints will be
disabled for that stack. The size constraints are adjusted for the size
of the tab and border trim. Note that this is considered to be a hint to
the presentation, and not all presentations may honor size constraints.
dies in Aktion sehen, die das UI-Testprojekt wie here und öffnen Sie die Ansicht „Layout Einschränkungen Test“ genannt.
Das war super! Ich danke dir sehr. Hier ist die Datei, wenn jemand interessiert ist: https://github.com/eclipse/eclipse.platform.ui/blob/master/tests/org.eclipse.ui.tests/Eclipse%20UI%20Tests/org/eclipse/ui /tests/layout/constraints/LayoutConstraintsView.java – parasietje