ss: Move plugins to Trace Compass namespace
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / schema / org.eclipse.linuxtools.tmf.ui.uml2SDLoader.exsd
1 <?xml version='1.0' encoding='UTF-8'?>
2 <!-- Schema file written by PDE -->
3 <schema targetNamespace="org.eclipse.linuxtools.tmf.ui" xmlns="http://www.w3.org/2001/XMLSchema">
4 <annotation>
5 <appinfo>
6 <meta.schema plugin="org.eclipse.linuxtools.tmf.ui" id="uml2SDLoader" name="TMF UML2 Sequence Diagram Extensions"/>
7 </appinfo>
8 <documentation>
9 This extension point aims to list and connect any UML2 Sequence Diagram loader.
10 </documentation>
11 </annotation>
12
13 <element name="extension">
14 <annotation>
15 <appinfo>
16 <meta.element />
17 </appinfo>
18 </annotation>
19 <complexType>
20 <sequence minOccurs="1" maxOccurs="unbounded">
21 <element ref="uml2SDLoader"/>
22 </sequence>
23 <attribute name="point" type="string" use="required">
24 <annotation>
25 <documentation>
26 A fully qualified identifier of the target extension point.
27 </documentation>
28 </annotation>
29 </attribute>
30 <attribute name="id" type="string">
31 <annotation>
32 <documentation>
33 An optional identifier of the extension instance.
34 </documentation>
35 </annotation>
36 </attribute>
37 <attribute name="name" type="string">
38 <annotation>
39 <documentation>
40 An optional name of the extension instance.
41 </documentation>
42 </annotation>
43 </attribute>
44 </complexType>
45 </element>
46
47 <element name="uml2SDLoader">
48 <complexType>
49 <attribute name="id" type="string" use="required">
50 <annotation>
51 <documentation>
52 A unique identifier for this &lt;code&gt;uml2SDLoader&lt;/code&gt;. This is not mandatory as long as the id attribute cannot be retrieved by the provider plugin. The class attribute is the one on which the underlying algorythm relies.
53 </documentation>
54 </annotation>
55 </attribute>
56 <attribute name="name" type="string" use="required">
57 <annotation>
58 <documentation>
59 An name of the extension instance.
60 </documentation>
61 </annotation>
62 </attribute>
63 <attribute name="class" type="string" use="required">
64 <annotation>
65 <documentation>
66 The implementation of this UML2 SD viewer loader. The class must implement &lt;code&gt;org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader&lt;/code&gt;.
67 </documentation>
68 <appinfo>
69 <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader"/>
70 </appinfo>
71 </annotation>
72 </attribute>
73 <attribute name="view" type="string" use="required">
74 <annotation>
75 <documentation>
76 The view ID of the view that this loader aims to populate.
77 Either &lt;code&gt;org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView&lt;/code&gt; itself or a extension of &lt;code&gt;org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView&lt;/code&gt;.
78 </documentation>
79 </annotation>
80 </attribute>
81 <attribute name="default" type="boolean">
82 <annotation>
83 <documentation>
84 Set to true to make this loader the default one for the view; in case of several default loaders, first one coming from extensions list is taken.
85 </documentation>
86 </annotation>
87 </attribute>
88 </complexType>
89 </element>
90
91 <annotation>
92 <appinfo>
93 <meta.section type="since"/>
94 </appinfo>
95 <documentation>
96 1.0
97 </documentation>
98 </annotation>
99
100 <annotation>
101 <appinfo>
102 <meta.section type="examples"/>
103 </appinfo>
104 <documentation>
105 &lt;p&gt;
106 For an example implementation of the loader class see:
107 &lt;pre&gt;
108 plug-in: org.eclipse.linuxtools.tmf.ui
109 package: org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl
110 class: TmfUml2SDSyncLoader
111 &lt;/pre&gt;
112 &lt;/p&gt;
113
114 &lt;p&gt;
115 The following is an example of the extension point:
116 &lt;pre&gt;
117 &lt;extension
118 point=&quot;org.eclipse.linuxtools.tmf.ui.uml2SDLoader&quot;&gt;
119 &lt;uml2SDLoader
120 class=&quot;org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl.TmfUml2SDSyncLoader&quot;
121 default=&quot;true&quot;
122 id=&quot;org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl.TmfUml2SDSyncLoader&quot;
123 name=&quot;Component Interactions&quot;
124 view=&quot;org.eclipse.linuxtools.ust.examples.ui.componentinteraction&quot;&gt;
125 &lt;/uml2SDLoader&gt;
126 &lt;/extension&gt;
127 &lt;/pre&gt;
128 &lt;/p&gt;
129 &lt;p&gt;
130 The following is an example of the extension point for the required sequence diagram view:
131 &lt;pre&gt;
132 &lt;extension
133 point=&quot;org.eclipse.ui.views&quot;&gt;
134 &lt;view
135 category=&quot;org.eclipse.linuxtools.ust.examples.ui.sequenceDiagrams&quot;
136 class =&quot;org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView&quot;
137 id=&quot;org.eclipse.linuxtools.ust.examples.ui.componentinteraction&quot;
138 name=&quot;Sequence Diagram&quot;
139 restorable=&quot;true&quot;&gt;
140 &lt;/view&gt;
141 &lt;/extension&gt;
142 &lt;/pre&gt;
143 &lt;/p&gt;
144
145 &lt;p&gt;
146 The following example command handler shows how to specify which loader to use while opening the sequence diagram view. This is not necessary if there is only one loader for a given sequence diagram view associated and this loader has the attribute &quot;default&quot; set to &quot;true&quot;.
147 &lt;pre&gt;
148 public class OpenSDView extends AbstractHandler {
149 @Override
150 public Object execute(ExecutionEvent event) throws ExecutionException {
151 try {
152 IWorkbenchPage persp = TmfUiPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
153 SDView view = (SDView) persp.showView(&quot;org.eclipse.linuxtools.ust.examples.ui.componentinteraction&quot;);
154 LoadersManager.getLoadersManager().createLoader(&quot;org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl.TmfUml2SDSyncLoader&quot;, view);
155 } catch (PartInitException e) {
156 throw new ExecutionException(&quot;PartInitException caught: &quot;, e);
157 }
158 return null;
159 }
160 }
161 &lt;/pre&gt;
162 &lt;/p&gt;
163 </documentation>
164 </annotation>
165
166 <annotation>
167 <appinfo>
168 <meta.section type="apiinfo"/>
169 </appinfo>
170 <documentation>
171 &lt;p&gt;
172 For this extension point a sequence diagram view has to be defined as well. The sequence diagram view class implementation is provided by the plug-in org.eclipse.linuxtools.tmf.ui (org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView) and can be used as is or can also be sub-classed.
173 &lt;/p&gt;
174 &lt;p&gt;
175 With this extension point, a loader class is associated with a sequence diagram view. Multiple loaders can be associated to a single sequence diagram view. However, additional means have to be implemented to specify which loader should be used when opening the view. For example, an eclipse action or command could be used for that (see example section). This additional code is not necessary if there is only one loader for a given sequence diagram view associated and this loader has the attribute &quot;default&quot; set to &quot;true&quot;.
176 &lt;/p&gt;
177 </documentation>
178 </annotation>
179
180
181 <annotation>
182 <appinfo>
183 <meta.section type="copyright"/>
184 </appinfo>
185 <documentation>
186 Copyright (c) 2005, 2008, 2011 IBM Corporation, Ericsson and others
187
188 All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at &lt;a
189 href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
190 </documentation>
191 </annotation>
192
193 </schema>
This page took 0.03538 seconds and 5 git commands to generate.