Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
blob: 89ecb3fb4db9eff03a753fa354bbe4b88dc8e6a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.rse.ui">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.rse.ui" id="propertyPages" name="Property Pages"/>
      </appInfo>
      <documentation>
         &lt;p&gt;
This extension point is modelled after the eclipse workbench
extension point &lt;samp&gt;org.eclipse.ui.propertyPages&lt;/samp&gt;.
However, because we know we are targeting remote resources, it
is simplified a bit. Specifically,
there is no need to specify the object class, as we assume these
actions apply to remote resources, which often share a common
object class. 
On the other hand, we need additional filtering capabilities
to scope which remote resources these pages are to apply to.
&lt;/p&gt;

&lt;p&gt;
To this end, there is a rich set of filtering attributes to enable
fine-grained scoping by a number
of criteria. These scoping attributes are the same as those for
our &lt;samp&gt;org.eclipse.rse.ui.popupMenus&lt;/samp&gt;
extension point.

&lt;p&gt;
While not fully documented here, this extension point supports
the
&lt;samp&gt;&amp;lt;filter&amp;gt;&lt;/samp&gt;
element from the &lt;samp&gt;org.eclipse.ui.popupMenus&lt;/samp&gt;
extension point. See its
documentation in the help for information on this element.
For example:
&lt;samp&gt;&lt;pre&gt;
   &lt;filter name=&quot;subsystemFactoryCategory&quot; value=&quot;files&quot;/&gt;   
&lt;/pre&gt;&lt;/samp&gt;
This element is for conditionally deciding whether to show
the property page, very much like the attributes of the &amp;lt;page&amp;gt; element
do; in fact there is some overlap. &lt;br&gt;
The &lt;samp&gt;name&lt;/samp&gt;s
supported for the &lt;samp&gt;&amp;lt;filter&amp;gt;&lt;/samp&gt;
element are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;samp&gt;&quot;name&quot;&lt;/samp&gt;&lt;/b&gt;. Will test the &lt;i&gt;value&lt;/i&gt; for
an exact match on an object&apos;s name,
or beginning-of-name match if ends with an asterisk.
&lt;li&gt;&lt;b&gt;&lt;samp&gt;&quot;type&quot;&lt;/samp&gt;&lt;/b&gt;. Will test the &lt;i&gt;value&lt;/i&gt; for
an exact match on an object&apos;s type.
&lt;li&gt;&lt;b&gt;&lt;samp&gt;&quot;offline&quot;&lt;/samp&gt;&lt;/b&gt;.Will test the &lt;i&gt;value&lt;/i&gt;
against &quot;true&quot; if the user is working
in &quot;offline&quot; mode or &quot;false&quot; if not. Currently only supported
for iSeries connections.
&lt;li&gt;&lt;b&gt;&lt;samp&gt;&quot;connected&quot;&lt;/samp&gt;&lt;/b&gt;. Will test the &lt;i&gt;value&lt;/i&gt;
against &quot;true&quot; if the connection
containing the selected object is active or &quot;false&quot; if not.
&lt;li&gt;&lt;b&gt;&lt;samp&gt;&quot;hasChildren&quot;&lt;/samp&gt;&lt;/b&gt;. Will test the &lt;i&gt;value&lt;/i&gt;
against &quot;true&quot; if this object&apos;s
adapter reports that it has children or &quot;false&quot; if it doesn&apos;t
have children.
&lt;li&gt;&lt;b&gt;&lt;samp&gt;&quot;systemType&quot;&lt;/samp&gt;&lt;/b&gt;. Will test the &lt;i&gt;value&lt;/i&gt;
for an exact match on the system type of
this object&apos;s parent SystemConnection object. 
You can specify multiple values if you comma-separate them. 
&lt;li&gt;&lt;b&gt;&lt;samp&gt;&quot;subsystemFactoryId&quot;&lt;/samp&gt;&lt;/b&gt;. Will test the &lt;i&gt;value&lt;/i&gt;
for an exact match on the 
&lt;samp&gt;ID&lt;/samp&gt; of the subsystem factory that created this object&apos;s
subsystem. Returns false for SystemConnection objects.
You can specify multiple values if you comma-separate them. 
&lt;li&gt;&lt;b&gt;&lt;samp&gt;&quot;subsystemFactoryCategory&quot;&lt;/samp&gt;&lt;/b&gt;. Will test
the &lt;i&gt;value&lt;/i&gt; for an exact match
on the &lt;samp&gt;category&lt;/samp&gt; of the subsystem factory that created
this object&apos;s subsystem.
You can specify multiple values if you comma-separate them. 
&lt;/ul&gt;
      </documentation>
   </annotation>

   <element name="extension">
      <annotation>
         <documentation>
            (no description available)
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="page" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="page">
      <annotation>
         <appInfo>
            <meta.element labelAttribute="name" icon="icon"/>
         </appInfo>
         <documentation>
            Identifies an individual property page contribution.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  a unique ID that will be used to identify this page.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  a translatable name that will be used in the UI for this page.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  a fully qualified name of the class that implements &lt;code&gt;org.eclipse.ui.IWorkbenchPropertyPage&lt;/code&gt;.
Or better yet, extends one of the supplied base classes, described in the API Information section.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IWorkbenchPropertyPage"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="icon" type="string">
            <annotation>
               <documentation>
                  A relative path to an icon that will be used in the UI in addition to the page name. Optional.
               </documentation>
               <appInfo>
                  <meta.attribute kind="resource"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="subsystemconfigurationid" type="string">
            <annotation>
               <documentation>
                  One of the optional filters to scope the remote resources for
which the property page is to appear.
Specify as many of these optional filters like this as needed to explicitly scope this property page element.
&lt;p&gt;
This filter specifies a subsystem configuration id, such that this
property page will only appear for remote resources returned from subsystems of the given subsystem configuration.
This ID can be scalar, or it can be generic to match on multiple subsystem configuration IDs.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="subsystemconfigurationCategory" type="string">
            <annotation>
               <documentation>
                  One of the optional filters to scope the remote resources for
which the property page is to appear.
Specify as many of these optional filters like this as needed to explicitly scope
this property page element.

&lt;p&gt;
This filter specifies a subsystem configuration category, such that
this
property page will only appear for remote resources returned from subsystems
owned by subsystem configurations
declared defined with the specified category. 

&lt;p&gt;
This category can be scalar, or it can be generic to match on
multiple subsystem configuration categories. The
categories of the Predefined subsystem configurations that display
remote resources in the Remote
Systems view are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;files&lt;/b&gt;. For subsystems that list hierarchical file
system resources, such as folders and files.
&lt;li&gt;&lt;b&gt;nativefiles&lt;/b&gt;. For subsystems that list non-hierarchical file
system resources, such as in the iSeries QSYS file system.
&lt;li&gt;&lt;b&gt;commands&lt;/b&gt;. For subsystems that list remote commands.
&lt;li&gt;&lt;b&gt;jobs&lt;/b&gt;. For subsystems that list remote jobs.
&lt;/ul&gt;
&lt;br&gt;
               </documentation>
            </annotation>
         </attribute>
         <attribute name="systemTypes" type="string">
            <annotation>
               <documentation>
                  One of the optional filters to scope the remote resources for
which the popup menu actions are to appear.
Specify as many of these optional filters like this as needed to explicitly scope
all the actions defined in this objectContribution element.
&lt;br&gt;
This filter specifies a single system type, or semicolon-separated list of system types,
or asterisk for all system types (the default).
Will scope these actions to only remote objects from systems of this type or types.                  
&lt;br&gt;&lt;br&gt;
               </documentation>
            </annotation>
         </attribute>
         <attribute name="namefilter" type="string">
            <annotation>
               <documentation>
                  One of the optional filters to scope the remote resources for
which the property page is to appear.
Specify as many of these optional filters like this as needed to explicitly scope this property page element.
&lt;p&gt;
This filter specifies a simple or generic resource name. 
Only resources whose name matches this filter will show the property page
defined within this page element.
&lt;/p&gt;
               </documentation>
            </annotation>
         </attribute>
         <attribute name="typecategoryfilter" type="string">
            <annotation>
               <documentation>
                  One of the optional filters to scope the remote resources for
which the property page is to appear.
Specify as many of these optional filters like this as needed to explicitly scope this property page element.
&lt;p&gt;
This filter specifies a type category. Normally the subsystemconfigurationid
is sufficient, but some subsystems display multiple types of
resources, and these are categorized by a type name that can
be used to scope property pages.
&lt;br&gt;
               </documentation>
            </annotation>
         </attribute>
         <attribute name="typefilter" type="string">
            <annotation>
               <documentation>
                  One of the optional filters to scope the remote resources for
which the property page is to appear.
Specify as many of these optional filters like this as needed to explicitly scope
this property page element.

&lt;p&gt;
This filter specifies a resource type, either simple or generic.
The resource types depends on the subsystem. 
&lt;br&gt;
               </documentation>
            </annotation>
         </attribute>
         <attribute name="subtypefilter" type="string">
            <annotation>
               <documentation>
                  One of the optional filters to scope the remote resources for
which the property page is to appear.
Specify as many of these optional filters like this as needed to explicitly scope
this property page element.

&lt;p&gt;
This filter specifies a simple or generic resource subtype to
match. Not all subsystems support subtypes for their resources.
&lt;br&gt;
               </documentation>
            </annotation>
         </attribute>
         <attribute name="subsubtypefilter" type="string">
            <annotation>
               <documentation>
                  One of the optional filters to scope the remote resources for
which the property page is to appear.
Specify as many of these optional filters like this as needed to explicitly scope
this property page element.

&lt;p&gt;
This filter specifies a simple or generic resource sub-subtype
to match. 
&lt;/p&gt;
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         The following is a simple example of a property page for
files or folders in any remote system type:
&lt;h3&gt;Example One&lt;/h3&gt;
&lt;p&gt;
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.rse.ui.propertyPages&quot;&gt;
      &lt;page 
            class=&quot;com.acme.myPropertyPage1&quot;
            id=&quot;com.acme.mypropertypage1&quot;
            name=&quot;Remote Folder and File Info&quot;
            typecategoryfilter=&quot;files&quot;&gt;
      &lt;/page&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;

The following refines the first example  so it only applies
to files, versus folders, and only for local files:
&lt;h3&gt;Example Two&lt;/h3&gt;
&lt;p&gt;
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.rse.ui.propertyPages&quot;&gt;
      &lt;page 
            class=&quot;com.acme.myPropertyPage2&quot;
            id=&quot;com.acme.mypropertypage2&quot;
            name=&quot;Remote File Info&quot;
            typecategoryfilter=&quot;files&quot;
            typefilter=&quot;file&quot;
            subsystemconfigurationid=&quot;local.files&quot;&gt;
      &lt;/page&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;

The following refines the second example  so it only applies
to local Java files:
&lt;h3&gt;Example Three&lt;/h3&gt;
&lt;p&gt;
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.rse.ui.propertyPages&quot;&gt;
      &lt;page 
            class=&quot;com.acme.myPropertyPage3&quot;
            id=&quot;com.acme.mypropertypage3&quot;
            name=&quot;Remote Java File Info&quot;
            typecategoryfilter=&quot;files&quot;
            typefilter=&quot;file&quot;
            subsystemconfigurationid=&quot;local.files&quot;
            namefilter=&quot;*.java&quot;&gt;
      &lt;/page&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;


&lt;p&gt;
Remember, you can repeat the &lt;samp&gt;page&lt;/samp&gt; elements as needed, to define
multiple property pages within the same extension configuration.
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         Your actions must all implement the interface &lt;samp&gt;org.eclipse.ui.IWorkbenchPropertyPage&lt;/samp&gt;.
Typically, you will subclass one of the supplied base classes
for this extension point:
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;org.eclipse.rse.ui.propertypages.SystemAbstractPropertyPageExtensionAction&lt;/b&gt;,
in plugin org.eclipse.rse.ui.
Base class offering generic support for any remote resource property page, for any system type.
&lt;li&gt;&lt;b&gt;org.eclipse.rse.files.ui.propertypages.SystemAbstractRemoteFilePropertyPageExtensionAction&lt;/b&gt;,
in plugin org.eclipse.rse.files.ui. 
Specialized base class offering specific support for any remote file or folder property page, for any system type.
&lt;/ul&gt;
&lt;br&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         There is no supplied implementation for this extension point.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2002, 2006 IBM Corporation. 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 http://www.eclipse.org/legal/epl-v10.html

Contributors:
IBM Corporation - initial API and implementation
      </documentation>
   </annotation>

</schema>

Back to the top