getViewer( ).setSelection( new StructuredSelection( cellPart ) ); getTableAdapter( ).reload( );
getViewer( ).setSelection( new StructuredSelection( cellPart ) );
	public void merge( )	{		List selections = TableUtil.getSelectionCells( this );		if ( selections.size( ) == 1 )		{			return;		}		int size = selections.size( );		TableCellEditPart[] parts = new TableCellEditPart[size];		selections.toArray( parts );		TableCellEditPart[] caleNumber = getMinAndMaxNumber( parts );		TableCellEditPart minRow = caleNumber[0];		TableCellEditPart maxRow = caleNumber[2];		TableCellEditPart maxColumn = caleNumber[3];		TableCellEditPart cellPart = caleNumber[0];		ArrayList list = new ArrayList( );		// first is the contain cell(minrow, minColumn)		for ( int i = 0; i < size; i++ )		{			if ( selections.get( i ) != cellPart )			{				list.add( selections.get( i ) );			}		}		int rowSpan = maxRow.getRowNumber( )				- minRow.getRowNumber( )				+ maxRow.getRowSpan( );		int colSpan = maxColumn.getColumnNumber( )				- maxRow.getColumnNumber( )				+ maxColumn.getColSpan( );		getTableAdapter( ).transStar( MERGE_TRANS_LABEL );		try		{			MergeContent( cellPart, list );		}		catch ( ContentException e )		{			ExceptionHandler.handle( e );		}		cellPart.setRowSpan( rowSpan );		cellPart.setColumnSpan( colSpan );		removeMergeList( list );		getTableAdapter( ).transEnd( );		getViewer( ).setSelection( new StructuredSelection( cellPart ) );		getTableAdapter( ).reload( );	}