Bug 166015 Refactor designer actions to eclipse command framework
Eclipse command framework provide a more explicit way to manage UI actions contributions, we can take it's advantage to make our actions code more clean and maintainable.
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/internal/ui/views/actions/DeleteAction.java
if ( hasExecuted( ) )
		{
			createDeleteCommand( getSelection( ) ).execute( );
		}
		return hasExecuted( );
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.action.IAction#isEnabled()
	 */
	public boolean isEnabled( )
	{
		Command cmd = createDeleteCommand( getSelection( ) );
		if ( cmd == null )
			return false;
		return cmd.canExecute( );
	}
	protected boolean isOKPressed( Object model )
	{
		if ( model instanceof IStructuredSelection )
		{
			for ( Iterator itor = ( (IStructuredSelection) model ).iterator( ); itor.hasNext( ); )
			{
				Object obj = itor.next( );
				if ( !isOKPressed( obj ) )
				{
					return false;
				}
			}