org.eclipse.contribution.visualiser.interfaces
Interface IMarkupProvider

All Known Implementing Classes:
NullMarkupProvider, SimpleMarkupProvider

public interface IMarkupProvider

The implementation of this interface is responsible for returning information about the colored stripes that appear on the resources in the visualiser view (The set of resources being determined by the implementation of the IContentProvider). A simple implementation is provided in SimpleMarkupProvider - this provides basic implementations of some of the common features of a markup provider 1) It manages the colors automatically. 2) It considers group markups to be collected markups for the members of the group. Important: The lists returned from get methods should be lists of Stripe instances.


Method Summary
 void activate()
          Called when this provider is selected.
 void deactivate()
          Called when this provider is currently active and another provider is selected.
 java.util.SortedSet getAllMarkupKinds()
          Return a list of all possible 'kinds' covered by all the stripes in the visualisation.
 org.eclipse.swt.graphics.Color getColorFor(IMarkupKind element)
          Ask for a color for a given kind - if one is not currently allocated, it will be selected from those available.
 java.util.List getGroupMarkups(IGroup group)
          Return a list of all stripes in effect on all members of the group.
 java.util.List getMemberMarkups(IMember member)
          Return a list of all stripes in effect on this member.
 void initialise()
          Called when the visualiser initializes and discovers a markup provider implementation.
 boolean processMouseclick(IMember member, Stripe stripe, int buttonClicked)
          Called when the user clicks on a stripe on a member in the visualiser - the information passed is - The full name of the member, e.g.
 void setColorFor(IMarkupKind kind, org.eclipse.swt.graphics.Color color)
          When the color picker is used in the visualiser menu to change the color for a particular kind, this call ensures the logic responsible for color management is told.
 

Method Detail

initialise

public void initialise()
Called when the visualiser initializes and discovers a markup provider implementation. Typically initialise will get the markups 'ready'.


getMemberMarkups

public java.util.List getMemberMarkups(IMember member)
Return a list of all stripes in effect on this member.


getGroupMarkups

public java.util.List getGroupMarkups(IGroup group)
Return a list of all stripes in effect on all members of the group.


getAllMarkupKinds

public java.util.SortedSet getAllMarkupKinds()
Return a list of all possible 'kinds' covered by all the stripes in the visualisation. This is used by the visualiser menu. The return value is a set of IMarkupKinds.


setColorFor

public void setColorFor(IMarkupKind kind,
                        org.eclipse.swt.graphics.Color color)
When the color picker is used in the visualiser menu to change the color for a particular kind, this call ensures the logic responsible for color management is told.


getColorFor

public org.eclipse.swt.graphics.Color getColorFor(IMarkupKind element)
Ask for a color for a given kind - if one is not currently allocated, it will be selected from those available.


processMouseclick

public boolean processMouseclick(IMember member,
                                 Stripe stripe,
                                 int buttonClicked)
Called when the user clicks on a stripe on a member in the visualiser - the information passed is - The full name of the member, e.g. "ABC.B" - The stripe that was clicked (which might contain multiple 'kinds') - The buttons pressed (1 is LH button, 3 is RH button) The return value is whether the visualiser should take its normal action on this click. The normal action is that on a left hand mouse click, the visualiser subselects the clicked member (if in the group view, it swaps to a member view of the members in that group). If the right hand mouse button is clicked, it returns to the previous visualisation. Remember: The content provider is always called with a similar method 'processMouseClick()'. The call to the markup provider will occur regardless of whether true or false is returned here.


activate

public void activate()
Called when this provider is selected.


deactivate

public void deactivate()
Called when this provider is currently active and another provider is selected.