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

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.AggregateAction
All Implemented Interfaces:
IAction, IMenuCreator

public class AggregateAction
extends Action
implements IMenuCreator

This Action acts as container for all sub actions defined to aggregate newsfeeds. It shows a drop down menu from which a sub Action may be activated.

Author:
Sebastian Machhausen

Field Summary
 AggregateAllAction actionAggregateAll
           The aggregate all sub Action
 AggregateCategoryAction actionAggregateCategory
           The aggregate Category sub Action
private  MainApplicationWindow mainWindow
           The Feed'n Read main window
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
AggregateAction(MainApplicationWindow mainWindow)
           Creates a new AggregateAction instance.
 
Method Summary
private  void createMenuManager()
           Creates the MenuManager used by this AggregateAction.
private  void createSubActions()
           Creates all sub actions of this AggregrateAction
 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: Executes the AggregateAllAction by default.
 
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

mainWindow

private MainApplicationWindow mainWindow

The Feed'n Read main window


menuMgr

private MenuManager menuMgr

The MenuManager used by this Action to create the sub menu


actionAggregateAll

public AggregateAllAction actionAggregateAll

The aggregate all sub Action


actionAggregateCategory

public AggregateCategoryAction actionAggregateCategory

The aggregate Category sub Action

Constructor Detail

AggregateAction

public AggregateAction(MainApplicationWindow mainWindow)

Creates a new AggregateAction instance. This Action acts as container for all sub actions defined to aggregate newsfeeds. It shows a drop down menu from which a sub Action may be activated.

Parameters:
mainWindow - the Feed'n Read main window
Method Detail

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 AggregateAction. All sub actions are created and added to the MenuManager.


createSubActions

private void createSubActions()

Creates all sub actions of this AggregrateAction