ToggleInsertOverwriteHandler now also triggers enabling and disabling of ToggleLeftRi...
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / plugin.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <?eclipse version="3.2"?>
3 <plugin>
4 <extension
5 id="application"
6 point="org.eclipse.core.runtime.applications">
7 <application>
8 <run
9 class="eu.etaxonomy.taxeditor.editor.Application">
10 </run>
11 </application>
12 </extension>
13 <extension
14 point="org.eclipse.core.runtime.adapters">
15 <factory
16 adaptableType="eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor"
17 class="eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditorAdapterFactory">
18 <adapter
19 type="eu.etaxonomy.taxeditor.editor.DuplicateArbitrator">
20 </adapter>
21 </factory>
22 </extension>
23 <extension
24 point="org.eclipse.ui.editors">
25 <editor
26 class="eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor"
27 icon="icons/edit_16x16.gif"
28 id="eu.etaxonomy.taxeditor.editor.taxon"
29 name="%editor.name">
30 </editor>
31 <editor
32 class="eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor"
33 default="true"
34 id="eu.etaxonomy.taxeditor.editor.taxon.name"
35 name="%editor.name.0">
36 </editor>
37 <editor
38 class="eu.etaxonomy.taxeditor.editor.key.KeyEditor"
39 default="false"
40 id="eu.etaxonomy.taxeditor.editor.key"
41 name="%editor.name.1">
42 </editor>
43 <editor
44 class="eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyGraphEditor"
45 default="false"
46 id="eu.etaxonomy.taxeditor.editor.key.polytomous.graph"
47 name="%editor.name.2">
48 </editor>
49 <editor
50 class="eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyListEditor"
51 default="false"
52 id="eu.etaxonomy.taxeditor.editor.key.polytomous.list"
53 name="%editor.name.3">
54 </editor>
55 <editor
56 class="eu.etaxonomy.taxeditor.editor.group.authority.CdmAuthorityEditor"
57 default="false"
58 id="eu.etaxonomy.taxeditor.editor.group.authority"
59 name="%editor.name.4">
60 </editor>
61 <editor
62 class="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView"
63 default="false"
64 icon="icons/derivate_view-16x16-32.png"
65 id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView"
66 name="%editor.name.5">
67 </editor>
68 <editor
69 class="eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportEditor"
70 default="false"
71 id="eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportEditor"
72 name="%editor.name.6">
73 </editor>
74 <editor
75 class="eu.etaxonomy.taxeditor.editor.view.dataimport.GbifImportEditor"
76 default="false"
77 id="eu.etaxonomy.taxeditor.editor.view.dataimport.GbifImportEditor"
78 name="%editor.name.7">
79 </editor>
80 <editor
81 class="eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor"
82 icon="icons/check.png"
83 id="eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor"
84 name="%editor.name.8">
85 </editor>
86 <editor
87 class="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor"
88 default="false"
89 id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor"
90 name="Alignment Editor">
91 </editor>
92 </extension>
93 <extension
94 id="eu.etaxonomy.taxeditor.editor.molecular.PherogramView"
95 point="org.eclipse.ui.views">
96 <view
97 allowMultiple="false"
98 category="eu.etaxonomy.taxeditor.editor.category"
99 class="eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart"
100 icon="icons/address-book-new.png"
101 id="eu.etaxonomy.taxeditor.editor.view.descriptive"
102 name="%view.name"
103 restorable="true">
104 </view>
105 <view
106 allowMultiple="false"
107 category="eu.etaxonomy.taxeditor.editor.category"
108 class="eu.etaxonomy.taxeditor.editor.view.uses.UsesViewPart"
109 icon="icons/leaf.png"
110 id="eu.etaxonomy.taxeditor.editor.view.uses"
111 name="%view.name.0"
112 restorable="true">
113 </view>
114 <view
115 allowMultiple="false"
116 category="eu.etaxonomy.taxeditor.editor.category"
117 class="eu.etaxonomy.taxeditor.editor.view.media.MediaViewPart"
118 icon="icons/camera-photo.png"
119 id="eu.etaxonomy.taxeditor.editor.view.media"
120 name="%view.name.1"
121 restorable="true">
122 </view>
123 <view
124 category="eu.etaxonomy.taxeditor.editor.category"
125 class="eu.etaxonomy.taxeditor.editor.view.concept.ConceptViewPart"
126 id="eu.etaxonomy.taxeditor.editor.view.concept"
127 name="%view.name.2"
128 restorable="true">
129 </view>
130 <view
131 category="eu.etaxonomy.taxeditor.editor.category"
132 class="eu.etaxonomy.taxeditor.editor.view.concept.graph.ConceptGraphView"
133 icon="icons/address-book-new.png"
134 id="eu.etaxonomy.taxeditor.editor.view.concept.graph"
135 name="%view.name.3"
136 restorable="true">
137 </view>
138 <category
139 id="eu.etaxonomy.taxeditor.editor.category"
140 name="%category.name">
141 </category>
142 <view
143 allowMultiple="true"
144 class="eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportView"
145 id="eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportView"
146 name="%view.name.4">
147 </view>
148 <view
149 allowMultiple="true"
150 class="eu.etaxonomy.taxeditor.editor.view.dataimport.GbifResponseImportView"
151 id="eu.etaxonomy.taxeditor.editor.view.dataimport.GbifResponseImportView"
152 name="%view.name.5">
153 </view>
154 <view
155 allowMultiple="false"
156 category="eu.etaxonomy.taxeditor.editor.category"
157 class="eu.etaxonomy.taxeditor.editor.view.validation.ValidationProblemsView"
158 icon="icons/edit_16x16.gif"
159 id="eu.etaxonomy.taxeditor.editor.view.validation.problems"
160 name="%view.name.6">
161 </view>
162 <view
163 allowMultiple="true"
164 class="eu.etaxonomy.taxeditor.editor.molecular.PherogramViewPart"
165 id="eu.etaxonomy.taxeditor.editor.molecular.PherogramView"
166 name="PherogramView"
167 restorable="true">
168 </view>
169 </extension>
170 <!-- VALIDATION RELATED STUFF -->
171 <extension point="org.eclipse.core.resources.markers" name="%extension.name.0" id="eu.etaxonomy.taxeditor.markers.validationerror">
172 <super type="org.eclipse.core.resources.problemmarker"/>
173 <attribute name="databaseId"/>
174 <attribute name="userFriendlyTypeName"/>
175 <attribute name="userFriendlyDescription"/>
176 <attribute name="userFriendlyFieldName"/>
177 <attribute name="validatorMessage"/>
178 <attribute name="invalidValue"/>
179 <attribute name="validatorClass"/>
180 <attribute name="entityClass"/>
181 <attribute name="entityId"/>
182 <persistent value="false"/>
183 </extension>
184
185 <extension point="org.eclipse.ui.ide.markerSupport">
186 <markerContentGenerator
187 id="eu.etaxonomy.taxeditor.editor.validation.ValidationProblemsMarkerGenerator"
188 name="%markerContentGenerator.name">
189 <markerTypeReference id="eu.etaxonomy.taxeditor.markers.validationerror" />
190
191 <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyTypeName" visible="true" />
192 <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyDescription" visible="true" />
193 <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyFieldName" visible="true" />
194 <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.validatorMessage" visible="true" />
195 <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.invalidValue" visible="true" />
196 <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.validatorClass" visible="false" />
197 <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.entityClass" visible="false" />
198 <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.entityId" visible="false" />
199 </markerContentGenerator>
200
201 <markerField
202 class="eu.etaxonomy.taxeditor.editor.view.validation.UserFriendlyTypeNameMarkerField"
203 id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyTypeName"
204 name="%marker.field.0">
205 </markerField>
206 <markerField
207 class="eu.etaxonomy.taxeditor.editor.view.validation.UserFriendlyDescriptionMarkerField"
208 id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyDescription"
209 name="%marker.field.1">
210 </markerField>
211 <markerField
212 class="eu.etaxonomy.taxeditor.editor.view.validation.UserFriendlyFieldNameMarkerField"
213 id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyFieldName"
214 name="%marker.field.2 = Attribute">
215 </markerField>
216 <markerField
217 class="eu.etaxonomy.taxeditor.editor.view.validation.InvalidValueMarkerField"
218 id="eu.etaxonomy.taxeditor.markers.validation.invalidValue"
219 name="%marker.field.3 = Problematic Value">
220 </markerField>
221 <markerField
222 class="eu.etaxonomy.taxeditor.editor.view.validation.ValidatorMessageMarkerField"
223 id="eu.etaxonomy.taxeditor.markers.validation.validatorMessage"
224 name="%marker.field.4 = Problem description">
225 </markerField>
226 <markerField
227 class="eu.etaxonomy.taxeditor.editor.view.validation.ValidatorClassMarkerField"
228 id="eu.etaxonomy.taxeditor.markers.validation.validatorClass"
229 name="%marker.field.5">
230 </markerField>
231 <markerField
232 class="eu.etaxonomy.taxeditor.editor.view.validation.EntityClassMarkerField"
233 id="eu.etaxonomy.taxeditor.markers.validation.entityClass"
234 name="%marker.field.6">
235 </markerField>
236 <markerField
237 class="eu.etaxonomy.taxeditor.editor.view.validation.EntityIdMarkerField"
238 id="eu.etaxonomy.taxeditor.markers.validation.entityId"
239 name="%marker.field.7">
240 </markerField>
241 </extension>
242 <extension
243 point="org.eclipse.ui.elementFactories">
244 <factory
245 class="eu.etaxonomy.taxeditor.editor.TaxonEditorInputFactory"
246 id="eu.etaxonomy.taxeditor.editor.name.taxonEditorInputFactory">
247 </factory>
248 </extension>
249 <extension
250 point="org.eclipse.ui.menus">
251 <menuContribution
252 locationURI="menu:eu.etaxonomy.navigation.menu.new?after=eu.etaxonomy.navigation.menu.new.separator1">
253 <command
254 commandId="eu.etaxonomy.taxeditor.editor.command.new.name"
255 label="%command.label.46"
256 style="push">
257 </command>
258 <command
259 commandId="eu.etaxonomy.taxeditor.editor.command.new.reference"
260 label="%command.label.47"
261 style="push">
262 </command>
263 <command
264 commandId="eu.etaxonomy.taxeditor.editor.command.new.team"
265 label="%command.label.1"
266 style="push">
267 </command>
268 <command
269 commandId="eu.etaxonomy.taxeditor.editor.command.new.person"
270 label="%command.label.2"
271 style="push">
272 </command>
273 <separator
274 name="eu.etaxonomy.navigation.menu.new.separator2"
275 visible="true">
276 </separator>
277 <command
278 commandId="eu.etaxonomy.taxeditor.editor.command.new.specimen"
279 label="%command.label.3"
280 style="push">
281 </command>
282 <separator
283 name="eu.etaxonomy.navigation.menu.new.separator3"
284 visible="true">
285 </separator>
286 <command
287 commandId="eu.etaxonomy.taxeditor.editor.command.new.datasource"
288 label="%command.label.48"
289 style="push">
290 </command>
291 </menuContribution>
292 <menuContribution
293 locationURI="menu:eu.etaxonomy.taxeditor.menu.showView?before=eu.etaxonomy.taxeditor.store.showViewMenu.details">
294 <separator
295 name="eu.etaxonomy.taxeditor.editor.showViewMenu"
296 visible="true">
297 </separator>
298 <command
299 commandId="org.eclipse.ui.views.showView"
300 label="%command.label.4"
301 style="push">
302 <parameter
303 name="org.eclipse.ui.views.showView.viewId"
304 value="eu.etaxonomy.taxeditor.editor.view.descriptive">
305 </parameter>
306 </command>
307 <command
308 commandId="org.eclipse.ui.views.showView"
309 label="%command.label.5"
310 style="push">
311 <parameter
312 name="org.eclipse.ui.views.showView.viewId"
313 value="eu.etaxonomy.taxeditor.editor.view.media">
314 </parameter>
315 </command>
316 <command
317 commandId="org.eclipse.ui.views.showView"
318 label="%command.label.6"
319 style="push">
320 <parameter
321 name="org.eclipse.ui.views.showView.viewId"
322 value="eu.etaxonomy.taxeditor.editor.view.concept">
323 </parameter>
324 </command>
325 <command
326 commandId="org.eclipse.ui.views.showView"
327 label="%command.label.7"
328 style="push">
329 <parameter
330 name="org.eclipse.ui.views.showView.viewId"
331 value="eu.etaxonomy.taxeditor.editor.view.concept.graph">
332 </parameter>
333 <visibleWhen
334 checkEnabled="false">
335 <reference
336 definitionId="isShowExperimentalFeatures">
337 </reference>
338 </visibleWhen>
339 </command>
340 <command
341 commandId="eu.etaxonomy.taxeditor.editor.handler.OpenAlignmentEditor"
342 label="Alignment Editor"
343 style="push">
344 </command>
345 </menuContribution>
346 <menuContribution
347 locationURI="menu:org.eclipse.ui.main.menu.navigate">
348 <command
349 commandId="eu.etaxonomy.taxeditor.editor.command.openParent"
350 label="%command.label.8"
351 style="push">
352 </command>
353 </menuContribution>
354 <menuContribution
355 locationURI="popup:eu.etaxonomy.taxeditor.editor.taxon.name">
356 <menu
357 label="%menu.label">
358 <command
359 commandId="eu.etaxonomy.taxeditor.editor.name.createHeterotypicSynoym"
360 label="%command.label.9"
361 style="push">
362 <visibleWhen>
363 <reference
364 definitionId="isAcceptedTaxon">
365 </reference>
366 </visibleWhen>
367 </command>
368 <command
369 commandId="eu.etaxonomy.taxeditor.editor.name.createHomotypicSynoym"
370 label="%command.label.10"
371 style="push">
372 <visibleWhen>
373 <reference
374 definitionId="isAcceptedTaxon">
375 </reference>
376 </visibleWhen>
377 </command>
378 <command
379 commandId="eu.etaxonomy.taxeditor.editor.name.createSynonymInHomotypicalGroup"
380 label="%command.label.11"
381 style="push">
382 <visibleWhen>
383 <reference
384 definitionId="isSynonym">
385 </reference>
386 </visibleWhen>
387 </command>
388 <separator
389 name="separator1"
390 visible="true">
391 </separator>
392 <command
393 commandId="eu.etaxonomy.taxeditor.editor.name.createMisapplication"
394 label="%command.label.49"
395 style="push">
396 <visibleWhen>
397 <or>
398 <reference
399 definitionId="isAcceptedTaxon">
400 </reference>
401 <reference
402 definitionId="isMisapplication">
403 </reference>
404 </or>
405 </visibleWhen>
406 </command>
407 </menu>
408 <!--<command
409 commandId="eu.etaxonomy.taxeditor.editor.name.changeAcceptedToSynonym"
410 label="Change Accepted Taxon to Synonym"
411 style="push">
412 <visibleWhen
413 checkEnabled="true">
414 <reference
415 definitionId="isAcceptedAndHasNoHomotypicSynonyms">
416 </reference>
417 </visibleWhen
418 <visibleWhen>
419 <or>
420 <reference
421 definitionId="isAcceptedTaxon">
422 </reference>
423 <reference
424 definitionId="isMisapplication">
425 </reference>
426 </or>
427 </visibleWhen>
428 </command>-->
429 <menu
430 label="%menu.label.0">
431 <command
432 commandId="eu.etaxonomy.taxeditor.editor.name.changeToAcceptedTaxon"
433 label="%command.label.12"
434 style="push">
435 <visibleWhen>
436 <not>
437 <or>
438 <reference
439 definitionId="isAcceptedTaxon">
440 </reference>
441 <reference
442 definitionId="isMisapplication">
443 </reference>
444 </or>
445 </not>
446 </visibleWhen>
447 </command>
448 <command
449 commandId="eu.etaxonomy.taxeditor.editor.name.changeToSynonym"
450 label="%command.label.13"
451 style="push">
452 <visibleWhen>
453 <not>
454 <or>
455 <reference
456 definitionId="isAcceptedTaxon">
457 </reference>
458 <reference
459 definitionId="isSynonym">
460 </reference>
461 </or>
462 </not>
463 </visibleWhen>
464 </command>
465 <command
466 commandId="eu.etaxonomy.taxeditor.editor.name.changeToMisapplication"
467 label="%command.label.14"
468 style="push">
469 <visibleWhen>
470 <not>
471 <or>
472 <reference
473 definitionId="isAcceptedTaxon">
474 </reference>
475 <reference
476 definitionId="isMisapplication">
477 </reference>
478 </or>
479 </not>
480 </visibleWhen>
481 </command>
482 </menu>
483 <separator
484 name="taxeditor-editor.separator1"
485 visible="true">
486 </separator>
487 <command
488 commandId="eu.etaxonomy.taxeditor.editor.name.delete"
489 label="%command.label.15"
490 style="push">
491 <visibleWhen>
492 <or>
493 <reference
494 definitionId="isSynonym">
495 </reference>
496 <reference
497 definitionId="isMisapplication">
498 </reference>
499 <reference
500 definitionId="isConceptRelation">
501 </reference>
502 </or>
503 </visibleWhen>
504 </command>
505 <command
506 commandId="eu.etaxonomy.taxeditor.editor.name.deleteAllEmptyNames"
507 label="%command.label.16"
508 style="push">
509 <visibleWhen>
510 <reference
511 definitionId="hasEmptyNames">
512 </reference>
513 </visibleWhen>
514 </command>
515 <separator
516 name="taxeditor-editor.separator2"
517 visible="true">
518 </separator>
519 <dynamic
520 class="eu.etaxonomy.taxeditor.editor.name.handler.GroupBasionymContributionItem"
521 id="taxeditor-editor.dynamic.setBasionym">
522 <visibleWhen>
523 <or>
524 <reference
525 definitionId="isAcceptedTaxon">
526 </reference>
527 <reference
528 definitionId="isSynonym">
529 </reference>
530 </or>
531 </visibleWhen>
532 </dynamic>
533 <command
534 commandId="eu.etaxonomy.taxeditor.editor.name.swapSynonymAndAccepted"
535 label="%command.label.17"
536 style="push">
537 <visibleWhen>
538 <reference
539 definitionId="isSynonym">
540 </reference>
541 </visibleWhen>
542 </command>
543 <command
544 commandId="eu.etaxonomy.taxeditor.editor.name.moveSynonymToAnotherAcceptedTaxon"
545 label="%command.label.56"
546 style="push">
547 <visibleWhen>
548 <reference
549 definitionId="isSynonym">
550 </reference>
551 </visibleWhen>
552 </command>
553 <separator
554 name="taxeditor-editor.separator3"
555 visible="true">
556 </separator>
557 <command
558 commandId="org.eclipse.ui.views.showView"
559 label="%command.label.18"
560 style="push">
561 <parameter
562 name="org.eclipse.ui.views.showView.viewId"
563 value="eu.etaxonomy.taxeditor.editor.forms.detailsView">
564 </parameter>
565 </command>
566 <separator
567 name="taxeditor-editor.separator4"
568 visible="true">
569 </separator>
570 <command
571 commandId="org.eclipse.ui.file.save"
572 label="%command.label.19"
573 style="push">
574 </command>
575 </menuContribution>
576 <menuContribution
577 locationURI="popup:eu.etaxonomy.taxeditor.editor.key.polytomous">
578 <command
579 commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new"
580 label="%command.label.20"
581 style="push">
582 </command>
583 <separator
584 name="taxeditor-editor.separator1"
585 visible="true">
586 </separator>
587 <command
588 commandId="eu.etaxonomy.taxeditor.key.polytomous.delete"
589 label="%command.label.21"
590 style="push">
591 </command>
592 <separator
593 name="taxeditor-editor.separator2"
594 visible="true">
595 </separator>
596 <command
597 commandId="eu.etaxonomy.taxeditor.key.command.applyLayout"
598 label="%command.label.22"
599 style="push">
600 </command>
601 <separator
602 name="taxeditor-editor.separator3"
603 visible="true">
604 </separator>
605 </menuContribution>
606 <menuContribution
607 locationURI="popup:eu.etaxonomy.taxeditor.editor.key.polytomous.list">
608 <command
609 commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new.child"
610 label="%command.label.23"
611 style="push">
612 </command>
613 <command
614 commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new.sibling"
615 label="%command.label.24"
616 style="push">
617 </command>
618 <command
619 commandId="eu.etaxonomy.taxeditor.key.polytomous.command.refresh"
620 label="%command.label.25"
621 style="push">
622 </command>
623 <command
624 commandId="eu.etaxonomy.taxeditor.key.polytomous.command.delete"
625 label="%command.label.26"
626 style="push">
627 </command>
628 </menuContribution>
629 <menuContribution
630 locationURI="popup:eu.etaxonomy.taxeditor.editor.view.descriptive">
631 <command
632 commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.adddescription"
633 label="%command.label.27"
634 style="push">
635 </command>
636 <separator
637 name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator3"
638 visible="true">
639 </separator>
640 <menu
641 label="%menu.label.1">
642 <dynamic
643 class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DynamicFeatureMenu"
644 id="eu.etaxonomy.taxeditor.dynamicFeatureMenu">
645 </dynamic>
646 <visibleWhen
647 checkEnabled="true">
648 <or>
649 <reference
650 definitionId="isDescription">
651 </reference>
652 <reference
653 definitionId="isDescriptionElement">
654 </reference>
655 <reference
656 definitionId="isFeatureNodeContainer">
657 </reference>
658 </or>
659 </visibleWhen>
660 </menu>
661 <separator
662 name="taxeditor-editor.separator1"
663 visible="true">
664 </separator>
665 <command
666 commandId="eu.etaxonomy.taxeditor.editor.handler.openDerivateView"
667 label="%command.label.51"
668 style="push">
669 <visibleWhen
670 checkEnabled="true">
671 <and>
672 <with
673 variable="selection">
674 <count
675 value="+">
676 </count>
677 </with>
678 <reference
679 definitionId="isIndividualsAssociation">
680 </reference>
681 </and>
682 </visibleWhen>
683 </command>
684 <command
685 commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.moveDescriptionToTaxon"
686 label="%command.label.28"
687 style="push">
688 <visibleWhen
689 checkEnabled="true">
690 <reference
691 definitionId="isDescription">
692 </reference>
693 </visibleWhen>
694 </command>
695 <command
696 commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.moveDescriptionElements"
697 label="%command.label.29"
698 style="push">
699 <visibleWhen
700 checkEnabled="true">
701 <or>
702 <reference
703 definitionId="isDescriptionElement">
704 </reference>
705 <reference
706 definitionId="isFeatureNodeContainer">
707 </reference>
708 </or>
709 </visibleWhen>
710 </command>
711 <separator
712 name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator.afterNew"
713 visible="true">
714 </separator>
715 <command
716 commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.delete"
717 label="%command.label.30"
718 style="push">
719 </command>
720 <separator
721 name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator.afterDelete"
722 visible="true">
723 </separator>
724 <command
725 commandId="org.eclipse.ui.file.save"
726 label="%command.label.31"
727 style="push">
728 </command>
729 <separator
730 name="eu.etaxonomy.taxeditor.editor.separator1">
731 </separator>
732 </menuContribution>
733 <menuContribution
734 locationURI="popup:eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView">
735 <command
736 commandId="eu.etaxonomy.taxeditor.editor.derivate.delete"
737 label="%command.label.52"
738 style="push">
739 </command>
740 <command
741 commandId="eu.etaxonomy.taxeditor.editor.derivate.createFieldUnit"
742 label="%command.label.53"
743 style="push">
744 </command>
745 <command
746 commandId="eu.etaxonomy.taxeditor.editor.derivate.deepDelete"
747 icon="icons/deep-delete-16x16-32.png"
748 label="%command.label.54"
749 style="push">
750 </command>
751 <command
752 commandId="eu.etaxonomy.taxeditor.editor.editSequence"
753 label="Edit Sequence"
754 style="push">
755 <visibleWhen
756 checkEnabled="true">
757 <reference
758 definitionId="isSequence">
759 </reference>
760 </visibleWhen>
761 </command>
762 <command
763 commandId="eu.etaxonomy.taxeditor.editor.showPherogram"
764 label="Show Pherogram"
765 style="push">
766 <visibleWhen
767 checkEnabled="true">
768 <reference
769 definitionId="isSingleRead">
770 </reference>
771 </visibleWhen>
772 </command>
773 <dynamic
774 class="eu.etaxonomy.taxeditor.editor.view.derivate.contextMenu.DerivateViewContextMenu"
775 id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateContextMenu">
776 </dynamic>
777 </menuContribution>
778 <menuContribution
779 locationURI="popup:eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportEditor">
780 <dynamic
781 class="eu.etaxonomy.taxeditor.editor.view.dataimport.DataImportEditorContextMenu"
782 id="eu.etaxonomy.taxeditor.editor.view.dataimport.DataImportEditorContextMenu">
783 </dynamic>
784 </menuContribution>
785 <menuContribution
786 locationURI="popup:eu.etaxonomy.taxeditor.editor.view.dataimport.GbifImportEditor">
787 <dynamic
788 class="eu.etaxonomy.taxeditor.editor.view.dataimport.DataImportEditorContextMenu"
789 id="eu.etaxonomy.taxeditor.editor.view.dataimport.DataImportEditorContextMenu">
790 </dynamic>
791 </menuContribution>
792
793
794
795
796 <menuContribution
797 locationURI="popup:eu.etaxonomy.taxeditor.editor.view.uses">
798 <command
799 commandId="eu.etaxonomy.taxeditor.use.commands.adduse"
800 label="%command.label.32"
801 style="push">
802 </command>
803 <command
804 commandId="eu.etaxonomy.taxeditor.editor.use.createUseSummary"
805 label="%command.label.33"
806 style="push">
807 <visibleWhen
808 checkEnabled="true">
809 <or>
810 <reference
811 definitionId="isDescription">
812 </reference>
813 <reference
814 definitionId="isDescriptionElement">
815 </reference>
816 <reference
817 definitionId="isFeatureNodeContainer">
818 </reference>
819 </or>
820 </visibleWhen>
821 </command>
822 <command
823 commandId="eu.etaxonomy.taxeditor.editor.use.createUseRecord"
824 label="%command.label.34"
825 style="push">
826 <visibleWhen
827 checkEnabled="true">
828 <or>
829 <reference
830 definitionId="isDescription">
831 </reference>
832 <reference
833 definitionId="isDescriptionElement">
834 </reference>
835 <reference
836 definitionId="isFeatureNodeContainer">
837 </reference>
838 </or>
839 </visibleWhen>
840 </command>
841 <separator
842 name="eu.etaxonomy.taxeditor.usesEditor.separator3"
843 visible="true">
844 </separator>
845 <separator
846 name="taxeditor-editor.separator1"
847 visible="true">
848 </separator>
849 <separator
850 name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator.afterNew"
851 visible="true">
852 </separator>
853 <command
854 commandId="eu.etaxonomy.taxeditor.editor.use.command.delete"
855 label="%command.label.35"
856 style="push">
857 </command>
858 <separator
859 name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator.afterDelete"
860 visible="true">
861 </separator>
862 <command
863 commandId="org.eclipse.ui.file.save"
864 label="%command.label.36"
865 style="push">
866 </command>
867 </menuContribution>
868
869
870
871
872
873 <menuContribution
874 locationURI="popup:eu.etaxonomy.taxeditor.editor.view.media">
875 <command
876 commandId="eu.etaxonomy.taxeditor.editor.media.command.newimagegallery"
877 label="%command.label.37"
878 style="push">
879 <visibleWhen>
880 <or>
881 <reference
882 definitionId="isBulkEditor">
883 </reference>
884 <reference
885 definitionId="isTaxonEditor">
886 </reference>
887 <reference
888 definitionId="isDerivateEditor">
889 </reference>
890 </or>
891 </visibleWhen>
892 </command>
893 <separator
894 name="taxeditor-editor.separator1"
895 visible="true">
896 </separator>
897 <command
898 commandId="eu.etaxonomy.taxeditor.editor.media.command.newimage"
899 label="%command.label.38"
900 style="push">
901 <visibleWhen>
902 <reference
903 definitionId="isImageGallery">
904 </reference>
905 </visibleWhen>
906 </command>
907 <command
908 commandId="eu.etaxonomy.taxeditor.editor.media.command.useExistingImage"
909 label="%command.label.50"
910 style="push">
911 <visibleWhen>
912 <reference
913 definitionId="isImageGallery">
914 </reference>
915 </visibleWhen>
916 </command>
917 <command
918 commandId="eu.etaxonomy.taxeditor.editor.media.command.moveimgdown"
919 label="%command.label.39"
920 style="push">
921 <visibleWhen>
922 <reference
923 definitionId="isMedia">
924 </reference>
925 </visibleWhen>
926 </command>
927 <command
928 commandId="eu.etaxonomy.taxeditor.editor.media.command.moveimgup"
929 label="%command.label.40"
930 style="push">
931 <visibleWhen>
932 <reference
933 definitionId="isMedia">
934 </reference>
935 </visibleWhen>
936 </command>
937 <separator
938 name="taxeditor-editor.separator2"
939 visible="true">
940 </separator>
941 <command
942 commandId="eu.etaxonomy.taxeditor.editor.media.command.delete"
943 label="%command.label.41"
944 style="push">
945 </command>
946 <command
947 commandId="org.eclipse.ui.file.save"
948 label="%command.label.42"
949 style="push">
950 </command>
951 </menuContribution>
952 <menuContribution
953 locationURI="popup:eu.etaxonomy.taxeditor.editor.view.concept">
954 <menu
955 label="%menu.label.3">
956 <dynamic
957 class="eu.etaxonomy.taxeditor.editor.view.concept.handler.CreateConceptRelationMenu"
958 id="eu.etaxonomy.taxeditor.editor.view.concept.menus.new">
959 </dynamic>
960 </menu>
961 <command
962 commandId="eu.etaxonomy.taxeditor.editor.view.concept.command.open"
963 label="%command.label.43"
964 style="push">
965 </command>
966 <separator
967 name="eu.etaxonomy.taxeditor.editor.view.concept.menu.separator1"
968 visible="true">
969 </separator>
970 <command
971 commandId="eu.etaxonomy.taxeditor.editor.view.concept.command.delete"
972 label="%command.label.44"
973 style="push">
974 </command>
975 </menuContribution>
976 <menuContribution
977 allPopups="false"
978 locationURI="popup:#BulkEditorContext?before=taxeditor-bulkeditor.separator1">
979 <command
980 commandId="eu.etaxonomy.taxeditor.group.cdmauthorities.edit"
981 label="%command.label.45"
982 style="push">
983 <visibleWhen>
984 <reference
985 definitionId="isGroupEditor">
986 </reference>
987 </visibleWhen>
988 </command>
989 </menuContribution>
990 <menuContribution
991 allPopups="false"
992 locationURI="menu:org.eclipse.ui.main.menu">
993 <menu
994 label="Alignment Editor">
995 <command
996 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.loadPherogram"
997 label="Load Pherogram"
998 style="push">
999 </command>
1000 <command
1001 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.cutPherogramLeft"
1002 id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.cutPherogramLeft"
1003 name="Cut pherogram left">
1004 </command>
1005 <command
1006 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.cutPherogramRight"
1007 id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.cutPherogramRight"
1008 style="push">
1009 </command>
1010 <command
1011 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.reverseComplementRows"
1012 label="Reverse complement selected rows"
1013 mnemonic="r"
1014 style="push">
1015 </command>
1016 <visibleWhen
1017 checkEnabled="true">
1018 <with
1019 variable="activePartId">
1020 <equals
1021 value="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor">
1022 </equals>
1023 </with>
1024 </visibleWhen>
1025 </menu>
1026 </menuContribution>
1027 <menuContribution
1028 locationURI="toolbar:org.eclipse.ui.main.toolbar?after=eu.etaxonomy.taxeditor.navigation.search.toolbar">
1029 <toolbar
1030 id="eu.etaxonomy.taxeditor.editor.alignmentToolbar">
1031 <command
1032 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleInsertOverwrite"
1033 label="Toggle insert/overwrite"
1034 style="push">
1035 <visibleWhen
1036 checkEnabled="true">
1037 <with
1038 variable="activePartId">
1039 <equals
1040 value="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor">
1041 </equals>
1042 </with>
1043 </visibleWhen>
1044 </command>
1045 <command
1046 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleLeftRightInsertion"
1047 icon="icons/pherogram-insert-left-16x16.png"
1048 style="push">
1049 <visibleWhen
1050 checkEnabled="false">
1051 <with
1052 variable="activePartId">
1053 <equals
1054 value="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor">
1055 </equals>
1056 </with>
1057 </visibleWhen>
1058 </command>
1059 </toolbar>
1060 </menuContribution>
1061
1062 <menuContribution
1063 allPopups="false"
1064 locationURI="toolbar:eu.etaxonomy.taxeditor.editor.view.descriptive">
1065 <command
1066 commandId="eu.etaxonomy.taxeditor.editor.handler.showOnlyIndividualAssociations"
1067 icon="icons/link_obj.gif"
1068 style="toggle"
1069 tooltip="%command.tooltip">
1070 </command>
1071 </menuContribution>
1072 <menuContribution
1073 allPopups="false"
1074 locationURI="popup:eu.etaxonomy.taxeditor.navigation.navigatorpopup?after=taxeditor-navigation.separator2">
1075 <command
1076 commandId="eu.etaxonomy.taxeditor.editor.handler.openDerivateView"
1077 label="%command.label.55"
1078 style="push">
1079 <visibleWhen
1080 checkEnabled="false">
1081 <and>
1082 <reference
1083 definitionId="isCdmStoreConnected">
1084 </reference>
1085 <reference
1086 definitionId="isTaxonNode">
1087 </reference>
1088 </and>
1089 </visibleWhen>
1090 </command>
1091 <separator
1092 name="eu.etaxonomy.taxeditor.editor.separator1"
1093 visible="true">
1094 </separator>
1095 </menuContribution>
1096 <menuContribution
1097 locationURI="menu:eu.etaxonomy.taxeditor.menu.showView?after=org.eclipse.ui.views.showView.supplemental">
1098 <separator
1099 name="eu.etaxonomy.taxeditor.store.showViewMenu.validation.separator"
1100 visible="true">
1101 </separator>
1102 <command
1103 commandId="org.eclipse.ui.views.showView"
1104 label="%command.name.40"
1105 style="push">
1106 <parameter
1107 name="org.eclipse.ui.views.showView.viewId"
1108 value="eu.etaxonomy.taxeditor.editor.view.validation.problems">
1109 </parameter>
1110 </command>
1111 </menuContribution>
1112 </extension>
1113 <extension
1114 point="org.eclipse.ui.handlers">
1115 <handler
1116 class="org.eclipse.ui.internal.handlers.NewEditorHandler"
1117 commandId="org.eclipse.ui.window.newEditor">
1118 <activeWhen>
1119 <not>
1120 <instanceof
1121 value="eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor">
1122 </instanceof>
1123 </not>
1124 </activeWhen>
1125 <enabledWhen>
1126 <count
1127 value="-1">
1128 </count>
1129 </enabledWhen>
1130 </handler>
1131 <handler
1132 class="eu.etaxonomy.taxeditor.editor.name.handler.DeleteTaxonBaseHandler"
1133 commandId="eu.etaxonomy.taxeditor.editor.name.command.delete">
1134 <activeWhen>
1135 <and>
1136 <reference
1137 definitionId="isTaxonBase">
1138 </reference>
1139 <not>
1140 <reference
1141 definitionId="isAcceptedTaxon">
1142 </reference>
1143 </not>
1144 </and>
1145 </activeWhen>
1146 </handler>
1147 <handler
1148 class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
1149 commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.delete">
1150 <activeWhen>
1151 <with
1152 variable="activePartId">
1153 <or>
1154 <equals
1155 value="eu.etaxonomy.taxeditor.editor.view.descriptive">
1156 </equals>
1157 <equals
1158 value="eu.etaxonomy.taxeditor.editor.view.media">
1159 </equals>
1160 <equals
1161 value="eu.etaxonomy.taxeditor.editor.view.uses">
1162 </equals>
1163 </or>
1164 </with>
1165 </activeWhen>
1166 </handler>
1167 <handler
1168 class="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.DeleteNodeHandler"
1169 commandId="eu.etaxonomy.taxeditor.editor.key.polytomous.command.delete">
1170 <activeWhen>
1171 <with
1172 variable="activePartId">
1173 <equals
1174 value="eu.etaxonomy.taxeditor.editor.key">
1175 </equals>
1176 </with>
1177 </activeWhen>
1178 </handler>
1179 <handler
1180 class="eu.etaxonomy.taxeditor.editor.view.concept.handler.DeleteConceptRelationHandler"
1181 commandId="eu.etaxonomy.taxeditor.editor.view.concept.command.delete">
1182 <activeWhen>
1183 <with
1184 variable="activePartId">
1185 <equals
1186 value="eu.etaxonomy.taxeditor.editor.view.concept">
1187 </equals>
1188 </with>
1189 </activeWhen>
1190 </handler>
1191 <handler
1192 class="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
1193 commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler">
1194 </handler>
1195 <handler
1196 class="eu.etaxonomy.taxeditor.editor.handler.LoadPherogramHandler"
1197 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.loadPherogram">
1198 <activeWhen>
1199 <with
1200 variable="activePartId">
1201 <equals
1202 value="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor">
1203 </equals>
1204 </with>
1205 </activeWhen>
1206 </handler>
1207 <handler
1208 class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.DeleteDerivateHandler"
1209 commandId="eu.etaxonomy.taxeditor.editor.view.derivate.command.delete">
1210 <activeWhen>
1211 <with
1212 variable="activePartId">
1213 <equals
1214 value="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView">
1215 </equals>
1216 </with>
1217 </activeWhen>
1218 </handler>
1219 <handler
1220 class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.OpenDerivateEditorForTaxonHandler"
1221 commandId="eu.etaxonomy.taxeditor.editor.handler.openDerivateView">
1222 <activeWhen>
1223 <with
1224 variable="activePartId">
1225 <equals
1226 value="eu.etaxonomy.taxeditor.navigation.navigator">
1227 </equals>
1228 </with>
1229 </activeWhen>
1230 </handler>
1231 <handler
1232 class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.ToggleShowOnlyIndividualAssociationsHandler"
1233 commandId="eu.etaxonomy.taxeditor.editor.handler.showOnlyIndividualAssociations">
1234 </handler>
1235 <handler
1236 class="eu.etaxonomy.taxeditor.editor.handler.alignmenteditor.ToggleInsertOverwriteHandler"
1237 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleInsertOverwrite">
1238 </handler>
1239 <handler
1240 class="eu.etaxonomy.taxeditor.editor.handler.alignmenteditor.ToggleLeftRightInsertionHandler"
1241 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleLeftRightInsertion">
1242 </handler>
1243 <handler
1244 class="eu.etaxonomy.taxeditor.editor.handler.alignmenteditor.CutPherogramLeftHandler"
1245 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.cutPherogramLeft">
1246 </handler>
1247 <handler
1248 class="eu.etaxonomy.taxeditor.editor.handler.alignmenteditor.CutPherogramRightHandler"
1249 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.cutPherogramRight">
1250 </handler>
1251 <handler
1252 class="eu.etaxonomy.taxeditor.editor.handler.alignmenteditor.ReverseComplementHandler"
1253 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.reverseComplementRows">
1254 </handler>
1255 </extension>
1256 <extension
1257 name="%extension.name"
1258 point="org.eclipse.ui.commands">
1259 <category
1260 id="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1261 name="%category.name.0">
1262 </category>
1263 <command
1264 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1265 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenParentHandler"
1266 id="eu.etaxonomy.taxeditor.editor.command.openParent"
1267 name="%command.name">
1268 </command>
1269 <command
1270 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1271 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.CreateHomotypicSynonymHandler"
1272 id="eu.etaxonomy.taxeditor.editor.name.createHomotypicSynoym"
1273 name="%command.name.0">
1274 </command>
1275 <command
1276 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1277 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.CreateHeterotypicSynonymHandler"
1278 id="eu.etaxonomy.taxeditor.editor.name.createHeterotypicSynoym"
1279 name="%command.name.1">
1280 </command>
1281 <command
1282 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1283 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.CreateSynonymInHomotypicalGroupHandler"
1284 id="eu.etaxonomy.taxeditor.editor.name.createSynonymInHomotypicalGroup"
1285 name="%command.name.2">
1286 </command>
1287 <command
1288 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1289 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.CreateMisapplicationHandler"
1290 id="eu.etaxonomy.taxeditor.editor.name.createMisapplication"
1291 name="%command.name.36">
1292 </command>
1293 <!--command
1294 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.MoveTaxonHandler"
1295 id="eu.etaxonomy.taxeditor.editor.name.moveTaxon"
1296 name="Move Taxon">
1297 </command-->
1298 <command
1299 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1300 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.ChangeToSynonymHandler"
1301 id="eu.etaxonomy.taxeditor.editor.name.changeToSynonym"
1302 name="%command.name.3">
1303 </command>
1304 <command
1305 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1306 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.ChangeSynonymToAcceptedTaxonHandler"
1307 id="eu.etaxonomy.taxeditor.editor.name.changeToAcceptedTaxon"
1308 name="%command.name.4">
1309 </command>
1310 <command
1311 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1312 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.ChangeToMisapplicationHandler"
1313 id="eu.etaxonomy.taxeditor.editor.name.changeToMisapplication"
1314 name="%command.name.5">
1315 </command>
1316 <command
1317 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1318 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.SwapSynonymAndAcceptedHandler"
1319 id="eu.etaxonomy.taxeditor.editor.name.swapSynonymAndAccepted"
1320 name="%command.name.6">
1321 </command>
1322 <command
1323 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1324 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.MoveSynonymToAnotherAcceptedTaxonHandler"
1325 id="eu.etaxonomy.taxeditor.editor.name.moveSynonymToAnotherAcceptedTaxon"
1326 name="%command.name.46">
1327 </command>
1328 <command
1329 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1330 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.SetBasionymHandler"
1331 id="eu.etaxonomy.taxeditor.editor.name.setBasionym"
1332 name="%command.name.7">
1333 </command>
1334 <command
1335 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1336 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.RemoveBasionymHandler"
1337 id="eu.etaxonomy.taxeditor.editor.name.removeBasionym"
1338 name="%command.name.8">
1339 </command>
1340 <!-- <command
1341 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1342 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.ChangeAcceptedTaxonToSynonymHandler"
1343 id="eu.etaxonomy.taxeditor.editor.name.changeAcceptedToSynonym"
1344 name="Change Accepted Taxon to Synonym">
1345 </command>-->
1346 <command
1347 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1348 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.DeleteTaxonBaseHandler"
1349 id="eu.etaxonomy.taxeditor.editor.name.delete"
1350 name="%command.name.45">
1351 </command>
1352 <command
1353 categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
1354 defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.DeleteAllEmptyNamesHandler"
1355 id="eu.etaxonomy.taxeditor.editor.name.deleteAllEmptyNames"
1356 name="%command.name.9">
1357 </command>
1358 <category
1359 id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
1360 name="%category.name.1">
1361 </category>
1362 <command
1363 categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
1364 defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.CreateDescriptionElementHandler"
1365 id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.createDescriptionElement"
1366 name="%command.name.10">
1367 </command>
1368 <command
1369 categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
1370 defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.CreateDescriptionHandler"
1371 id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.adddescription"
1372 name="%command.name.11">
1373 </command>
1374 <command
1375 categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
1376 defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
1377 id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.delete"
1378 name="%command.name.48">
1379 </command>
1380 <category
1381 id="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
1382 name="%category.name.2">
1383 </category>
1384 <command
1385 categoryId="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
1386 defaultHandler="eu.etaxonomy.taxeditor.editor.view.uses.handler.CreateUseHandler"
1387 id="eu.etaxonomy.taxeditor.use.commands.adduse"
1388 name="%command.name.14">
1389 </command>
1390 <command
1391 categoryId="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
1392 defaultHandler="eu.etaxonomy.taxeditor.editor.view.uses.handler.CreateUseRecordHandler"
1393 id="eu.etaxonomy.taxeditor.editor.use.createUseRecord"
1394 name="%command.name.16">
1395 </command>
1396 <command
1397 categoryId="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
1398 defaultHandler="eu.etaxonomy.taxeditor.editor.view.uses.handler.CreateUseSummaryHandler"
1399 id="eu.etaxonomy.taxeditor.editor.use.createUseSummary"
1400 name="%command.name.15">
1401 </command>
1402 <command
1403 id="eu.etaxonomy.taxeditor.editor.use.command.delete"
1404 name="%command.name.47">
1405 </command>
1406 <category
1407 id="eu.etaxonomy.taxeditor.editor.media.category"
1408 name="%category.name.3">
1409 </category>
1410 <command
1411 categoryId="eu.etaxonomy.taxeditor.editor.media.category"
1412 defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.MoveImageDownInListHandler"
1413 id="eu.etaxonomy.taxeditor.editor.media.command.moveimgdown"
1414 name="%command.name.19">
1415 </command>
1416 <command
1417 categoryId="eu.etaxonomy.taxeditor.editor.media.category"
1418 defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.AddImageGalleryHandler"
1419 id="eu.etaxonomy.taxeditor.editor.media.command.newimagegallery"
1420 name="%command.name.20">
1421 </command>
1422 <command
1423 categoryId="eu.etaxonomy.taxeditor.editor.media.category"
1424 defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.CreateMediaHandler"
1425 id="eu.etaxonomy.taxeditor.editor.media.command.newimage"
1426 name="%command.name.21">
1427 </command>
1428 <command
1429 categoryId="eu.etaxonomy.taxeditor.editor.media.category"
1430 defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.AddExistingMediaHandler"
1431 id="eu.etaxonomy.taxeditor.editor.media.command.useExistingImage"
1432 name="%command.name.37">
1433 </command>
1434 <command
1435 categoryId="eu.etaxonomy.taxeditor.editor.media.category"
1436 defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.MoveImageUpInListHandler"
1437 id="eu.etaxonomy.taxeditor.editor.media.command.moveimgup"
1438 name="%command.name.22">
1439 </command>
1440 <command
1441 categoryId="eu.etaxonomy.taxeditor.editor.media.category"
1442 defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
1443 id="eu.etaxonomy.taxeditor.editor.media.command.delete"
1444 name="%command.name.49">
1445 </command>
1446 <category
1447 id="eu.etaxonomy.taxeditor.editor.new.category"
1448 name="%category.name.4">
1449 </category>
1450 <command
1451 categoryId="eu.etaxonomy.taxeditor.editor.new.category"
1452 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.create.NewReferenceHandler"
1453 id="eu.etaxonomy.taxeditor.editor.command.new.reference"
1454 name="%command.name.23">
1455 </command>
1456 <command
1457 categoryId="eu.etaxonomy.taxeditor.editor.new.category"
1458 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.create.NewNameHandler"
1459 id="eu.etaxonomy.taxeditor.editor.command.new.name"
1460 name="%command.name.24">
1461 </command>
1462 <command
1463 categoryId="eu.etaxonomy.taxeditor.editor.new.category"
1464 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.create.NewTeamHandler"
1465 id="eu.etaxonomy.taxeditor.editor.command.new.team"
1466 name="%command.name.25">
1467 </command>
1468 <command
1469 categoryId="eu.etaxonomy.taxeditor.editor.new.category"
1470 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.create.NewPersonHandler"
1471 id="eu.etaxonomy.taxeditor.editor.command.new.person"
1472 name="%command.name.26">
1473 </command>
1474 <command
1475 categoryId="eu.etaxonomy.taxeditor.editor.new.category"
1476 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.create.NewSpecimenHandler"
1477 id="eu.etaxonomy.taxeditor.editor.command.new.specimen"
1478 name="%command.name.27">
1479 </command>
1480 <category
1481 id="eu.etaxonomy.taxeditor.editor.key.category"
1482 name="%category.name.5">
1483 </category>
1484 <command
1485 categoryId="eu.etaxonomy.taxeditor.editor.key.category"
1486 defaultHandler="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.CreateChildNodeHandler"
1487 id="eu.etaxonomy.taxeditor.key.polytomous.command.new.child"
1488 name="%command.name.28">
1489 </command>
1490 <command
1491 categoryId="eu.etaxonomy.taxeditor.editor.key.category"
1492 defaultHandler="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.CreateSiblingNodeHandler"
1493 id="eu.etaxonomy.taxeditor.key.polytomous.command.new.sibling"
1494 name="%command.name.29">
1495 </command>
1496 <command
1497 categoryId="eu.etaxonomy.taxeditor.editor.key.category"
1498 defaultHandler="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.RefreshNodeNumberingHandler"
1499 id="eu.etaxonomy.taxeditor.key.polytomous.command.refresh"
1500 name="%command.name.30">
1501 </command>
1502 <command
1503 categoryId="eu.etaxonomy.taxeditor.editor.key.category"
1504 defaultHandler="eu.etaxonomy.taxeditor.editor.key.handler.ApplyLayoutHandler"
1505 id="eu.etaxonomy.taxeditor.key.command.applyLayout"
1506 name="%command.name.31">
1507 </command>
1508 <command
1509 defaultHandler="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.DeleteNodeHandler"
1510 id="eu.etaxonomy.taxeditor.key.polytomous.command.delete"
1511 name="%command.name.50">
1512 </command>
1513 <category
1514 id="eu.etaxonomy.taxeditor.editor.view.concept.category"
1515 name="%category.name.6">
1516 </category>
1517 <command
1518 categoryId="eu.etaxonomy.taxeditor.editor.view.concept.category"
1519 defaultHandler="eu.etaxonomy.taxeditor.editor.view.concept.handler.CreateConceptRelationHandler"
1520 id="eu.etaxonomy.taxeditor.editor.name.createConceptRelation"
1521 name="%command.name.32">
1522 </command>
1523 <command
1524 categoryId="eu.etaxonomy.taxeditor.editor.view.concept.category"
1525 defaultHandler="eu.etaxonomy.taxeditor.editor.view.concept.handler.OpenRelatedConceptHandler"
1526 id="eu.etaxonomy.taxeditor.editor.view.concept.command.open"
1527 name="%command.name.33">
1528 </command>
1529 <category
1530 id="eu.etaxonomy.taxeditor.bulkeditor.group.category"
1531 name="%category.name.7">
1532 </category>
1533 <command
1534 categoryId="eu.etaxonomy.taxeditor.bulkeditor.group.category"
1535 defaultHandler="eu.etaxonomy.taxeditor.editor.group.authority.handler.EditCdmAuthoritiesHandler"
1536 id="eu.etaxonomy.taxeditor.group.cdmauthorities.edit"
1537 name="%command.name.34">
1538 </command>
1539 <command
1540 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenDerivateViewHandler"
1541 id="eu.etaxonomy.taxeditor.editor.handler.openDerivateView"
1542 name="%command.name.35">
1543 </command>
1544 <command
1545 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
1546 id="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistViewHandler"
1547 name="%command.name.38">
1548 </command>
1549 <command
1550 categoryId="eu.etaxonomy.taxeditor.editor.new.category"
1551 defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.CreateDataSourceHandler"
1552 id="eu.etaxonomy.taxeditor.editor.command.new.datasource"
1553 name="%command.name.39">
1554 </command>
1555 <command
1556 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenAlignmentEditorHandler"
1557 id="eu.etaxonomy.taxeditor.editor.handler.OpenAlignmentEditor"
1558 name="Open Alignment Editor">
1559 </command>
1560 <command
1561 id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.loadPherogram"
1562 name="Load Pherogram">
1563 </command>
1564 <command
1565 id="eu.etaxonomy.taxeditor.editor.handler.showOnlyIndividualAssociations"
1566 name="%command.name.41">
1567 </command>
1568 <command
1569 id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleInsertOverwrite"
1570 name="Toggle insert/overwrite">
1571 </command>
1572 <command
1573 id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleLeftRightInsertion"
1574 name="Toggle left/right insertion in base call sequence">
1575 </command>
1576 <command
1577 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenTaxonEditorHandler"
1578 id="eu.etaxonomy.taxeditor.editor.openTaxonEditor"
1579 name="%command.name.42">
1580 <commandParameter
1581 id="eu.etaxonomy.taxeditor.editor.taxonParameter"
1582 name="%commandParameter.name"
1583 optional="false"
1584 typeId="eu.etaxonomy.taxeditor.editor.taxonParameterType">
1585 </commandParameter>
1586 </command>
1587 <commandParameterType
1588 converter="eu.etaxonomy.taxeditor.editor.handler.TaxonParameterConverter"
1589 id="eu.etaxonomy.taxeditor.editor.taxonParameterType"
1590 type="eu.etaxonomy.cdm.model.taxon.TaxonBase">
1591 </commandParameterType>
1592 <command
1593 defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.CreateFieldUnitHandler"
1594 id="eu.etaxonomy.taxeditor.editor.derivate.createFieldUnit"
1595 name="%command.name.43">
1596 </command>
1597 <command
1598 defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.DeleteDerivateHandler"
1599 id="eu.etaxonomy.taxeditor.editor.derivate.deepDelete"
1600 name="%command.name.44">
1601 </command>
1602 <command
1603 categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
1604 defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.MoveDescriptionToOtherTaxonHandler"
1605 id="eu.etaxonomy.taxeditor.editor.commands.description.moveDescriptionToTaxon"
1606 name="%command.name.13">
1607 </command>
1608 <command
1609 categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
1610 defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.MoveDescriptionElementsHandler"
1611 id="eu.etaxonomy.taxeditor.description.commands.moveDescriptionElements"
1612 name="%command.name.12">
1613 </command>
1614 <command
1615 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.EditSequenceHandler"
1616 id="eu.etaxonomy.taxeditor.editor.editSequence"
1617 name="Edit Sequence">
1618 </command>
1619 <command
1620 defaultHandler="eu.etaxonomy.taxeditor.editor.handler.ShowPherogramHandler"
1621 id="eu.etaxonomy.taxeditor.editor.showPherogram"
1622 name="Show Pherogram">
1623 </command>
1624 <command
1625 id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.cutPherogramLeft"
1626 name="Cut pherogram left">
1627 </command>
1628 <command
1629 id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.cutPherogramRight"
1630 name="Cut pherogram right">
1631 </command>
1632 <command
1633 id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.reverseComplementRows"
1634 name="Reverse complement selected rows">
1635 </command>
1636 </extension>
1637 <extension
1638 point="org.eclipse.core.expressions.definitions">
1639 <definition
1640 id="nameEditorActive">
1641 <with
1642 variable="activeEditorId">
1643 <equals
1644 value="eu.etaxonomy.taxeditor.editor.multipagetaxonview">
1645 </equals>
1646 </with>
1647 </definition>
1648 <definition
1649 id="isAcceptedTaxon">
1650 <with
1651 variable="selection">
1652 <test
1653 property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isAcceptedTaxon">
1654 </test>
1655 </with>
1656 </definition>
1657 <definition
1658 id="isSynonym">
1659 <with
1660 variable="selection">
1661 <test
1662 property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isSynonym">
1663 </test>
1664 </with>
1665 </definition>
1666 <definition
1667 id="isMisapplication">
1668 <with
1669 variable="selection">
1670 <test
1671 property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isMisapplication">
1672 </test>
1673 </with>
1674 </definition>
1675 <definition
1676 id="isTaxonBase">
1677 <with
1678 variable="selection">
1679 <test
1680 property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isTaxonBase">
1681 </test>
1682 </with>
1683 </definition>
1684 <definition
1685 id="hasEmptyNames">
1686 <with
1687 variable="selection">
1688 <test
1689 property="eu.etaxonomy.taxeditor.editor.name.propertyTester.hasEmptyNames">
1690 </test>
1691 </with>
1692 </definition>
1693 <definition
1694 id="isDeletable">
1695 <with
1696 variable="selection">
1697 <test
1698 property="eu.etaxonomy.taxeditor.descriptions.propertyTester.isDeletable">
1699 </test>
1700 </with>
1701 </definition>
1702 <definition
1703 id="isMedia">
1704 <with
1705 variable="selection">
1706 <test
1707 property="eu.etaxonomy.taxeditor.descriptions.propertyTester.isMedia">
1708 </test>
1709 </with>
1710 </definition>
1711 <definition
1712 id="isTaxonEditor">
1713 <with
1714 variable="selection">
1715 <test
1716 property="eu.etaxonomy.taxeditor.descriptions.propertyTester.isTaxonEditor">
1717 </test>
1718 </with>
1719 </definition>
1720 <definition
1721 id="isBulkEditor">
1722 <with
1723 variable="selection">
1724 <test
1725 property="eu.etaxonomy.taxeditor.descriptions.propertyTester.isBulkEditor">
1726 </test>
1727 </with>
1728 </definition>
1729 <definition
1730 id="isDerivateEditor">
1731 <with
1732 variable="selection">
1733 <test
1734 property="eu.etaxonomy.taxeditor.descriptions.propertyTester.isDerivateEditor">
1735 </test>
1736 </with>
1737 </definition>
1738 <definition
1739 id="isDescription">
1740 <with
1741 variable="selection">
1742 <test
1743 property="eu.etaxonomy.taxeditor.descriptions.propertyTester.isDescription">
1744 </test>
1745 </with>
1746 </definition>
1747 <definition
1748 id="isDescriptionElement">
1749 <with
1750 variable="selection">
1751 <test
1752 property="eu.etaxonomy.taxeditor.descriptions.propertyTester.isDescriptionElement">
1753 </test>
1754 </with>
1755 </definition>
1756 <definition
1757 id="isFeatureNodeContainer">
1758 <with
1759 variable="selection">
1760 <test
1761 property="eu.etaxonomy.taxeditor.descriptions.propertyTester.isFeatureNodeContainer">
1762 </test>
1763 </with>
1764 </definition>
1765 <definition
1766 id="isImageGallery">
1767 <with
1768 variable="selection">
1769 <test
1770 property="eu.etaxonomy.taxeditor.descriptions.propertyTester.isImageGallery">
1771 </test>
1772 </with>
1773 </definition>
1774 <definition
1775 id="isAcceptedAndHasNoHomotypicSynonyms">
1776 <with
1777 variable="selection">
1778 <test
1779 property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isAcceptedAndHasNoHomotypicSynonyms">
1780 </test>
1781 </with>
1782 </definition>
1783 <definition
1784 id="isGroupEditor">
1785 <with
1786 variable="activeEditor">
1787 <test
1788 property="taxeditor-bulkeditor.propertyTester.isGroupEditor">
1789 </test>
1790 </with>
1791 </definition>
1792 <definition
1793 id="isIndividualsAssociation">
1794 <with
1795 variable="selection">
1796 <test
1797 property="eu.etaxonomy.taxeditor.descriptions.propertyTester.isIndividualsAssociation">
1798 </test>
1799 </with>
1800 </definition>
1801 <definition
1802 id="isSequence">
1803 <with
1804 variable="selection">
1805 <test
1806 property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSequence">
1807 </test>
1808 </with>
1809 </definition>
1810 <definition
1811 id="isSingleRead">
1812 <with
1813 variable="selection">
1814 <test
1815 property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSingleRead">
1816 </test>
1817 </with>
1818 </definition>
1819 </extension>
1820 <extension
1821 point="org.eclipse.core.expressions.propertyTesters">
1822 <propertyTester
1823 class="eu.etaxonomy.taxeditor.editor.name.handler.NameEditorMenuPropertyTester"
1824 id="eu.etaxonomy.taxeditor.editor.name.propertyTester"
1825 namespace="eu.etaxonomy.taxeditor.editor.name.propertyTester"
1826 properties="isAcceptedTaxon,isSynonym,isMisapplication,isTaxonBase,hasEmptyNames,isAcceptedAndHasNoHomotypicSynonyms"
1827 type="org.eclipse.jface.viewers.IStructuredSelection">
1828 </propertyTester>
1829 <propertyTester
1830 class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DescriptionsMenuPropertyTester"
1831 id="eu.etaxonomy.taxeditor.descriptions.PropertyTester"
1832 namespace="eu.etaxonomy.taxeditor.descriptions.propertyTester"
1833 properties="isMedia,isDescription,isDescriptionElement,isDeletable,isFeatureNodeContainer,isImageGallery,isTaxonEditor,isBulkEditor,isDerivateEditor, isIndividualsAssociation"
1834 type="org.eclipse.jface.viewers.TreeSelection">
1835 </propertyTester>
1836 <propertyTester
1837 class="eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorPropertyTester"
1838 id="taxeditor-bulkeditor.PropertyTester"
1839 namespace="taxeditor-bulkeditor.propertyTester"
1840 properties="isGroupEditor"
1841 type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor">
1842 </propertyTester>
1843 <propertyTester
1844 class="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
1845 id="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
1846 namespace="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
1847 properties="isSequence,isSingleRead"
1848 type="org.eclipse.jface.viewers.IStructuredSelection">
1849 </propertyTester>
1850 </extension>
1851 <extension
1852 point="org.eclipse.ui.bindings">
1853 <scheme
1854 description="%scheme.description"
1855 id="eu.etaxonomy.taxeditor.bindings.scheme.default"
1856 name="%scheme.name">
1857 </scheme>
1858 <key
1859 commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.loadPherogram"
1860 schemeId="eu.etaxonomy.taxeditor.bindings.scheme.default"
1861 sequence="M1+O">
1862 </key>
1863 </extension>
1864 <extension
1865 point="org.eclipse.ui.importWizards">
1866 <wizard
1867 category="eu.etaxonomy.taxeditor.import.category.cdm"
1868 class="eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenSearchWizard"
1869 id="eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenSearchWizard"
1870 name="%wizard.name">
1871 <description>
1872 %wizard.description
1873 </description>
1874 </wizard>
1875 </extension>
1876 <extension
1877 point="eu.etaxonomy.taxeditor.store.cdmViewer">
1878 <cdmViewer
1879 class="eu.etaxonomy.taxeditor.editor.EditorCdmViewer">
1880 </cdmViewer>
1881 </extension>
1882 </plugin>