Bug 121871 Support intellisense for global varible "report" in both expression builder and script editor
Currently expression builder already provide intellisense support for static objects (both BIRT and standard javaScript object). However, it doesn't support intellisene for "report". Even with the class structure displayed in the expression builder, it is quite difficult to figure out how to use the report varible without intellisense. We should use the same mechanism for "report." object intellisense support as we did for "this." objects: - UI (expression builder or script editor) get the type for "report" object - UI use reflection to get all properties, methods defined on report object. - The reflection process will be recursive.
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/ui/IReportGraphicConstants.java
public final static String ICON_ELEMNET_GRAPHICMASTERPAGE = ReportDesignConstants.GRAPHIC_MASTER_PAGE_ELEMENT;
	public final static String ICON_ELEMENT_PARAMETER = "Parameter"; 
	public final static String ICON_ELEMENT_PARAMETER_GROUP = ReportDesignConstants.PARAMETER_GROUP_ELEMENT;
	public final static String ICON_ELEMENT_CASCADING_PARAMETER_GROUP = ReportDesignConstants.CASCADING_PARAMETER_GROUP_ELEMENT;
	public final static String ICON_ELEMENT_ROW = ReportDesignConstants.ROW_ELEMENT;
	public final static String ICON_ELEMENT_SCALAR_PARAMETER = ReportDesignConstants.SCALAR_PARAMETER_ELEMENT;
	public final static String ICON_ELEMNET_SIMPLE_MASTERPAGE = ReportDesignConstants.SIMPLE_MASTER_PAGE_ELEMENT;
	public final static String ICON_ELEMENT_STYLE = ReportDesignConstants.STYLE_ELEMENT;
	public final static String ICON_ELEMENT_TABLE = ReportDesignConstants.TABLE_ITEM;
	public final static String ICON_ELEMENT_TABLE_GROUP = ReportDesignConstants.TABLE_GROUP_ELEMENT;
	public final static String ICON_ELEMENT_TEXT = ReportDesignConstants.TEXT_ITEM;
	public final static String ICON_ELEMENT_TEXTDATA = ReportDesignConstants.TEXT_DATA_ITEM;
	public final static String ICON_ELEMENT_LIBRARY = ReportDesignConstants.LIBRARY_ELEMENT;
	public final static String ICON_ELEMENT_LIBRARY_REFERENCED = "Library Referenced"; 
	public final static String ICON_ELEMENT_THEME = ReportDesignConstants.THEME_ITEM;
	public final static String ICON_ELEMENT_TEMPLATEITEM = ReportDesignConstants.TEMPLATE_REPORT_ITEM;
	
	public final static String ICON_NODE_BODY = "Body"; 
	public final static String ICON_NODE_MASTERPAGES = "Master Pages"; 
	public final static String ICON_NODE_STYLES = "Styles"; 
	public final static String ICON_NODE_HEADER = "Header"; 
	public final static String ICON_NODE_DETAILS = "Details"; 
	public final static String ICON_NODE_FOOTER = "Footer"; 
	public final static String ICON_NODE_GROUPS = "Groups"; 
	public final static String ICON_NODE_GROUP_HEADER = "Group Header"; 
	public final static String ICON_NODE_GROUP_FOOTER = "Group Footer"; 
	public final static String ICON_NODE_LIBRARIES = "Libraries"; 
	public final static String ICON_NODE_THEMES = "Themes"; 
	
	public final static String ICON_LAYOUT_NORMAL = "Layout Normal";