Hallo!
habe folgendes Problem! in eineme Composite befinden sich mehre Composites in diesen Compoistes befinden sich mehree Canvas.
Diese sind in den Composites verschiebbar und vergrößerbar, das habe ich mit der Cursorposition und mousedown und mousemove listener gelöst! Jetzt möchte ich einem Canvas einen neuen Parent zuordnen! d.h. wenn ich die Maustaste über den canvas derückt halt und bei einem Composite ein mouseEnter Event aufrufe, dann soll die Canvas diese Composite als Parent erhalten! Ich habe also ein SWT.Mousdown event für das Canvas und ein MouseEnterEvent für das Composite! Leider funkt. das MouseEnterEvent nicht mehr wenn die Maustaste auf dem Canvas gedrückt bleibt! d.h ich möchte einen sogenannten Drag&Drop Effekt der aber selber ausprogrammiert ist, da ich möchte, dass das Canvas immer sichtbar bleibt und weiter verschiebbar ist wenn es einen neuen parent erhält!
Hier nocht etwas Code:
habe folgendes Problem! in eineme Composite befinden sich mehre Composites in diesen Compoistes befinden sich mehree Canvas.
Diese sind in den Composites verschiebbar und vergrößerbar, das habe ich mit der Cursorposition und mousedown und mousemove listener gelöst! Jetzt möchte ich einem Canvas einen neuen Parent zuordnen! d.h. wenn ich die Maustaste über den canvas derückt halt und bei einem Composite ein mouseEnter Event aufrufe, dann soll die Canvas diese Composite als Parent erhalten! Ich habe also ein SWT.Mousdown event für das Canvas und ein MouseEnterEvent für das Composite! Leider funkt. das MouseEnterEvent nicht mehr wenn die Maustaste auf dem Canvas gedrückt bleibt! d.h ich möchte einen sogenannten Drag&Drop Effekt der aber selber ausprogrammiert ist, da ich möchte, dass das Canvas immer sichtbar bleibt und weiter verschiebbar ist wenn es einen neuen parent erhält!
Hier nocht etwas Code:
Code:
//Mouslistener für das Canvas canvas.addListener(SWT.MouseDown, new Listener(){
public void handleEvent(Event event) {
activeCanvas=canvas;
}
});
canvas.addListener(SWT.MouseUp, new Listener(){
public void handleEvent(Event event) {
activeCanvas=null;
}
});
Code:
//EnterListener für das Compiste
comp.addListener(SWT.MouseEnter, new Listener(){
public void handleEvent(Event event) {
if(activeCanvas!=null){
activeCanvas.setParent(comp);
}
}
});