Lösung: Interface
ISizeProvider
Normalerweise verhält sich die Höhe und die Breite einer ViewPart in einer festgelegten Ralation zur Größe des Fensters und anderer ViewPart Elemente. Das Beispiel zeigt, wie die Höhe und Breite einer View fixiert werden kann.
class MyView extends ViewPart implements ISizeProvider
{
public static final String ID = "myapp.MyView";
public void createPartControl(Composite composite) {
//..
}
public int getSizeFlags(boolean width)
{
return SWT.MIN;
}
public int computePreferredSize(
boolean width,
int availableParallel,
int availablePerpendicular,
int preferredResult)
{
if (!width)return 200;
return 1000;
}
}
Mit dem Rückgabewert
SWT.MIN
in der Methode getSizeFlags
wird festgelegt, wann die Methode computePreferredSize
aufgerufen wird. Da wir in unserem Beispiel die Höhe und die Breite fixieren möchten kann der boolean
Parameter der Methode getSizeFlags
ignoriert werden. Der Rückgabewert kann daher fest auf SWT.MIN
gestellt werden. In der Methode computePreferredSize
wird in Abhängigkeit vom Parameter width
die Mindestbreite oder Mindesthöhe zurückgegeben.
Keine Kommentare:
Kommentar veröffentlichen