jfreerails.client.view
Class MainMapAndOverviewMapMediator

java.lang.Object
  extended by javax.swing.event.MouseInputAdapter
      extended by jfreerails.client.view.MainMapAndOverviewMapMediator
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.util.EventListener, javax.swing.event.MouseInputListener

public class MainMapAndOverviewMapMediator
extends javax.swing.event.MouseInputAdapter

This class mediates between the main map view and the overview map view. It does the following:
(1) Updates the rectangle on the overview map when the visible rectangle of the main map changes.
(2) Updates the main map visible rectangle when the user clicks on the overview map.
(3) Updates the main map visible rectangle when the user drags the rectangle on the overview map.
(4) Changes the mouse cursor to indicate that the rectangle on the overview map is draggable when the mouse moves into the rectangle.

Version:
1.0
Author:
Luke Lindsay

Field Summary
private  java.awt.Rectangle currentVisRect
           
private  boolean draggingAndStartedInside
           
private  boolean inside
           
private  java.awt.Point lastMouseLocation
           
private  javax.swing.JComponent mainMap
           
private  javax.swing.JComponent overviewMapJPanel
           
private  javax.swing.JViewport viewport
           
 
Constructor Summary
MainMapAndOverviewMapMediator()
           
MainMapAndOverviewMapMediator(javax.swing.JComponent omv, javax.swing.JViewport v, javax.swing.JComponent mm, java.awt.Rectangle rect)
           
 
Method Summary
 void mouseClicked(java.awt.event.MouseEvent evt)
           
 void mouseDragged(java.awt.event.MouseEvent evt)
           
 void mouseMoved(java.awt.event.MouseEvent evt)
           
 void mousePressed(java.awt.event.MouseEvent evt)
           
 void mouseReleased(java.awt.event.MouseEvent evt)
           
 void setup(javax.swing.JComponent omv, javax.swing.JViewport v, javax.swing.JComponent mm, java.awt.Rectangle rect)
           
private  void updateInside(java.awt.event.MouseEvent evt)
           
private  void updateObservedRect()
           
 
Methods inherited from class javax.swing.event.MouseInputAdapter
mouseEntered, mouseExited
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

overviewMapJPanel

private javax.swing.JComponent overviewMapJPanel

viewport

private javax.swing.JViewport viewport

mainMap

private javax.swing.JComponent mainMap

currentVisRect

private java.awt.Rectangle currentVisRect

lastMouseLocation

private java.awt.Point lastMouseLocation

inside

private boolean inside

draggingAndStartedInside

private boolean draggingAndStartedInside
Constructor Detail

MainMapAndOverviewMapMediator

public MainMapAndOverviewMapMediator()

MainMapAndOverviewMapMediator

public MainMapAndOverviewMapMediator(javax.swing.JComponent omv,
                                     javax.swing.JViewport v,
                                     javax.swing.JComponent mm,
                                     java.awt.Rectangle rect)
Method Detail

setup

public void setup(javax.swing.JComponent omv,
                  javax.swing.JViewport v,
                  javax.swing.JComponent mm,
                  java.awt.Rectangle rect)

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent evt)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Overrides:
mouseMoved in class javax.swing.event.MouseInputAdapter

mousePressed

public void mousePressed(java.awt.event.MouseEvent evt)
Specified by:
mousePressed in interface java.awt.event.MouseListener
Overrides:
mousePressed in class javax.swing.event.MouseInputAdapter

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent evt)
Specified by:
mouseReleased in interface java.awt.event.MouseListener
Overrides:
mouseReleased in class javax.swing.event.MouseInputAdapter

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent evt)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener
Overrides:
mouseDragged in class javax.swing.event.MouseInputAdapter

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent evt)
Specified by:
mouseClicked in interface java.awt.event.MouseListener
Overrides:
mouseClicked in class javax.swing.event.MouseInputAdapter

updateInside

private void updateInside(java.awt.event.MouseEvent evt)

updateObservedRect

private void updateObservedRect()