// ----------- handle mouse events -----------------
 public void mouseClicked(MouseEvent e) {
   if (isLoaded()) {
     if (_actionInProgress == null) {
       Tuple newHex = getCellMetrics().getGridByPixel(e.getX(), e.getY());
       if (isOnMap(newHex)) {
         setSelectedHex(newHex);
       }
     } else {
       // Are we picking a target? If so, give the mouse click to the target action.
       if (_actionInProgress instanceof TargetAction) {
         ((TargetAction) _actionInProgress).getTargetChooser().mouseClicked(e);
       }
     }
   }
 }
 public void mousePressed(MouseEvent e) {
   if (_actionInProgress instanceof TargetAction) {
     ((TargetAction) _actionInProgress).getTargetChooser().mousePressed(e);
   }
 }