I personally also like to see a textual representation of the metamodel. I attached the emfatic version of the metamodel.
BTW: with emfatic replacing Boolean with boolean and Integer with int is a simple text replacement operation..... I created a bug for this change: 227552: Use booleans and int instead of Boolean and Integer in the EMF metamodel https://bugs.eclipse.org/bugs/show_bug.cgi?id=227552 Michael
@namespace(uri="http://www.eclipse.org/e4/presentation", prefix="presentation") package presentation; abstract class EPresentationModelElement { attr String ~id; } class EWorkbench extends EPresentationModelElement { } abstract class EStyle { attr String font; attr int tabHeight; attr boolean simple; attr boolean tabsOnBottom; attr boolean border; attr boolean unselShowClose; attr boolean unselShowImage; attr String selStartColor; attr String selEndColor; attr String bgColor; attr String fgColor; attr Object bgImage; attr boolean showMinimize; attr boolean showMaximize; } class EGUIModelElement extends EPresentationModelElement, EStyle { attr EWidget widget; attr EWidgetState widgetState; attr String toolTip; attr boolean enabled; attr String label; attr Object image; attr String cssStyle; ref EStyleClass curCSS; } class EWorkbenchWindow extends EGUIModelElement { val EStyleClass[*] styles; val EPreference[*] preferences; val EWorkbenchPage page; attr Object factory; } class EWorkbenchPage extends EGUIModelElement { val EPerspective[*] perspectives; } class EPerspective extends EGUIModelElement { val EClientArea clientArea; val EMenu mainMenu; val EHTrim topTrim; val EHTrim bottomTrim; val EVTrim leftTrim; val EVTrim rightTrim; } class EHTrim extends EGUIModelElement { } class EVTrim extends EGUIModelElement { } class EClientArea extends EGUIModelElement { val ESash mainSash; val ETabbedStack activeView; } class ETabbedStack extends EGUIModelElement { val EPart[*] parts; attr String selTabId; attr int sashRatio; attr boolean maximized; attr boolean minimized; } class EToolBar extends EGUIModelElement { } class EToolItem extends EHTrim { } class EMenu extends EGUIModelElement { } class EMenuItem extends EGUIModelElement { } class ESeparator extends EGUIModelElement { } datatype EWidget : org.eclipse.swt.widgets.Widget; enum EWidgetState { Invisible = 0; Latenr = 1; Visible = 2; } class EPreference extends EPresentationModelElement { } datatype EScopedPreferenceStore : org.eclipse.ui.preferences.ScopedPreferenceStore; class ESash extends EGUIModelElement { attr boolean horizontal; val EGUIModelElement[*] subelements; } class EPart extends EGUIModelElement { attr boolean canClose; } class EViewPart extends EPart { } class EEditorPart extends EPart { attr Object editorReference; } class EStyleClass extends EStyle, EPresentationModelElement { ref EGUIModelElement[*] cssRefs; }
_______________________________________________ eclipse-incubator-e4-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev
