de.cau.cs.kieler.core.model.gmf.policies
Class PopupBarPolicy

java.lang.Object
  extended by org.eclipse.gef.editpolicies.AbstractEditPolicy
      extended by org.eclipse.gef.editpolicies.GraphicalEditPolicy
          extended by org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy
              extended by de.cau.cs.kieler.core.model.gmf.policies.PopupBarPolicy
All Implemented Interfaces:
MouseMotionListener, EditPolicy, RequestConstants
Direct Known Subclasses:
DiagramPopupBarPolicy

public class PopupBarPolicy
extends org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy

Popup bars are esentially a cartoon balloon with buttons that are activated during mouse hover over a shape. soh: Modified slightly for better balloon placement and customized contents of balloons.

Rating red

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.draw2d.MouseMotionListener
MouseMotionListener.Stub
 
Field Summary
 
Fields inherited from interface org.eclipse.gef.EditPolicy
COMPONENT_ROLE, CONNECTION_BENDPOINTS_ROLE, CONNECTION_ENDPOINTS_ROLE, CONNECTION_ROLE, CONTAINER_ROLE, DIRECT_EDIT_ROLE, GRAPHICAL_NODE_ROLE, LAYOUT_ROLE, NODE_ROLE, PRIMARY_DRAG_ROLE, SELECTION_FEEDBACK_ROLE, TREE_CONTAINER_ROLE
 
Fields inherited from interface org.eclipse.gef.RequestConstants
REQ_ADD, REQ_ALIGN, REQ_ALIGN_CHILDREN, REQ_CLONE, REQ_CONNECTION_END, REQ_CONNECTION_START, REQ_CREATE, REQ_CREATE_BENDPOINT, REQ_DELETE, REQ_DELETE_DEPENDANT, REQ_DIRECT_EDIT, REQ_MOVE, REQ_MOVE_BENDPOINT, REQ_MOVE_CHILDREN, REQ_OPEN, REQ_ORPHAN, REQ_ORPHAN_CHILDREN, REQ_RECONNECT_SOURCE, REQ_RECONNECT_TARGET, REQ_RESIZE, REQ_RESIZE_CHILDREN, REQ_SELECTION, REQ_SELECTION_HOVER
 
Constructor Summary
PopupBarPolicy()
           
 
Method Summary
 void activate()
           
protected  void addPopupBarDescriptor(IElementType elementType, Image theImage)
          Deprecated. don't use this
protected  void addPopupBarDescriptor(IElementType elementType, Image theImage, CreateRequest theRequest)
          Deprecated. don't use this
protected  void addPopupBarDescriptor(IElementType elementType, Image theImage, DragTracker theTracker)
          Deprecated. don't use this
protected  void addPopupBarDescriptor(IElementType elementType, Image theImage, DragTracker theTracker, String theTip)
          This method allows plugins to add their own popup bar tools and tips.
protected  void addPopupBarDescriptor(IElementType elementType, Image theImage, String theTip)
          Deprecated. don't use this
protected  IFigure createPopupBarFigure()
          Create a new figure for the balloon.
 void deactivate()
           
protected  void fillPopupBarDescriptors()
          This is the entry point that subclasses can override to fill the popup bar descrioptors if they have customized tools that cannot be done using the type along with the modeling assistant service.
protected  int getAppearanceDelayLocationSpecific()
          Gets the amount of time to wait before showing the popup bar if the popup bar is to be shown at the mouse location getIsDisplayAtMouseHoverLocation().
protected  String getDiagramAssistantID()
           
protected  List<Image> getImagesToBeDisposed()
          Getter for the list.
protected  boolean getIsDisplayAtMouseHoverLocation()
          getter for the IsDisplayAtMouseHoverLocation flag.
protected  List<de.cau.cs.kieler.core.model.gmf.policies.PopupBarPolicy.PopupBarDescriptor> getPopupBarDescriptors()
          gets the popup bar descriptors.
 String getPreferenceName()
           
protected  void hideDiagramAssistant()
           
protected  boolean isDiagramAssistant(Object object)
          
protected  boolean isDiagramAssistantShowing()
          
protected  boolean isHostConnection()
          get the host is connection flag.
protected  boolean isRightDisplay()
          Deprecated. this is not being used anymore
 void mouseHover(MouseEvent me)
          
 void mouseMoved(MouseEvent me)
          
protected  void populatePopupBars()
          Populates the popup bar with popup bar descriptors added by suclassing this editpolicy (i.e.
protected  void setHostConnection(boolean bVal)
          set the host is connection flag.
protected  void setIsDisplayAtMouseHoverLocation(boolean bVal)
          setter for the IsDisplayAtMouseHoverLocation.
protected  void setLeftHandDisplay()
          Deprecated. this is not being used anymore
protected  void setRightHandDisplay()
          Deprecated. this is not being used anymore
protected  boolean shouldShowDiagramAssistant()
          
protected  void showDiagramAssistant(Point referencePoint)
           
protected  void showDiagramAssistantAfterDelay(int theDelay)
          
 
Methods inherited from class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy
getAppearanceDelay, getDisappearanceDelay, getDisappearanceDelayUponExit, getMouseLocation, hideDiagramAssistantAfterDelay, isPreferenceOn, mouseDragged, mouseEntered, mouseExited, setAvoidHidingDiagramAssistant, setMouseLocation, shouldAvoidHidingDiagramAssistant
 
Methods inherited from class org.eclipse.gef.editpolicies.GraphicalEditPolicy
addFeedback, getFeedbackLayer, getHostFigure, getLayer, removeFeedback
 
Methods inherited from class org.eclipse.gef.editpolicies.AbstractEditPolicy
debugFeedback, eraseSourceFeedback, eraseTargetFeedback, getCommand, getHost, getTargetEditPart, setHost, showSourceFeedback, showTargetFeedback, toString, understandsRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PopupBarPolicy

public PopupBarPolicy()
Method Detail

isDiagramAssistant

protected boolean isDiagramAssistant(Object object)

Specified by:
isDiagramAssistant in class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy

mouseHover

public void mouseHover(MouseEvent me)

Specified by:
mouseHover in interface MouseMotionListener
Overrides:
mouseHover in class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy

mouseMoved

public void mouseMoved(MouseEvent me)

Specified by:
mouseMoved in interface MouseMotionListener
Overrides:
mouseMoved in class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy

getImagesToBeDisposed

protected List<Image> getImagesToBeDisposed()
Getter for the list.

Returns:
the list

setHostConnection

protected void setHostConnection(boolean bVal)
set the host is connection flag.

Parameters:
bVal - the new value

isHostConnection

protected boolean isHostConnection()
get the host is connection flag.

Returns:
true or false

populatePopupBars

protected void populatePopupBars()
Populates the popup bar with popup bar descriptors added by suclassing this editpolicy (i.e. fillPopupBarDescriptors and by querying the modeling assistant service for all types supported on the popup bar of this host. For those types added by the modeling assistant service the icons are retrieved using the Icon Service.


fillPopupBarDescriptors

protected void fillPopupBarDescriptors()
This is the entry point that subclasses can override to fill the popup bar descrioptors if they have customized tools that cannot be done using the type along with the modeling assistant service.


shouldShowDiagramAssistant

protected boolean shouldShowDiagramAssistant()

Overrides:
shouldShowDiagramAssistant in class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy

addPopupBarDescriptor

protected void addPopupBarDescriptor(IElementType elementType,
                                     Image theImage,
                                     DragTracker theTracker,
                                     String theTip)
This method allows plugins to add their own popup bar tools and tips.

Parameters:
elementType - the element type
theImage - the image
theTracker - the tracker
theTip - the tool tip

addPopupBarDescriptor

@Deprecated
protected void addPopupBarDescriptor(IElementType elementType,
                                                Image theImage,
                                                DragTracker theTracker)
Deprecated. don't use this

adds popup bar descriptor.

Parameters:
elementType - the element type
theImage - the image
theTracker - the tracker

addPopupBarDescriptor

@Deprecated
protected void addPopupBarDescriptor(IElementType elementType,
                                                Image theImage)
Deprecated. don't use this

default method for plugins which passes along the PopupBarTool as the tool to be used.

Parameters:
elementType - the element type
theImage - the image

addPopupBarDescriptor

@Deprecated
protected void addPopupBarDescriptor(IElementType elementType,
                                                Image theImage,
                                                String theTip)
Deprecated. don't use this

Add a new descriptor.

Parameters:
elementType - the element type
theImage - the image
theTip - the tool tip

addPopupBarDescriptor

@Deprecated
protected void addPopupBarDescriptor(IElementType elementType,
                                                Image theImage,
                                                CreateRequest theRequest)
Deprecated. don't use this

method used primarily to add UnspecifiedTypeCreationTool.

Parameters:
elementType - the element type
theImage - the image
theRequest - the create request to be used

getPopupBarDescriptors

protected List<de.cau.cs.kieler.core.model.gmf.policies.PopupBarPolicy.PopupBarDescriptor> getPopupBarDescriptors()
gets the popup bar descriptors.

Returns:
list

getPreferenceName

public String getPreferenceName()
Returns:
the preference name

isDiagramAssistantShowing

protected boolean isDiagramAssistantShowing()

Specified by:
isDiagramAssistantShowing in class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy

createPopupBarFigure

protected IFigure createPopupBarFigure()
Create a new figure for the balloon.

Returns:
a figure for the balloon

showDiagramAssistant

protected void showDiagramAssistant(Point referencePoint)
Specified by:
showDiagramAssistant in class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy

getIsDisplayAtMouseHoverLocation

protected boolean getIsDisplayAtMouseHoverLocation()
getter for the IsDisplayAtMouseHoverLocation flag.

Returns:
true or false

setIsDisplayAtMouseHoverLocation

protected void setIsDisplayAtMouseHoverLocation(boolean bVal)
setter for the IsDisplayAtMouseHoverLocation.

Parameters:
bVal - the new value

hideDiagramAssistant

protected void hideDiagramAssistant()
Specified by:
hideDiagramAssistant in class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy

showDiagramAssistantAfterDelay

protected void showDiagramAssistantAfterDelay(int theDelay)

Overrides:
showDiagramAssistantAfterDelay in class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy

activate

public void activate()
Specified by:
activate in interface EditPolicy
Overrides:
activate in class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy

deactivate

public void deactivate()
Specified by:
deactivate in interface EditPolicy
Overrides:
deactivate in class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy

setRightHandDisplay

@Deprecated
protected void setRightHandDisplay()
Deprecated. this is not being used anymore

This is the default which places the popup bar to favor the right side of the shape.


setLeftHandDisplay

@Deprecated
protected void setLeftHandDisplay()
Deprecated. this is not being used anymore

Place the popup bar to favor the left had side of the shape.


isRightDisplay

@Deprecated
protected boolean isRightDisplay()
Deprecated. this is not being used anymore

check thee right display status.

Returns:
true or false

getAppearanceDelayLocationSpecific

protected int getAppearanceDelayLocationSpecific()
Gets the amount of time to wait before showing the popup bar if the popup bar is to be shown at the mouse location getIsDisplayAtMouseHoverLocation().

Returns:
the time to wait in milliseconds

getDiagramAssistantID

protected String getDiagramAssistantID()
Overrides:
getDiagramAssistantID in class org.eclipse.gmf.runtime.diagram.ui.editpolicies.DiagramAssistantEditPolicy