~ubuntu-branches/ubuntu/trusty/eclipse-linuxtools/trusty

« back to all changes in this revision

Viewing changes to lttng/org.eclipse.linuxtools.tmf.ui/schema/org.eclipse.linuxtools.tmf.ui.uml2SDLoader.exsd

  • Committer: Package Import Robot
  • Author(s): Jakub Adam
  • Date: 2012-06-29 12:07:30 UTC
  • Revision ID: package-import@ubuntu.com-20120629120730-bfri1xys1i71dpn6
Tags: upstream-1.0.0
ImportĀ upstreamĀ versionĀ 1.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
         Since 0.3.2 (based on UML2SD of org.eclipse.tptp.common.ui)
 
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>