| 1 6 7 package com.thoughtriver.open.vectorvisuals.ui; 8 9 import java.awt.*; 10 import java.awt.event.*; 11 12 import com.thoughtriver.open.vectorvisuals.*; 13 14 24 public class VVMouseListener extends MouseAdapter implements MouseWheelListener { 25 26 27 private SelectionManager selectionManager = null; 28 29 30 private VVDisplay vvDisplay = null; 31 32 33 private boolean viewportZoomable = false; 34 35 42 public VVMouseListener(final VVDisplay vvDisplay) { 43 this(vvDisplay, SelectionManager.getSharedInstance()); 44 } 45 46 55 public VVMouseListener(final VVDisplay vvDisplay, final SelectionManager selectionManager) { 56 this.vvDisplay = vvDisplay; 57 this.selectionManager = selectionManager; 58 59 vvDisplay.getViewPane().setCursor(Cursor.getDefaultCursor()); 61 } 62 63 70 public VVDisplay getVVDisplay() { 71 return vvDisplay; 72 } 73 74 81 public boolean isViewportZoomable() { 82 return viewportZoomable; 83 } 84 85 92 public void setViewportZoomable(final boolean viewportZoomable) { 93 this.viewportZoomable = viewportZoomable; 94 } 95 96 102 @Override  103 public void mouseClicked(final MouseEvent e) { 104 VisualObject clickedOn = getVVDisplay().getVisualObjectAt(e.getX(), e.getY()); 105 selectionManager.setSelectedObject(clickedOn); 106 } 107 108 114 @Override  115 public void mouseWheelMoved(final MouseWheelEvent e) { 116 if (isViewportZoomable()) { 117 int rotation = e.getWheelRotation(); 118 double scale = getVVDisplay().getWorldViewScale(); 119 scale += ((scale * 0.15) * rotation); 120 121 getVVDisplay().setWorldViewScale(scale); 122 } 123 } 124 125 } 126 | Popular Tags |