de.frag.umlplugin.uml.actions
Class AbstractAddToDiagramAction

java.lang.Object
  extended by com.intellij.openapi.actionSystem.AnAction
      extended by de.frag.umlplugin.uml.actions.AbstractAddToDiagramAction
All Implemented Interfaces:
PsiClassConsumer
Direct Known Subclasses:
AddToExistingDiagramAction, AddToNewDiagramAction

public abstract class AbstractAddToDiagramAction
extends com.intellij.openapi.actionSystem.AnAction
implements PsiClassConsumer

Abstract base class for actions that add selected classes to diagrams.


Field Summary
 
Fields inherited from class com.intellij.openapi.actionSystem.AnAction
EMPTY_ARRAY, ourClientProperty
 
Constructor Summary
AbstractAddToDiagramAction()
           
 
Method Summary
 void actionPerformed(com.intellij.openapi.actionSystem.AnActionEvent e)
          Shows current element under cursor or mouse in graphical navigator.
protected abstract  java.lang.String getDiagramName(com.intellij.openapi.actionSystem.AnActionEvent e, java.util.List<com.intellij.psi.PsiClass> psiClasses)
          Gets diagram name for given event.
 void setPsiClassProvider(PsiClassProvider psiClassProvider)
          Sets psi class provider.
 void update(com.intellij.openapi.actionSystem.AnActionEvent e)
          Updates the state of the action.
 
Methods inherited from class com.intellij.openapi.actionSystem.AnAction
beforeActionPerformedUpdate, copyFrom, copyShortcutFrom, createTooltipText, displayTextInToolbar, getShortcutSet, getTemplatePresentation, isDefaultIcon, isEnabledInModalContext, isInInjectedContext, registerCustomShortcutSet, setDefaultIcon, setEnabledInModalContext, setInjectedContext, setShortcutSet, unregisterCustomShortcutSet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractAddToDiagramAction

public AbstractAddToDiagramAction()
Method Detail

setPsiClassProvider

public void setPsiClassProvider(@NotNull
                                PsiClassProvider psiClassProvider)
Sets psi class provider. This method should be called to inject a psi class provider at plugin startup.

Specified by:
setPsiClassProvider in interface PsiClassConsumer
Parameters:
psiClassProvider - new psi class provider

update

public void update(com.intellij.openapi.actionSystem.AnActionEvent e)
Updates the state of the action.

Overrides:
update in class com.intellij.openapi.actionSystem.AnAction
Parameters:
e - Carries information on the invocation place and data available

actionPerformed

public void actionPerformed(com.intellij.openapi.actionSystem.AnActionEvent e)
Shows current element under cursor or mouse in graphical navigator.

Specified by:
actionPerformed in class com.intellij.openapi.actionSystem.AnAction
Parameters:
e - Carries information on the invocation place

getDiagramName

@Nullable
protected abstract java.lang.String getDiagramName(@NotNull
                                                            com.intellij.openapi.actionSystem.AnActionEvent e,
                                                            @NotNull
                                                            java.util.List<com.intellij.psi.PsiClass> psiClasses)
Gets diagram name for given event.

Parameters:
e - event
psiClasses - psi classes that will be added to diagram
Returns:
diagram name or null, if diagram name is unknown