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/editors/parts/GraphicalEditorWithFlyoutPalette.java
* @see org.eclipse.birt.report.designer.core.util.mediator.IColleague#performRequest(org.eclipse.birt.report.designer.core.util.mediator.request.ReportRequest)
	 */
	public void performRequest( ReportRequest request )
	{
		if ( ReportRequest.SELECTION.equals( request.getType( ) ) )
		{
			handleSelectionChange( request );
		}
		else if ( ReportRequest.CREATE_ELEMENT.equals( request.getType( ) ) )
		{
			handleCreateElement( request );
		}
	}
	/**
	 * @param request
	 */
	protected void handleCreateElement( ReportRequest request )
	{
		final GraphicalViewer viewer = getGraphicalViewer( );
		if ( !viewer.getControl( ).isVisible( ) )
		{
			return;
		}
		final List list = request.getSelectionModelList( );
		if ( list.size( ) != 1 )
		{
			return;
		}
		Display.getCurrent( ).asyncExec( new Runnable( ) {
			public void run( )