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/internal/ui/views/DefaultNodeProvider.java
import org.eclipse.birt.report.model.api.TemplateReportItemHandle;
import org.eclipse.birt.report.model.api.activity.SemanticException;
import org.eclipse.birt.report.model.api.metadata.IElementDefn;
import org.eclipse.gef.Request;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.PlatformUI;
/**
 * Default node provider. This class is the base class for other providers
 */
public class DefaultNodeProvider implements INodeProvider
{
	public static final String BODY = Messages.getString( "DefaultNodeProvider.Tree.Body" ); 
	public static final String COMPONENTS = Messages.getString( "DefaultNodeProvider.Tree.Components" ); 
	public static final String PAGESETUP = Messages.getString( "DefaultNodeProvider.Tree.PageSetup" ); 
	public static final String DATASOURCES = Messages.getString( "DefaultNodeProvider.Tree.DataSources" ); 
	public static final String DATASETS = Messages.getString( "DefaultNodeProvider.Tree.DataSets" ); 
	public static final String STYLES = Messages.getString( "DefaultNodeProvider.Tree.Styles" ); 
	public static final String THEMES = Messages.getString( "DefaultNodeProvider.Tree.Themes" ); 
	public static final String IMAGES = Messages.getString( "DefaultNodeProvider.Tree.Images" ); 
	public static final String PARAMETERS = Messages.getString( "DefaultNodeProvider.Tree.Parameters" ); 
	public static final String SCRATCHPAD = Messages.getString( "DefaultNodeProvider.Tree.Scratch" ); 
	public static final String MASTERPAGE = Messages.getString( "DefaultNodeProvider.Tree.MasterPages" );