PiccoloActionFactory.getSemanticEnterAction(this,semanticLayer);
PiccoloActionFactory.getSemanticEnterAction(browserModel, this,semanticLayer);
    public void modeChanged(String className, BrowserMode mode)    {        // boooooo.        if(className == null)        {            return;        }        else if(className.equals(BrowserModel.PAN_MODE_NAME))        {            if(mode == BrowserMode.HAND_MODE)            {                // TODO: change drag listener here            }            else if(mode == BrowserMode.NO_HAND_MODE)            {                // TODO: change back.            }        }        else if(className.equals(BrowserModel.MAJOR_UI_MODE_NAME))        {            if(mode == BrowserMode.DEFAULT_MODE)            {                // TODO: fill this in            }        }        else if(className.equals(BrowserModel.SELECT_MODE_NAME))        {            if(mode == BrowserMode.SELECTING_MODE)            {                selectionInProgress = true;                oldModeMap.put(BrowserModel.SEMANTIC_MODE_NAME,                               browserModel.getCurrentMode(BrowserModel.SEMANTIC_MODE_NAME));                browserModel.setCurrentMode(BrowserModel.SEMANTIC_MODE_NAME,                                            BrowserMode.NOOP_MODE);                repaint();            }            else            {                selectionInProgress = false;                browserModel.setCurrentMode(BrowserModel.SEMANTIC_MODE_NAME,                    (BrowserMode)oldModeMap.remove(BrowserModel.SEMANTIC_MODE_NAME));                repaint();            }        }        else if(className.equals(BrowserModel.ZOOM_MODE_NAME))        {            if(mode == BrowserMode.ZOOM_TO_FIT_MODE)            {                setZoomToScale(true);            }            else if(mode == BrowserMode.ZOOM_ACTUAL_MODE)            {                setZoomToScale(false);                setZoomLevel(1);            }            else if(mode == BrowserMode.ZOOM_50_MODE)            {                setZoomToScale(false);                setZoomLevel(0.5);            }            else if(mode == BrowserMode.ZOOM_75_MODE)            {                setZoomToScale(false);                setZoomLevel(0.75);            }            else if(mode == BrowserMode.ZOOM_200_MODE)            {                setZoomToScale(false);                setZoomLevel(2);            }        }        else if(className.equals(BrowserModel.SEMANTIC_MODE_NAME))        {            if(mode == BrowserMode.NOOP_MODE)            {                defaultTOverActions.setMouseEnterAction(PiccoloModifiers.NORMAL,                                                        PiccoloAction.PNOOP_ACTION);                defaultTOverActions.setMouseExitAction(PiccoloModifiers.NORMAL,                                                       PiccoloAction.PNOOP_ACTION);                setThumbnailOverActions(defaultTOverActions);            }            if(mode == BrowserMode.IMAGE_NAME_MODE)            {                defaultTOverActions.setMouseEnterAction(PiccoloModifiers.NORMAL,                                                        hoverThumbnailAction);                defaultTOverActions.setMouseExitAction(PiccoloModifiers.NORMAL,                                                       exitThumbnailAction);                setThumbnailOverActions(defaultTOverActions);            }            else if(mode == BrowserMode.SEMANTIC_ZOOMING_MODE)            {                semanticHoverThumbnailAction =                    PiccoloActionFactory.getSemanticEnterAction(this,semanticLayer);                defaultTOverActions.setMouseEnterAction(PiccoloModifiers.NORMAL,                                                        semanticHoverThumbnailAction);                defaultTOverActions.setMouseExitAction(PiccoloModifiers.NORMAL,                                                       semanticExitThumbnailAction);                setThumbnailOverActions(defaultTOverActions);            }        }            }