- <details key="documentation" value="&lt;p>&#xD;&#xA;The MApplication acts as the root of the UI Model. It's children are the&#xD;&#xA; MWindows representing the UI for this application. It also owns the application's&#xD;&#xA;context (which is hooked to the OSGI context, allowing access not only to its&#xD;&#xA;own runtime information but also to any registered OSGI service.&#xD;&#xA;&lt;/p>&lt;p>&#xD;&#xA;It also owns a number of caches which, while independent of the UI itself are&#xD;&#xA;used by the appliecation to populate new windows or to define state that is&#xD;&#xA;epected to be the same for all windows:&#xD;&#xA;&lt;ui>&#xD;&#xA;&lt;li>Keybindings, Handlers, Commands&lt;/li>&#xD;&#xA;&lt;li>Part Descriptors (to support a 'Show View' dialog...)&lt;/li>&#xD;&#xA;&lt;li>Snippets of model (such as saved perspectives...)&lt;/li>&#xD;&#xA;&lt;/ui>&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the list of MCommand elements available in the application. Commands&#xD;&#xA;represent some logical operation. The actual implementation of the operation is&#xD;&#xA;determined by the MHandler chosen by the system based on the current execution&#xD;&#xA;context.&#xD;&#xA;&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the ordered list of MAddons for this model. The individual addons will be&#xD;&#xA;created through injection after the model loads but before it is rendered.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the root element for all UI Model elements, defining attribtues common&#xD;&#xA;to every element; the element's id as well as three general storage elements:&#xD;&#xA;&lt;ul>&#xD;&#xA;&lt;li>Tags: This is a set of strings which can be used to stereotype a particular&#xD;&#xA;element. Tags may be specified in element searches and can also be referred&#xD;&#xA;to in the CSS styling definition.&lt;/li>&#xD;&#xA;&lt;li>PersistedState: A string to string map used to store information that nneds&#xD;&#xA;to be persisted between sessions.&lt;/li>&#xD;&#xA;&lt;li>TransientData: A string to object map which can be used to store runtime data&#xD;&#xA;relevant to a particular model element.&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a Strimg to String map that can be used to persist information avout model&#xD;&#xA;elements across program sessions. The format of the 'value' string is defined by&#xD;&#xA;the code setting the value into the map. Information stored in this map is part of&#xD;&#xA;the model and will be persisted and restored as such.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;Tags are a list of Strings that are persistent parts of the UI Model. They can be used to 'refine' a particular&#xD;&#xA;model element, supplying extra 'meta' information. These tags interact with the CSS engine so that it's&#xD;&#xA;possible to write CSS specific to a particular tag. The platform currently uses this mechanism to cause the&#xD;&#xA;color change in the stack comtaining the currently active part&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This field is used to track the bundle (if any) from which the UI element was&#xD;&#xA;derived in order to faciliate its removal should the bundle go away or be updated.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a String to Object map into which any desired runtime information realted to a particular element&#xD;&#xA;may be stored. It is &lt;i>not&lt;/i> persisted across sessions so it is not necessary that the 'values' be&#xD;&#xA;serializable.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;MContribution is a mix-in class used by concrete elements such as Parts to define&#xD;&#xA;the location of the client supplied class implementing the specific logic needed.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the DI created instance of the class implementing the logic for the element.&#xD;&#xA;It will only be non-null if the element has been rendered into the presentation.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;An MAddon represents a self-contained application logic. Addons may be used&#xD;&#xA;to augment the UI in a variety of ways without requriing that the base application&#xD;&#xA;be aware of the extensions.&#xD;&#xA;&lt;/p>&lt;p>&#xD;&#xA;Addons aare expected to be capable of being removed without damage to the&#xD;&#xA;original UI. While not yet implemented there will be an uninstall protocol defined&#xD;&#xA;ni the future allowing an addon to remove any model elements specific to the&#xD;&#xA;addon (i.e. The MinMaxAddon's TrimElements.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This type contains the list of binding 'tables', representing the various sets of bindings&#xD;&#xA;based on the applicaiton's current running 'context'. Here the 'context' represents&#xD;&#xA;the applicaiton's UI state (i.e. whenther a Dialog is open...).&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;Mixin interface that lists MBindingContexts that should be active when this&#xA;object is active.&#xD;&#xA;&lt;/p>&#xA;&lt;p>Example values: org.eclipse.ui.contexts.dialog, org.eclipse.ui.contexts.window&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This class describes the hierarchy of contexts that are used by the &#xA;&lt;code>EBindingService&lt;/code> to determine which Bindings are currently &#xA;available to the user.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A set of Bindings that will be active if the matching &lt;code>MBindingContext&lt;/code>&#xA;is active.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A Command represents a logical operation within the applicaiton. The implementation&#xD;&#xA;is provided by an MHandler chosen by examining all the candidate's enablement.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This field holds the command's name, used in the UI by default when there&#xD;&#xA;are menu or toolbar items representing this command.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This represents the format of a parameter to be used in a Command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;Handlers provide the execution logic that provides the implementation of a&#xD;&#xA;particular command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This provides a container in which to store lists of Handlers. &#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This allows a KeyBinding to provide a particular set of parameters to be used when&#xD;&#xA;the Command is to be executed. This allows generic commands like 'Open Part' to&#xD;&#xA;have bindings that will open a &lt;i>specific&lt;/i> Part...&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This represents the sequence of characters in a KeyBinding whose detection will&#xD;&#xA;fire the associated Command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a formatted string used by the key binding infrastructure to determine the&#xD;&#xA;exact key sequence for a KeyBinding.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This defines the value of a Parameter to be used by a Command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This defines a logical grouping of Commands in order to facilitate showing &#xD;&#xA;the current set of Commands in dialogs, lists etc&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This class is mixed into a UI element when that element is expected to participate&#xD;&#xA;in the Dependency Injection context hierarchy. The context life-cycle matches&#xD;&#xA;that of the rendered element it belongs to. It's automatically created when the&#xD;&#xA;element is rendered and disposed when the element is unrendered.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This attribute is a reference to the IEclipseContext for this UI element. It will be &#xD;&#xA;non-null only when the element is rendered.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This class should be mixed into any UI element that should participate in the&#xD;&#xA;dirty / save handling. Parts are the most likely scenario for this but it exists as&#xD;&#xA;a mix-in to allow for future model extensions.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This class should be mixed into UI elements such as InputParts that need to &#xD;&#xA;reference an external resource (files...).&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients.&#xD;&#xA;@deprecated No longer used"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;The specification of the particular resource's location or other meta information.&#xD;&#xA;The format of this field will be interpreted by the class using it (i.e. a Part).&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base mix-in shared by all model elements that can be rendered into the&#xD;&#xA;UI presentation of the application. Its main job is to manage the bindings between&#xD;&#xA;the concrete element and the UI 'widget' representing it in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This field is intended to allow enhanced support for accessibility by providing the &#xD;&#xA;ability to have a screen reader 'say' this phrase along with its normal output.&#xD;&#xA;This is currently unused in teh base SWT renderer but is available for use by&#xD;&#xA;other rendering platforms...&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This field represents the platform specific UI 'widget' that is representing this&#xD;&#xA;UIElement on the screen. It will only be non-null when the element has been rendered.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This field controls whether the given UIElement should be displayed within&#xD;&#xA;the application. Note that due to lazy loading it is possible to have this field&#xD;&#xA;set to true but to not have actually rendered the element itself (it does show up&#xD;&#xA;as a tab on the appropiate stack but will only be rendered when that tab is&#xD;&#xA;selected.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This field determines whether or not the given UIElement appears in the presentation&#xD;&#xA;or whether it should be 'cached' for specialized use. Under normal circumstances&#xD;&#xA;this flag should always be 'true'.&#xD;&#xA;&lt;/p>&lt;p>&#xD;&#xA;The MinMaxAddon uses this flag for example when a stack becomes minimized. By&#xD;&#xA;setting the flag to false the stack's widget is cleanly removed from the UI but&#xD;&#xA;is still 'rendered'. Once the widget has been cached the minimized stack can then&#xD;&#xA;display the widget using its own technques.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This field is a reference to this element's container. Note that while this field is valid&#xD;&#xA;for most UIElements there are a few (such as TrimBars and the Windows associated&#xD;&#xA;with top level windows and perspectives) where this will return 'null' &#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a persistend field that may be used by the &lt;b>parent&lt;/b> element's renderer&#xD;&#xA;to maintain any data that it needs to control the container. For example this is where&#xD;&#xA;the SashRenderer stores the 'weight' of a particular element.&#xD;&#xA;&lt;/p> &lt;p>&#xD;&#xA;&lt;b>NOTE:&lt;/b> This field is effectively deprecated in favor of the parent renderer&#xD;&#xA;simply adding a new keyed value to the UIElement's 'persistentData' map.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a transient (i.e. non-persisted) field which is used in conjunction with&#xD;&#xA;MPlaceholders which are used to share elements actoss multiple perspectives. This&#xD;&#xA;field will point back to the MPlaceholder (if any) currently hosting this one.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This field is provided as a way to inform accessibility screen readers with extra&#xD;&#xA;information. The intent is that the reader should 'say' this phrase as well as what&#xD;&#xA;it would normally emit given the widget hierarchy.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base for the two different types of containment used in the model;&#xD;&#xA;'Stacks' (where only one element would be visible at a time) and 'Tiles' (where &#xD;&#xA;all the ele elements are visible at the same time.&#xD;&#xA;&lt;/p>&lt;p>&#xD;&#xA;All containers define the type of element that they are to contain. By design this is&#xD;&#xA;always a single type. Where different concrete types are to be contained within the&#xD;&#xA;same container they all both mix in a container-specific type. For example both&#xD;&#xA;MParts and MPlaceholders are valid children for an MPartStack so they both mix in&#xD;&#xA;'StackElement' (which is an empty stub used only to constran the stack's types.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This field contains the reference to the currently 'selected' element within a container.&#xD;&#xA;Note that the element must not only be in the container's children list but must also be&#xD;&#xA;visible in the presentation (&quot;toBeRendered' == true).&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a mix in that will be used for UI Elements that are capable of showing label&#xD;&#xA;information in the GUI (e.g. Parts, Menus / Toolbars, Persepectives...)&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a method that will retrieve the internationalized label by using the current&#xD;&#xA;value of the label itself and some translation service.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a method that will retrieve the internationalized tooltip by using the current&#xD;&#xA;value of the label itself and some translation service.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;The label to display for this element. If the label is expected to be internationalized&#xD;&#xA;then the label may be set to a 'key' value to be used by the translation service.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This field contains a fully qualified URL defining the path to an Image to display&#xD;&#xA;for this element.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;The tooltip to display for this element. If the tooltip is expected to be internationalized&#xD;&#xA;then the tooltip may be set to a 'key' value to be used by the translation service.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This type defines the base type for 'stack' type containers. These containers are&#xD;&#xA;expected to only show their currently 'selected' element.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This type defines the base type for 'tile' type containers. These containers are&#xD;&#xA;expected to only show all their visible children at the same time.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This provides a collection specifically for TrimBars.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is an enum defining the side of the UI Window on which this collection&#xD;&#xA;should be displayed.&#xD;&#xA;&lt;/p>"/>

- </eAnnotations>

- </eStructuralFeatures>

- <eGenericSuperTypes eClassifier="#//ui/ElementContainer">

- <eTypeArguments eTypeParameter="#//ui/GenericTrimContainer/T"/>

- </eGenericSuperTypes>

- </eClassifiers>

- <eClassifiers xsi:type="ecore:EEnum" name="SideValue">

- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

- <details key="documentation" value="&lt;p>&#xD;&#xA;An enum providing the specific values determining the side of a trimmedWindow&#xD;&#xA;on which particular trim bars should be displayed.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A class upon which specific types of expressions are based. These are often used to&#xA;evaluate visibility and enablement of model elements.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A specific kind of expression used by the Eclipse Workbench.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This provides a collection of model fragments that can be subsequently cloned and&#xD;&#xA;inserterd into the model using the EModelService. For example saving a customized&#xD;&#xA;Perspective will create a clone and store it in this container.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base type for various menu and toolbar items.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base class for menu and tool items associated with Commands.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the bsae type for both menu items and Separators.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base type for both Handled and direct menu items.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;An element representing a separator in a menu.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- </eAnnotations>

- </eClassifiers>

- <eClassifiers xsi:type="ecore:EClass" name="Menu">

- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class used to represent a menu in the UI Model.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This represents a potential extension to some menu already&#xD;&#xA;defined in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class representing context menus. Menus of this type are generally&#xD;&#xA;managed by code within the running application since they're not visible in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class use to represent a menu item that is directly &#xD;&#xA;invoked when selected. The supplied contribution is asked to execute&#xA;when selected.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete UI Model element representing a menu item that is managed&#xD;&#xA;through the Commands / Handlers infrastructure.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base type for both Direct and Handled tool items.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;When set this represents the menu that appears when the 'drop down' arrow is&#xD;&#xA;clicked on this tool item.&#xD;&#xA;&lt;/p>"/>

- </eAnnotations>

- </eStructuralFeatures>

- </eClassifiers>

- <eClassifiers xsi:type="ecore:EClass" name="ToolBar">

- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing a Toolbar in the UI Model.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a placeholder class mixed in to any other type that can be added to a Toolbar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class representing a widget hosted directly in the trim &#xD;&#xA;or as an item in a Toolbar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete UI Model element representing a tool item that is managed&#xD;&#xA;through the Commands / Handlers infrastructure.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class use to represent a tool item that is directly &#xD;&#xA;invoked when selected. The supplied contribution is asked to execute&#xA;when selected.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class used to represent a separator in a Toolbar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This is a container aggregating the menu contributions to be&#xD;&#xA;applied to menus.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenu&#xD;&#xA;@noreference&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MToolBar&#xD;&#xA;@noreference&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- </eAnnotations>

- </eStructuralFeatures>

- </eClassifiers>

- <eClassifiers xsi:type="ecore:EClass" name="ToolBarContribution">

- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

- <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This represents a potential extension to some toolbar already&#xD;&#xA;defined in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This is a container aggregating the toolbar contributions to be&#xD;&#xA;applied to existing toolbars.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- </eAnnotations>

- </eStructuralFeatures>

- </eClassifiers>

- <eClassifiers xsi:type="ecore:EClass" name="TrimContribution">

- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

- <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This represents a potential extension to some trim bar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This is a container aggregating the trim bar contributions to be&#xD;&#xA;applied.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenuItem&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenuItem&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenuItem&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenuItem&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenuItem&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class used to represent a menu item that replaces itself through&#xD;&#xA;the execution of the associated client code. The supplied contribution will&#xA;provide the appropriate MMenuElement model elements when queried.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This a concrete class representing the core UI functionality within a Window. It's what&#xD;&#xA;used to be a View / Editor in Eclipse 3.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This defines the list of the menus associated with this part. There are two specific menus&#xD;&#xA;that are managed by the core UI;&#xD;&#xA;&lt;ul>&#xD;&#xA;&lt;li>If the menu is the part's id prefixed with &quot;menu:&quot; then it will appear as the &#xD;&#xA;drop down menu available from the view's toolbar.&lt;/li>&#xD;&#xA;&lt;li>If the menu is the part's id prefixed with &quot;popup:&quot; then it will appear as the &#xD;&#xA;ddefault context menu for this view.&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;Other menus can be added here but have to be managed by the part itsefl...&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;The description of this Part; used when the Part appears in a list of Parts&#xD;&#xA;(i.e. 'Show View').&#xD;&#xA;&lt;/p>"/>

- </eAnnotations>

- </eStructuralFeatures>

- </eClassifiers>

- <eClassifiers xsi:type="ecore:EClass" name="CompositePart">

- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a Part that is capable of supporting an internal structure. In order to be useful instances of this part muct be capable&#xD;&#xA;of managing their internal structure.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.1&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients.&#xD;&#xA;"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a subclass of Part that allows tracking of an 'input'. While originally defined as&#xD;&#xA;a type of 'editor' it turns out that it may well be better to just use a regular Part and&#xD;&#xA;to store what would be the input as an entry on the Part's 'persistentData' map.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@deprecated Use Part instead.&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- </eAnnotations>

- </eClassifiers>

- <eClassifiers xsi:type="ecore:EClass" name="PartStack">

- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing a stack of Parts in the UI Model.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing sashed containment in the UI Model. This&#xD;&#xA;type is recursive, allowing the creation of a tree of sashes whose leafs are Parts.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing a bare bones window in the UI Model. Unless&#xD;&#xA;specifically desired it's likely better to use the TrimmedWindow instead.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is the collection of UI Elements that are referenced by Placeholders, allowing&#xD;&#xA;the re-use of these elements in different Perspectives.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A subclass of Window that also supports TrimBars on its edges.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to a TrimBar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to&#xD;&#xA;a PartSashContainer. Since a PartSashContainer is itself a PartSashContainerElement&#xD;&#xA;we can defined nested 'trees' of sash containment.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to a&#xD;&#xA;Window.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- </eAnnotations>

- </eClassifiers>

- <eClassifiers xsi:type="ecore:EClass" name="TrimBar">

- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class representing the trim along a Window's edge.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to a&#xD;&#xA;PartStack.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A subclass of Window representing a dialog.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.1&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A subclass of Window representing a wizard dialog.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.1&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A Placeholder is a concrete class used to share elements between perspectives. The&#xD;&#xA;elements referenced by a Placeholder generally exist in the Window's 'sharedElements'&#xD;&#xA;list. By convention a placeholder usually shares the same elementId as the element&#xD;&#xA;that it's referencing.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;Determines whether the element (usually a Part) referenced by this Placeholder can&#xD;&#xA;be closed by the User. This allows a Part to be closeable in one perspective but&#xD;&#xA;not closeable in a different one.&#xD;&#xA;&lt;/p>"/>

- </eAnnotations>

- </eStructuralFeatures>

- </eClassifiers>

- <eClassifiers xsi:type="ecore:EClass" name="Perspective">

- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

- <details key="documentation" value="&lt;p>&#xD;&#xA;The Persepctive defines a part of the UI presentation that can be switched independently&#xD;&#xA;of the rest of the UI. By using Placeholders it's possible to share elements between&#xD;&#xA;different perspectives.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;The PerspectiveStack is a collectin of Perspectives. Only one perspective may be&#xD;&#xA;visible at a time and is determined by the container's 'selectedElement'.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete element representing a (possibly sashed) chunk of the UI presentation&#xD;&#xA;that will minimize / maximize as one unit. This is used in Eclipse 4 to allow for a split&#xD;&#xA;Editor Area.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This element represents a template from which an MPart can be created on demand.&#xD;&#xA;The collection of PartDescriptors owned by the Application represents the contributed&#xD;&#xA;parts and is used in the e4 version of 'Show View'...&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;This defines the list of the menus associated with the part represented by this descriptor. &#xD;&#xA;There are two specific menus that are managed by the core UI;&#xD;&#xA;&lt;ul>&#xD;&#xA;&lt;li>If the menu is the part's id prefixed with &quot;menu:&quot; then it will appear as the &#xD;&#xA;drop down menu available from the view's toolbar.&lt;/li>&#xD;&#xA;&lt;li>If the menu is the part's id prefixed with &quot;popup:&quot; then it will appear as the &#xD;&#xA;ddefault context menu for this view.&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;Other menus can be added here but have to be managed by the part itsefl...&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;Determines whether Parts generated from this template can participate in the&#xD;&#xA;Dirty -> Save cycle. At best this is a hint since all Parts are inherently dirtyable.&#xD;&#xA;&lt;/p>"/>

- <details key="documentation" value="&lt;p>&#xD;&#xA;A type specific collection of PartDescriptors.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;The MApplication acts as the root of the UI Model. It's children are the&#xD;&#xA; MWindows representing the UI for this application. It also owns the application's&#xD;&#xA;context (which is hooked to the OSGI context, allowing access not only to its&#xD;&#xA;own runtime information but also to any registered OSGI service.&#xD;&#xA;&lt;/p>&lt;p>&#xD;&#xA;It also owns a number of caches which, while independent of the UI itself are&#xD;&#xA;used by the appliecation to populate new windows or to define state that is&#xD;&#xA;epected to be the same for all windows:&#xD;&#xA;&lt;ui>&#xD;&#xA;&lt;li>Keybindings, Handlers, Commands&lt;/li>&#xD;&#xA;&lt;li>Part Descriptors (to support a 'Show View' dialog...)&lt;/li>&#xD;&#xA;&lt;li>Snippets of model (such as saved perspectives...)&lt;/li>&#xD;&#xA;&lt;/ui>&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the list of MCommand elements available in the application. Commands&#xD;&#xA;represent some logical operation. The actual implementation of the operation is&#xD;&#xA;determined by the MHandler chosen by the system based on the current execution&#xD;&#xA;context.&#xD;&#xA;&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the ordered list of MAddons for this model. The individual addons will be&#xD;&#xA;created through injection after the model loads but before it is rendered.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the root element for all UI Model elements, defining attribtues common&#xD;&#xA;to every element; the element's id as well as three general storage elements:&#xD;&#xA;&lt;ul>&#xD;&#xA;&lt;li>Tags: This is a set of strings which can be used to stereotype a particular&#xD;&#xA;element. Tags may be specified in element searches and can also be referred&#xD;&#xA;to in the CSS styling definition.&lt;/li>&#xD;&#xA;&lt;li>PersistedState: A string to string map used to store information that nneds&#xD;&#xA;to be persisted between sessions.&lt;/li>&#xD;&#xA;&lt;li>TransientData: A string to object map which can be used to store runtime data&#xD;&#xA;relevant to a particular model element.&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a Strimg to String map that can be used to persist information avout model&#xD;&#xA;elements across program sessions. The format of the 'value' string is defined by&#xD;&#xA;the code setting the value into the map. Information stored in this map is part of&#xD;&#xA;the model and will be persisted and restored as such.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;Tags are a list of Strings that are persistent parts of the UI Model. They can be used to 'refine' a particular&#xD;&#xA;model element, supplying extra 'meta' information. These tags interact with the CSS engine so that it's&#xD;&#xA;possible to write CSS specific to a particular tag. The platform currently uses this mechanism to cause the&#xD;&#xA;color change in the stack comtaining the currently active part&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This field is used to track the bundle (if any) from which the UI element was&#xD;&#xA;derived in order to faciliate its removal should the bundle go away or be updated.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a String to Object map into which any desired runtime information realted to a particular element&#xD;&#xA;may be stored. It is &lt;i>not&lt;/i> persisted across sessions so it is not necessary that the 'values' be&#xD;&#xA;serializable.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;MContribution is a mix-in class used by concrete elements such as Parts to define&#xD;&#xA;the location of the client supplied class implementing the specific logic needed.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the DI created instance of the class implementing the logic for the element.&#xD;&#xA;It will only be non-null if the element has been rendered into the presentation.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;An MAddon represents a self-contained application logic. Addons may be used&#xD;&#xA;to augment the UI in a variety of ways without requriing that the base application&#xD;&#xA;be aware of the extensions.&#xD;&#xA;&lt;/p>&lt;p>&#xD;&#xA;Addons aare expected to be capable of being removed without damage to the&#xD;&#xA;original UI. While not yet implemented there will be an uninstall protocol defined&#xD;&#xA;ni the future allowing an addon to remove any model elements specific to the&#xD;&#xA;addon (i.e. The MinMaxAddon's TrimElements.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This type contains the list of binding 'tables', representing the various sets of bindings&#xD;&#xA;based on the applicaiton's current running 'context'. Here the 'context' represents&#xD;&#xA;the applicaiton's UI state (i.e. whenther a Dialog is open...).&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;Mixin interface that lists MBindingContexts that should be active when this&#xA;object is active.&#xD;&#xA;&lt;/p>&#xA;&lt;p>Example values: org.eclipse.ui.contexts.dialog, org.eclipse.ui.contexts.window&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This class describes the hierarchy of contexts that are used by the &#xA;&lt;code>EBindingService&lt;/code> to determine which Bindings are currently &#xA;available to the user.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A set of Bindings that will be active if the matching &lt;code>MBindingContext&lt;/code>&#xA;is active.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A Command represents a logical operation within the applicaiton. The implementation&#xD;&#xA;is provided by an MHandler chosen by examining all the candidate's enablement.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This field holds the command's name, used in the UI by default when there&#xD;&#xA;are menu or toolbar items representing this command.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This represents the format of a parameter to be used in a Command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;Handlers provide the execution logic that provides the implementation of a&#xD;&#xA;particular command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This provides a container in which to store lists of Handlers. &#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This allows a KeyBinding to provide a particular set of parameters to be used when&#xD;&#xA;the Command is to be executed. This allows generic commands like 'Open Part' to&#xD;&#xA;have bindings that will open a &lt;i>specific&lt;/i> Part...&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This represents the sequence of characters in a KeyBinding whose detection will&#xD;&#xA;fire the associated Command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a formatted string used by the key binding infrastructure to determine the&#xD;&#xA;exact key sequence for a KeyBinding.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This defines the value of a Parameter to be used by a Command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This defines a logical grouping of Commands in order to facilitate showing &#xD;&#xA;the current set of Commands in dialogs, lists etc&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This class is mixed into a UI element when that element is expected to participate&#xD;&#xA;in the Dependency Injection context hierarchy. The context life-cycle matches&#xD;&#xA;that of the rendered element it belongs to. It's automatically created when the&#xD;&#xA;element is rendered and disposed when the element is unrendered.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This attribute is a reference to the IEclipseContext for this UI element. It will be &#xD;&#xA;non-null only when the element is rendered.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This class should be mixed into any UI element that should participate in the&#xD;&#xA;dirty / save handling. Parts are the most likely scenario for this but it exists as&#xD;&#xA;a mix-in to allow for future model extensions.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This class should be mixed into UI elements such as InputParts that need to &#xD;&#xA;reference an external resource (files...).&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients.&#xD;&#xA;@deprecated No longer used"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;The specification of the particular resource's location or other meta information.&#xD;&#xA;The format of this field will be interpreted by the class using it (i.e. a Part).&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base mix-in shared by all model elements that can be rendered into the&#xD;&#xA;UI presentation of the application. Its main job is to manage the bindings between&#xD;&#xA;the concrete element and the UI 'widget' representing it in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This field represents the platform specific UI 'widget' that is representing this&#xD;&#xA;UIElement on the screen. It will only be non-null when the element has been rendered.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This field controls whether the given UIElement should be displayed within&#xD;&#xA;the application. Note that due to lazy loading it is possible to have this field&#xD;&#xA;set to true but to not have actually rendered the element itself (it does show up&#xD;&#xA;as a tab on the appropiate stack but will only be rendered when that tab is&#xD;&#xA;selected.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This field determines whether or not the given UIElement appears in the presentation&#xD;&#xA;or whether it should be 'cached' for specialized use. Under normal circumstances&#xD;&#xA;this flag should always be 'true'.&#xD;&#xA;&lt;/p>&lt;p>&#xD;&#xA;The MinMaxAddon uses this flag for example when a stack becomes minimized. By&#xD;&#xA;setting the flag to false the stack's widget is cleanly removed from the UI but&#xD;&#xA;is still 'rendered'. Once the widget has been cached the minimized stack can then&#xD;&#xA;display the widget using its own technques.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This field is a reference to this element's container. Note that while this field is valid&#xD;&#xA;for most UIElements there are a few (such as TrimBars and the Windows associated&#xD;&#xA;with top level windows and perspectives) where this will return 'null' &#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a persistend field that may be used by the &lt;b>parent&lt;/b> element's renderer&#xD;&#xA;to maintain any data that it needs to control the container. For example this is where&#xD;&#xA;the SashRenderer stores the 'weight' of a particular element.&#xD;&#xA;&lt;/p> &lt;p>&#xD;&#xA;&lt;b>NOTE:&lt;/b> This field is effectively deprecated in favor of the parent renderer&#xD;&#xA;simply adding a new keyed value to the UIElement's 'persistentData' map.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a transient (i.e. non-persisted) field which is used in conjunction with&#xD;&#xA;MPlaceholders which are used to share elements actoss multiple perspectives. This&#xD;&#xA;field will point back to the MPlaceholder (if any) currently hosting this one.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This field is provided as a way to inform accessibility screen readers with extra&#xD;&#xA;information. The intent is that the reader should 'say' this phrase as well as what&#xD;&#xA;it would normally emit given the widget hierarchy.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base for the two different types of containment used in the model;&#xD;&#xA;'Stacks' (where only one element would be visible at a time) and 'Tiles' (where &#xD;&#xA;all the ele elements are visible at the same time.&#xD;&#xA;&lt;/p>&lt;p>&#xD;&#xA;All containers define the type of element that they are to contain. By design this is&#xD;&#xA;always a single type. Where different concrete types are to be contained within the&#xD;&#xA;same container they all both mix in a container-specific type. For example both&#xD;&#xA;MParts and MPlaceholders are valid children for an MPartStack so they both mix in&#xD;&#xA;'StackElement' (which is an empty stub used only to constran the stack's types.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This field contains the reference to the currently 'selected' element within a container.&#xD;&#xA;Note that the element must not only be in the container's children list but must also be&#xD;&#xA;visible in the presentation (&quot;toBeRendered' == true).&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a mix in that will be used for UI Elements that are capable of showing label&#xD;&#xA;information in the GUI (e.g. Parts, Menus / Toolbars, Persepectives...)&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;The label to display for this element. If the label is expected to be internationalized&#xD;&#xA;then the label may be set to a 'key' value to be used by the translation service.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This field contains a fully qualified URL defining the path to an Image to display&#xD;&#xA;for this element.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;The tooltip to display for this element. If the tooltip is expected to be internationalized&#xD;&#xA;then the tooltip may be set to a 'key' value to be used by the translation service.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This type defines the base type for 'stack' type containers. These containers are&#xD;&#xA;expected to only show their currently 'selected' element.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This type defines the base type for 'tile' type containers. These containers are&#xD;&#xA;expected to only show all their visible children at the same time.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This provides a collection specifically for TrimBars.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is an enum defining the side of the UI Window on which this collection&#xD;&#xA;should be displayed.&#xD;&#xA;&lt;/p>"/>

+ </eAnnotations>

+ </eStructuralFeatures>

+ <eGenericSuperTypes eClassifier="#//ui/ElementContainer">

+ <eTypeArguments eTypeParameter="#//ui/GenericTrimContainer/T"/>

+ </eGenericSuperTypes>

+ </eClassifiers>

+ <eClassifiers xsi:type="ecore:EEnum" name="SideValue">

+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+ <details key="documentation" value="&lt;p>&#xD;&#xA;An enum providing the specific values determining the side of a trimmedWindow&#xD;&#xA;on which particular trim bars should be displayed.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A class upon which specific types of expressions are based. These are often used to&#xA;evaluate visibility and enablement of model elements.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A specific kind of expression used by the Eclipse Workbench.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This provides a collection of model fragments that can be subsequently cloned and&#xD;&#xA;inserterd into the model using the EModelService. For example saving a customized&#xD;&#xA;Perspective will create a clone and store it in this container.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This class should be mixed into any UI element that should participate in the&#xD;&#xA;Locale update handling.&#xD;&#xA;&lt;/p>"/>

+ </eAnnotations>

+ <eOperations name="updateLocalization">

+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This method is used to support Locale changes at runtime.&#xD;&#xA;Implementing this method should result in refreshing localizable properties&#xD;&#xA;like labels, tooltips and descriptions.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base type for various menu and toolbar items.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base class for menu and tool items associated with Commands.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the bsae type for both menu items and Separators.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base type for both Handled and direct menu items.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;An element representing a separator in a menu.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ </eAnnotations>

+ </eClassifiers>

+ <eClassifiers xsi:type="ecore:EClass" name="Menu">

+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class used to represent a menu in the UI Model.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This represents a potential extension to some menu already&#xD;&#xA;defined in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class representing context menus. Menus of this type are generally&#xD;&#xA;managed by code within the running application since they're not visible in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class use to represent a menu item that is directly &#xD;&#xA;invoked when selected. The supplied contribution is asked to execute&#xA;when selected.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete UI Model element representing a menu item that is managed&#xD;&#xA;through the Commands / Handlers infrastructure.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the base type for both Direct and Handled tool items.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;When set this represents the menu that appears when the 'drop down' arrow is&#xD;&#xA;clicked on this tool item.&#xD;&#xA;&lt;/p>"/>

+ </eAnnotations>

+ </eStructuralFeatures>

+ </eClassifiers>

+ <eClassifiers xsi:type="ecore:EClass" name="ToolBar">

+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing a Toolbar in the UI Model.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a placeholder class mixed in to any other type that can be added to a Toolbar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class representing a widget hosted directly in the trim &#xD;&#xA;or as an item in a Toolbar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete UI Model element representing a tool item that is managed&#xD;&#xA;through the Commands / Handlers infrastructure.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class use to represent a tool item that is directly &#xD;&#xA;invoked when selected. The supplied contribution is asked to execute&#xA;when selected.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class used to represent a separator in a Toolbar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This is a container aggregating the menu contributions to be&#xD;&#xA;applied to menus.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenu&#xD;&#xA;@noreference&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MToolBar&#xD;&#xA;@noreference&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ </eAnnotations>

+ </eStructuralFeatures>

+ </eClassifiers>

+ <eClassifiers xsi:type="ecore:EClass" name="ToolBarContribution">

+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+ <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This represents a potential extension to some toolbar already&#xD;&#xA;defined in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This is a container aggregating the toolbar contributions to be&#xD;&#xA;applied to existing toolbars.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ </eAnnotations>

+ </eStructuralFeatures>

+ </eClassifiers>

+ <eClassifiers xsi:type="ecore:EClass" name="TrimContribution">

+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+ <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This represents a potential extension to some trim bar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This is a container aggregating the trim bar contributions to be&#xD;&#xA;applied.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenuItem&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenuItem&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenuItem&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenuItem&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="Do no use! This class will be removed at the beginning of Luna (4.4) development.&#xD;&#xA;@deprecated Use MMenuItem&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class used to represent a menu item that replaces itself through&#xD;&#xA;the execution of the associated client code. The supplied contribution will&#xA;provide the appropriate MMenuElement model elements when queried.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This a concrete class representing the core UI functionality within a Window. It's what&#xD;&#xA;used to be a View / Editor in Eclipse 3.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This defines the list of the menus associated with this part. There are two specific menus&#xD;&#xA;that are managed by the core UI;&#xD;&#xA;&lt;ul>&#xD;&#xA;&lt;li>If the menu is the part's id prefixed with &quot;menu:&quot; then it will appear as the &#xD;&#xA;drop down menu available from the view's toolbar.&lt;/li>&#xD;&#xA;&lt;li>If the menu is the part's id prefixed with &quot;popup:&quot; then it will appear as the &#xD;&#xA;ddefault context menu for this view.&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;Other menus can be added here but have to be managed by the part itsefl...&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a Part that is capable of supporting an internal structure. In order to be useful instances of this part muct be capable&#xD;&#xA;of managing their internal structure.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.1&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients.&#xD;&#xA;"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a subclass of Part that allows tracking of an 'input'. While originally defined as&#xD;&#xA;a type of 'editor' it turns out that it may well be better to just use a regular Part and&#xD;&#xA;to store what would be the input as an entry on the Part's 'persistentData' map.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@deprecated Use Part instead.&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ </eAnnotations>

+ </eClassifiers>

+ <eClassifiers xsi:type="ecore:EClass" name="PartStack">

+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing a stack of Parts in the UI Model.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing sashed containment in the UI Model. This&#xD;&#xA;type is recursive, allowing the creation of a tree of sashes whose leafs are Parts.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing a bare bones window in the UI Model. Unless&#xD;&#xA;specifically desired it's likely better to use the TrimmedWindow instead.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is the collection of UI Elements that are referenced by Placeholders, allowing&#xD;&#xA;the re-use of these elements in different Perspectives.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A subclass of Window that also supports TrimBars on its edges.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to a TrimBar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to&#xD;&#xA;a PartSashContainer. Since a PartSashContainer is itself a PartSashContainerElement&#xD;&#xA;we can defined nested 'trees' of sash containment.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to a&#xD;&#xA;Window.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ </eAnnotations>

+ </eClassifiers>

+ <eClassifiers xsi:type="ecore:EClass" name="TrimBar">

+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class representing the trim along a Window's edge.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to a&#xD;&#xA;PartStack.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A subclass of Window representing a dialog.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.1&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A subclass of Window representing a wizard dialog.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.1&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A Placeholder is a concrete class used to share elements between perspectives. The&#xD;&#xA;elements referenced by a Placeholder generally exist in the Window's 'sharedElements'&#xD;&#xA;list. By convention a placeholder usually shares the same elementId as the element&#xD;&#xA;that it's referencing.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;Determines whether the element (usually a Part) referenced by this Placeholder can&#xD;&#xA;be closed by the User. This allows a Part to be closeable in one perspective but&#xD;&#xA;not closeable in a different one.&#xD;&#xA;&lt;/p>"/>

+ </eAnnotations>

+ </eStructuralFeatures>

+ </eClassifiers>

+ <eClassifiers xsi:type="ecore:EClass" name="Perspective">

+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+ <details key="documentation" value="&lt;p>&#xD;&#xA;The Persepctive defines a part of the UI presentation that can be switched independently&#xD;&#xA;of the rest of the UI. By using Placeholders it's possible to share elements between&#xD;&#xA;different perspectives.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in &#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore. &#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;The PerspectiveStack is a collectin of Perspectives. Only one perspective may be&#xD;&#xA;visible at a time and is determined by the container's 'selectedElement'.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete element representing a (possibly sashed) chunk of the UI presentation&#xD;&#xA;that will minimize / maximize as one unit. This is used in Eclipse 4 to allow for a split&#xD;&#xA;Editor Area.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This element represents a template from which an MPart can be created on demand.&#xD;&#xA;The collection of PartDescriptors owned by the Application represents the contributed&#xD;&#xA;parts and is used in the e4 version of 'Show View'...&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;This defines the list of the menus associated with the part represented by this descriptor. &#xD;&#xA;There are two specific menus that are managed by the core UI;&#xD;&#xA;&lt;ul>&#xD;&#xA;&lt;li>If the menu is the part's id prefixed with &quot;menu:&quot; then it will appear as the &#xD;&#xA;drop down menu available from the view's toolbar.&lt;/li>&#xD;&#xA;&lt;li>If the menu is the part's id prefixed with &quot;popup:&quot; then it will appear as the &#xD;&#xA;ddefault context menu for this view.&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;Other menus can be added here but have to be managed by the part itsefl...&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;Determines whether Parts generated from this template can participate in the&#xD;&#xA;Dirty -> Save cycle. At best this is a hint since all Parts are inherently dirtyable.&#xD;&#xA;&lt;/p>"/>

+ <details key="documentation" value="&lt;p>&#xD;&#xA;A type specific collection of PartDescriptors.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>