Bug 120918 Usability: Tabs above and below Layout Editor are confusing
In BIRT 2.0 (I'm using M3), the Layout Editor has tabs above and below the editor window to give the developer different views. Top: Normal, Master Page, Source Bottom: Layout, Preview, Script What is not clear initially from the UI is that the bottom choices are only available with the "Normal" top choice. In addition, the "Source" label is not clear -- implication is that this is (programatic) source code. The Usability team should look at this to determine what improvements could be made, but a suggestion would be to flatten this into a top set of tabs only: Report Layout, Master Page, Script, XML Report Design, Preview
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/ui/dialogs/ExpressionBuilder.java
import org.eclipse.ui.ISharedImages;
/**
 * The expression builder
 */
public class ExpressionBuilder extends TitleAreaDialog
{
	private static final String DIALOG_TITLE = Messages.getString( "ExpressionBuidler.Dialog.Title" ); 
	private static final String PROMRT_MESSAGE = Messages.getString( "ExpressionBuilder.Message.Prompt" ); 
	private static final String LABEL_FUNCTIONS = Messages.getString( "ExpressionBuilder.Label.Functions" ); 
	private static final String LABEL_SUB_CATEGORY = Messages.getString( "ExpressionBuilder.Label.SubCategory" ); 
	private static final String LABEL_CATEGORY = Messages.getString( "ExpressionBuilder.Label.Category" ); 
	private static final String LABEL_OPERATORS = Messages.getString( "ExpressionBuilder.Label.Operators" ); 
	private static final String TOOL_TIP_TEXT_REDO = Messages.getString( "TextEditDialog.toolTipText.redo" ); 
	private static final String TOOL_TIP_TEXT_UNDO = Messages.getString( "TextEditDialog.toolTipText.undo" ); 
	private static final String TOOL_TIP_TEXT_DELETE = Messages.getString( "TextEditDialog.toolTipText.delete" ); 
	private static final String TOOL_TIP_TEXT_PASTE = Messages.getString( "TextEditDialog.toolTipText.paste" ); 
	private static final String TOOL_TIP_TEXT_CUT = Messages.getString( "TextEditDialog.toolTipText.cut" ); 
	private static final String TOOL_TIP_TEXT_COPY = Messages.getString( "TextEditDialog.toolTipText.copy" ); 
	private class TableContentProvider implements IStructuredContentProvider
	{
		private TableViewer viewer;
		public TableContentProvider( TableViewer viewer )
		{
			this.viewer = viewer;
		}
		public Object[] getElements( Object inputElement )
		{
			if ( viewer == categoryTable )
			{
				return provider.getCategory( );