X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.g2d%2Fsrc%2Forg%2Fsimantics%2Fg2d%2Fcanvas%2Fimpl%2FMouseCaptureHandle.java;h=010b9985a156a548c22c07e4fc21eb4688cd39d0;hp=a57d979cdc444528607f53e483314c4fc5b2666e;hb=refs%2Fchanges%2F38%2F238%2F2;hpb=24e2b34260f219f0d1644ca7a138894980e25b14 diff --git a/bundles/org.simantics.g2d/src/org/simantics/g2d/canvas/impl/MouseCaptureHandle.java b/bundles/org.simantics.g2d/src/org/simantics/g2d/canvas/impl/MouseCaptureHandle.java index a57d979cd..010b9985a 100644 --- a/bundles/org.simantics.g2d/src/org/simantics/g2d/canvas/impl/MouseCaptureHandle.java +++ b/bundles/org.simantics.g2d/src/org/simantics/g2d/canvas/impl/MouseCaptureHandle.java @@ -1,71 +1,71 @@ -/******************************************************************************* - * Copyright (c) 2007, 2010 Association for Decentralized Information Management - * in Industry THTH ry. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.g2d.canvas.impl; - -import org.simantics.g2d.canvas.IMouseCaptureHandle; -import org.simantics.g2d.canvas.IMouseCaptureHandleListener; -import org.simantics.utils.datastructures.ListenerList; - -/** - * @author Toni Kalajainen - */ -public class MouseCaptureHandle implements IMouseCaptureHandle { - - boolean released = false; - final int mouseId; - ListenerList listeners; - - public MouseCaptureHandle(int mouseId) - { - this.mouseId = mouseId; - } - - @Override - public int mouseId() { - return mouseId; - } - - @Override - public void release() { - synchronized(this) { - if (released) return; - released = true; - } - fireOnReleased(); - } - - void fireOnReleased() { - ListenerList lis; - synchronized(this) { - lis = listeners; - if (lis==null) return; - } - - for (IMouseCaptureHandleListener l : lis.getListeners()) - l.onCaptureReleased(this); - } - - @Override - public void removeMouseCaptureHandleListener(IMouseCaptureHandleListener listener) { - if (listeners == null) return; - listeners.remove(listener); - } - - @Override - public synchronized void addMouseCaptureHandleListener(IMouseCaptureHandleListener listener) { - if (listeners == null) { - listeners = new ListenerList(IMouseCaptureHandleListener.class); - } - listeners.add(listener); - } - -} +/******************************************************************************* + * Copyright (c) 2007, 2010 Association for Decentralized Information Management + * in Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.g2d.canvas.impl; + +import org.simantics.g2d.canvas.IMouseCaptureHandle; +import org.simantics.g2d.canvas.IMouseCaptureHandleListener; +import org.simantics.utils.datastructures.ListenerList; + +/** + * @author Toni Kalajainen + */ +public class MouseCaptureHandle implements IMouseCaptureHandle { + + boolean released = false; + final int mouseId; + ListenerList listeners; + + public MouseCaptureHandle(int mouseId) + { + this.mouseId = mouseId; + } + + @Override + public int mouseId() { + return mouseId; + } + + @Override + public void release() { + synchronized(this) { + if (released) return; + released = true; + } + fireOnReleased(); + } + + void fireOnReleased() { + ListenerList lis; + synchronized(this) { + lis = listeners; + if (lis==null) return; + } + + for (IMouseCaptureHandleListener l : lis.getListeners()) + l.onCaptureReleased(this); + } + + @Override + public void removeMouseCaptureHandleListener(IMouseCaptureHandleListener listener) { + if (listeners == null) return; + listeners.remove(listener); + } + + @Override + public synchronized void addMouseCaptureHandleListener(IMouseCaptureHandleListener listener) { + if (listeners == null) { + listeners = new ListenerList(IMouseCaptureHandleListener.class); + } + listeners.add(listener); + } + +}