Skip to main content

Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » GEF » Mouse events
Mouse events [message #226582] Fri, 17 November 2006 11:34
Eclipse UserFriend
Originally posted by:

We have a figure (f1) which results from an edit part, this handles direct
edit requests. Sometimes this figure is positioned such that it overlaps
with another figure (f2) that does not result from an edit part. Because
of the overlap, it is often possible to try and invoke a direct request on
f1 by clicking f2. We want to prevent f2 consuming these events and make
sure the events reach f1.

Here is what we have tried:

1) In f2 setting the isMouseEventTarget to return false, although f2 stops
processing the events f1 still does not get these.

2) Adding a listener to f2 so that a direct edit request is created for f1
as result of events on f1. The direct request is created, but a refocus
seems to cause the DirectEditManager to be brought down immediately (see
the stack trace at the bottom of this messsage).

Ideally I want the viewer to treat f2 as if it was not there as far as
mouse events are concerned. How do I go about this?



Thread [main] (Suspended (entry into method commit in DirectEditManager))
TextEditManager(DirectEditManager).commit() line: 109
DirectEditManager$4.applyEditorValue() line: 241
CellEditor$ line: 304 line: 1044 line: 783
JFaceUtil$ line: 44 line: 148
TextCellEditor(CellEditor).fireApplyEditorValue() line: 302
TextCellEditor(CellEditor).focusLost() line: 676
TextCellEditor$5.focusLost(FocusEvent) line: 184
TypedListener.handleEvent(Event) line: 109
EventTable.sendEvent(Event) line: 66
Text(Widget).sendEvent(Event) line: 843
Text(Widget).sendEvent(int, Event, boolean) line: 867
Text(Widget).sendEvent(int) line: 848
Text(Control).sendFocusEvent(int) line: 1841
Text(Widget).wmKillFocus(int, int, int) line: 1586
Text(Control).WM_KILLFOCUS(int, int) line: 3356
Text(Control).windowProc(int, int, int, int) line: 3069
Text.windowProc(int, int, int, int) line: 1777
Display.windowProc(int, int, int, int) line: 3751
OS.SetFocus(int) line: not available [native method]
FigureCanvas(Control).forceFocus() line: 651
DomainEventDispatcher.dispatchMousePressed(MouseEvent) line: 340
LightweightSystem$EventHandler.mouseDown(MouseEvent) line: 522
TypedListener.handleEvent(Event) line: 133
EventTable.sendEvent(Event) line: 66
FigureCanvas(Widget).sendEvent(Event) line: 843
Display.runDeferredEvents() line: 3125
Display.readAndDispatch() line: 2758
Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 1699
Workbench.runUI() line: 1663
Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 367
PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 143 line: 32
PlatformActivator$ line: 226 line: 376[], Runnable) line: 163
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available
Method.invoke(Object, Object...) line: not available
Main.invokeFramework(String[], URL[]) line: 334
Main.basicRun(String[]) line: 278[]) line: 973
Main.main(String[]) line: 948
Previous Topic:How to create a dendrogram
Next Topic:Why nobody cares about Cut, Copy and Paste ?
Goto Forum:

Current Time: Wed Dec 01 16:53:50 GMT 2021

Powered by FUDForum. Page generated in 0.02240 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top