[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: EMF backed Workbench (Was Re: [eclipse-incubator-e4-dev] Initial discussion on the 'modelled' workbench UI)
|
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;
}