durchgedreht
Grünschnabel
Hallo,
habe Probleme mit einem Widget (Sash). Dieses dient mir als Trenner zweier Tree-Ansichten links und rechts, welche ich mit linien verbinden will. Die linien kann ich zeichen. Allerdings habe ich Probleme, wenn sich diese Linien Ämndern. Die ric htigen Listener habe ich schon eingehängt, und diese werden auch nur dann aktiviert, wenn sie es sollen - daran liegt es nicht!
ABER:
Wenn ich den Lister Aufrufe und ich nur die Linien zeichne ist alles ok, aber die Linien werden halt dann immer mehr und übereinandergezeichnet. Wenn ich redraw() aufrufe, werden anscheined erst die Linien gezeichnet und danach
ein repaint ausgeführt, so daß ich ein leeres Sash erhalte.
Wie kann ich ERST das redraw() ausführen und DANACH die Linien zeichnen. In der Javadoc steht was von "mark for redraw()", aber ich muß das ja auch irgendwie erzwingen können.
THX!
habe Probleme mit einem Widget (Sash). Dieses dient mir als Trenner zweier Tree-Ansichten links und rechts, welche ich mit linien verbinden will. Die linien kann ich zeichen. Allerdings habe ich Probleme, wenn sich diese Linien Ämndern. Die ric htigen Listener habe ich schon eingehängt, und diese werden auch nur dann aktiviert, wenn sie es sollen - daran liegt es nicht!
ABER:
Wenn ich den Lister Aufrufe und ich nur die Linien zeichne ist alles ok, aber die Linien werden halt dann immer mehr und übereinandergezeichnet. Wenn ich redraw() aufrufe, werden anscheined erst die Linien gezeichnet und danach
Wie kann ich ERST das redraw() ausführen und DANACH die Linien zeichnen. In der Javadoc steht was von "mark for redraw()", aber ich muß das ja auch irgendwie erzwingen können.
THX!
Code:
private void renderLinks(final Sash sash, int orientation){
// sash.getDisplay().asyncExec(
// new Runnable() {
// public void run(){
// sash.redraw();
// }
// }
// );
//
sash.redraw();
CurvePainter cp = new CurvePainter();
...
hier werden jetzt per CurvePainter und GC die Linien gezeichnet
....