Ignore:
Timestamp:
01/13/12 15:33:03 (8 years ago)
Author:
aivar
Message:

Refactoring.

Location:
trunk/projects/slim-plugin/src/main/java/imagej/charts/cursors
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/projects/slim-plugin/src/main/java/imagej/charts/cursors/Cursor.java

    r7858 r7866  
    66package imagej.charts.cursors; 
    77 
     8import java.awt.Rectangle; 
    89import java.util.ArrayList; 
     10import java.util.HashSet; 
    911import java.util.List; 
     12import java.util.Set; 
    1013 
    1114/** 
     
    2326    int _ids; 
    2427    Orientation _orientation; 
    25     List<ICursorMoveListener> _moveListeners = new ArrayList<ICursorMoveListener>(); 
    26     List<ICursorDragListener> _dragListeners = new ArrayList<ICursorDragListener>(); 
    27     List<ICursorStretchListener> _stretchListeners = new ArrayList<ICursorStretchListener>(); 
     28    private volatile boolean _dragListening; 
     29    private volatile boolean _moveListening; 
     30    private volatile boolean _stretchListening; 
     31    private Set<ICursorDragListener> _dragListener; 
     32    private Set<ICursorMoveListener> _moveListener; 
     33    private Set<ICursorStretchListener> _stretchListener; 
     34    private Rectangle _rectangle; 
    2835 
    2936    public Cursor() { 
     
    4148    private void init(int ids, Orientation orientation) { 
    4249        _ids = ids; 
     50        _dragListening = _moveListening = _stretchListening = false; 
     51        _dragListener = new HashSet<ICursorDragListener>(); 
     52        _moveListener = new HashSet<ICursorMoveListener>(); 
     53        _stretchListener = new HashSet<ICursorStretchListener>(); 
     54        _rectangle = null; 
    4355    } 
    4456 
    45     public void addMoveListener(ICursorMoveListener listener) { 
    46         synchronized (_moveListeners) { 
    47             _moveListeners.add(listener); 
    48         } 
     57    public void addCursorDragListener(ICursorDragListener dragListener) { 
     58        _dragListener.add(dragListener); 
     59        _dragListening = true; 
    4960    } 
    5061 
    51     public void addDragListener(ICursorDragListener listener) { 
    52         synchronized (_dragListeners) { 
    53             _dragListeners.add(listener); 
    54         } 
     62    public void removeCursorDragListener(ICursorDragListener dragListener) { 
     63        _dragListener.remove(dragListener); 
     64        _dragListening = _dragListener.size() > 0; 
    5565    } 
    5666 
    57     public void addStretchListener(ICursorStretchListener listener) { 
    58         synchronized (_stretchListeners) { 
    59             _stretchListeners.add(listener); 
    60         } 
     67    public void addCursorMoveListener(ICursorMoveListener moveListener) { 
     68        _moveListener.add(moveListener); 
     69        _moveListening = true; 
    6170    } 
    6271 
    63     public void removeMoveListener(ICursorMoveListener listener) { 
    64         synchronized (_moveListeners) { 
    65             _moveListeners.remove(listener); 
    66         } 
     72    public void removeCursorMoveListener(ICursorMoveListener moveListener) { 
     73        _moveListener.remove(moveListener); 
     74        _moveListening = _moveListener.size() > 0; 
    6775    } 
    6876 
    69     public void removeDragListener(ICursorDragListener listener) { 
    70         synchronized (_dragListeners) { 
    71             _dragListeners.remove(listener); 
    72         } 
     77    public void addCursorStretchListener(ICursorStretchListener stretchListener) { 
     78        _stretchListener.add(stretchListener); 
     79        _stretchListening = true; 
    7380    } 
    7481 
    75     public void removeStretchListener(ICursorMoveListener listener) { 
    76         synchronized (_stretchListeners) { 
    77             _stretchListeners.remove(listener); 
    78         } 
     82    public void removeCursorStretchListener(ICursorStretchListener stretchListener) { 
     83        _stretchListener.remove(stretchListener); 
     84        _stretchListening = _stretchListener.size() > 0; 
    7985    } 
     86 
     87    public void setRectangle(Rectangle rectangle) { 
     88        _rectangle = rectangle; 
     89    } 
     90 
     91    public boolean mouseDragged(int x, int y) { 
     92        return false; 
     93    } 
     94 
     95    public boolean mouseMoved(int x, int y) { 
     96        return false; 
     97    } 
     98 
    8099} 
  • trunk/projects/slim-plugin/src/main/java/imagej/charts/cursors/CursorLayer.java

    r7858 r7866  
    88import java.awt.Rectangle; 
    99import java.util.ArrayList; 
     10import java.util.HashSet; 
    1011import java.util.List; 
     12import java.util.Set; 
    1113import javax.swing.JPanel; 
    1214 
     
    2022    private volatile Rectangle _rectangle = null; 
    2123    private JPanel _panel; 
    22     private List<Cursor> _cursorList; 
     24    private Set<Cursor> _cursorSet; 
    2325 
    2426    public CursorLayer(JPanel panel) { 
    2527        _panel = panel; 
    26         _cursorList = new ArrayList<Cursor>(); 
     28        _cursorSet = new HashSet<Cursor>(); 
    2729    } 
    2830 
    2931    public void addCursor(Cursor cursor) { 
    30         _cursorList.add(cursor); 
     32        _cursorSet.add(cursor); 
     33    } 
     34 
     35    public void removeCursor(Cursor cursor) { 
     36        _cursorSet.remove(cursor); 
    3137    } 
    3238 
     
    3541            public void setRectangle(Rectangle rectangle) { 
    3642                _rectangle = rectangle; 
     43                for (Cursor cursor : _cursorSet) { 
     44                    cursor.setRectangle(rectangle); 
     45                } 
    3746                repaint(); 
    3847            } 
Note: See TracChangeset for help on using the changeset viewer.