net.sourceforge.java.feednread.frontend.event.action
Class EnclosureListAction

java.lang.Object
  extended byorg.eclipse.core.commands.common.EventManager
      extended byorg.eclipse.jface.action.AbstractAction
          extended byorg.eclipse.jface.action.Action
              extended bynet.sourceforge.java.feednread.frontend.event.action.EnclosureListAction
All Implemented Interfaces:
IAction, IMenuCreator

public class EnclosureListAction
extends Action
implements IMenuCreator

This Action acts as container for EnclosureActions. It shows a drop down menu from which an enclosure can be selected for download respectively execution.

Author:
Sebastian Machhausen

Field Summary
private  SyndEnclosure[] enclosures
           The
private  MenuManager menuMgr
           The MenuManager used by this Action to create the sub menu
 
Fields inherited from class org.eclipse.jface.action.Action
 
Fields inherited from class org.eclipse.core.commands.common.EventManager
 
Fields inherited from interface org.eclipse.jface.action.IAction
AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT
 
Constructor Summary
EnclosureListAction(SyndEnclosure[] enclosures)
           Creates a new EnclosureListAction instance.
 
Method Summary
private  void createEnclosureActions()
           Creates all sub actions of this EnclosureListAction.
private  void createMenuManager()
           Creates the MenuManager used by this EnclosureListAction.
 void dispose()
           Disposes the menu returned by getMenu.
 Menu getMenu(Control parent)
           Returns the SWT menu, created as a pop up menu parented by the given control.
 Menu getMenu(Menu parent)
           Returns an SWT menu created as a drop down menu parented by the given menu.
 void run()
           Executes the action: If any enclosures are set the first EnclosureAction is executed by default.
 void update(SyndEnclosure[] enclosures)
           Updates this EnclosureListAction to display the specified SyndEnclosures.
 
Methods inherited from class org.eclipse.jface.action.Action
convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
 
Methods inherited from class org.eclipse.jface.action.AbstractAction
addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener
 
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.jface.action.IAction
addPropertyChangeListener, removePropertyChangeListener
 

Field Detail

menuMgr

private MenuManager menuMgr

The MenuManager used by this Action to create the sub menu


enclosures

private SyndEnclosure[] enclosures

The

Constructor Detail

EnclosureListAction

public EnclosureListAction(SyndEnclosure[] enclosures)

Creates a new EnclosureListAction instance. This Action acts as container for EnclosureActions. It shows a drop down menu from which an enclosure can be selected for download respectively execution.

Parameters:
enclosures - the enclosures to display in the EnclosureListAction
Method Detail

update

public void update(SyndEnclosure[] enclosures)

Updates this EnclosureListAction to display the specified SyndEnclosures.

Parameters:
enclosures - the SyndEnclosures to display

run

public void run()

Executes the action:

Specified by:
run in interface IAction

dispose

public void dispose()

Disposes the menu returned by getMenu. Does nothing if there is no menu. This method will be executed only when the parent of the menu is disposed.

Specified by:
dispose in interface IMenuCreator

getMenu

public Menu getMenu(Control parent)

Returns the SWT menu, created as a pop up menu parented by the given control. In most cases, this menu can be created once, cached and reused when the pop-up/drop-down action occurs. If the menu must be dynamically created (i.e., each time it is popped up or dropped down), the old menu should be disposed of before replacing it with the new menu.

Specified by:
getMenu in interface IMenuCreator
Parameters:
parent - the parent control
Returns:
the menu, or null if the menu could not be created

getMenu

public Menu getMenu(Menu parent)

Returns an SWT menu created as a drop down menu parented by the given menu. In most cases, this menu can be created once, cached and reused when the pop-up/drop-down action occurs. If the menu must be dynamically created (i.e., each time it is popped up or dropped down), the old menu should be disposed of before replacing it with the new menu.

Specified by:
getMenu in interface IMenuCreator
Parameters:
parent - the parent menu
Returns:
the menu, or null if the menu could not be created

createMenuManager

private void createMenuManager()

Creates the MenuManager used by this EnclosureListAction. All sub actions are created and added to the MenuManager.


createEnclosureActions

private void createEnclosureActions()

Creates all sub actions of this EnclosureListAction.