Project

General

Profile

« Previous | Next » 

Revision bd384d35

Added by Lutz Suhrbier over 12 years ago

Single Sourced CdmFormFactory markFinished Problem

View differences:

.gitattributes
567 567
eu.etaxonomy.taxeditor.feature/site.cquery -text
568 568
eu.etaxonomy.taxeditor.feature/site.rmap -text
569 569
eu.etaxonomy.taxeditor.feature/taxeditor.product -text
570
eu.etaxonomy.taxeditor.feature/taxeditor.warproduct -text
570 571
eu.etaxonomy.taxeditor.navigation.rap/.classpath -text
571 572
eu.etaxonomy.taxeditor.navigation.rap/.project -text
572 573
eu.etaxonomy.taxeditor.navigation.rap/.settings/org.eclipse.jdt.core.prefs -text
......
683 684
eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/org/eclipse/ide/undo/WorkspaceUndoUtilFacadeImpl.java -text
684 685
eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/org/eclipse/swt/widgets/DisplayProxyImpl.java -text
685 686
eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/store/internal/TaxeditorStorePluginImpl.java -text
687
eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/CdmFormFactoryFacadeImpl.java -text
686 688
eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacadeImpl.java -text
687 689
eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacadeImpl.java -text
688 690
eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacadeImpl.java -text
......
699 701
eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/org/eclipse/ide/undo/WorkspaceUndoUtilFacadeImpl.java -text
700 702
eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/org/eclipse/swt/widgets/DisplayProxyImpl.java -text
701 703
eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/store/internal/TaxeditorStorePluginImpl.java -text
704
eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/CdmFormFactoryFacadeImpl.java -text
702 705
eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacadeImpl.java -text
703 706
eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacadeImpl.java -text
704 707
eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacadeImpl.java -text
......
993 996
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/org/eclipse/swt/widgets/IDisplayProxy.java -text
994 997
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/store/TaxeditorStoreStartup.java -text
995 998
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/store/internal/TaxeditorStorePlugin.java -text
999
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/CdmFormFactoryFacade.java -text
996 1000
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacade.java -text
997 1001
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacade.java -text
998 1002
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacade.java -text
......
1034 1038
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmFormElementWithErrors.java -text
1035 1039
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractFormSection.java -text
1036 1040
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/BrowserElement.java -text
1037
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CdmFormFactory.java -text
1038 1041
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CdmPropertyChangeEvent.java -text
1039 1042
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CheckboxElement.java -text
1040 1043
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/DateDetailSection.java -text
eu.etaxonomy.taxeditor.feature/taxeditor.warproduct
1
<?xml version="1.0" encoding="UTF-8"?>
2
<?pde version="3.5"?>
3

  
4
<product useFeatures="false" includeLaunchers="false">
5
   <plugins>
6
      <plugin id="com.ibm.icu.base"/>
7
      <plugin id="eu.etaxonomy.taxeditor.application"/>
8
      <plugin id="eu.etaxonomy.taxeditor.application.rap" fragment="true"/>
9
      <plugin id="eu.etaxonomy.taxeditor.cdmlib"/>
10
      <plugin id="eu.etaxonomy.taxeditor.editor"/>
11
      <plugin id="eu.etaxonomy.taxeditor.editor.rap" fragment="true"/>
12
      <plugin id="eu.etaxonomy.taxeditor.navigation"/>
13
      <plugin id="eu.etaxonomy.taxeditor.navigation.rap" fragment="true"/>
14
      <plugin id="eu.etaxonomy.taxeditor.store"/>
15
      <plugin id="eu.etaxonomy.taxeditor.store.rap" fragment="true"/>
16
      <plugin id="org.eclipse.core.commands"/>
17
      <plugin id="org.eclipse.core.contenttype"/>
18
      <plugin id="org.eclipse.core.databinding"/>
19
      <plugin id="org.eclipse.core.databinding.beans"/>
20
      <plugin id="org.eclipse.core.databinding.observable"/>
21
      <plugin id="org.eclipse.core.databinding.property"/>
22
      <plugin id="org.eclipse.core.expressions"/>
23
      <plugin id="org.eclipse.core.jobs"/>
24
      <plugin id="org.eclipse.core.runtime"/>
25
      <plugin id="org.eclipse.draw2d"/>
26
      <plugin id="org.eclipse.draw2d.rap"/>
27
      <plugin id="org.eclipse.equinox.app"/>
28
      <plugin id="org.eclipse.equinox.common"/>
29
      <plugin id="org.eclipse.equinox.http.registry"/>
30
      <plugin id="org.eclipse.equinox.http.servlet"/>
31
      <plugin id="org.eclipse.equinox.http.servletbridge"/>
32
      <plugin id="org.eclipse.equinox.preferences"/>
33
      <plugin id="org.eclipse.equinox.registry"/>
34
      <plugin id="org.eclipse.equinox.servletbridge"/>
35
      <plugin id="org.eclipse.equinox.servletbridge.extensionbundle" fragment="true"/>
36
      <plugin id="org.eclipse.help"/>
37
      <plugin id="org.eclipse.jdt.junit.runtime"/>
38
      <plugin id="org.eclipse.osgi"/>
39
      <plugin id="org.eclipse.osgi.services"/>
40
      <plugin id="org.eclipse.rap.demo"/>
41
      <plugin id="org.eclipse.rap.demo.databinding"/>
42
      <plugin id="org.eclipse.rap.design.example"/>
43
      <plugin id="org.eclipse.rap.jface"/>
44
      <plugin id="org.eclipse.rap.jface.databinding"/>
45
      <plugin id="org.eclipse.rap.junit"/>
46
      <plugin id="org.eclipse.rap.junit.runtime"/>
47
      <plugin id="org.eclipse.rap.pde.runtime"/>
48
      <plugin id="org.eclipse.rap.rwt"/>
49
      <plugin id="org.eclipse.rap.rwt.q07" fragment="true"/>
50
      <plugin id="org.eclipse.rap.rwt.theme.classic"/>
51
      <plugin id="org.eclipse.rap.ui"/>
52
      <plugin id="org.eclipse.rap.ui.cheatsheets"/>
53
      <plugin id="org.eclipse.rap.ui.forms"/>
54
      <plugin id="org.eclipse.rap.ui.navigator"/>
55
      <plugin id="org.eclipse.rap.ui.views"/>
56
      <plugin id="org.eclipse.rap.ui.workbench"/>
57
      <plugin id="org.eclipse.zest.core"/>
58
      <plugin id="org.eclipse.zest.layouts"/>
59
      <plugin id="org.junit"/>
60
   </plugins>
61

  
62
   <configurations>
63
      <plugin id="com.ibm.icu.base" autoStart="true" startLevel="0" />
64
      <plugin id="eu.etaxonomy.taxeditor.application" autoStart="true" startLevel="0" />
65
      <plugin id="eu.etaxonomy.taxeditor.cdmlib" autoStart="true" startLevel="0" />
66
      <plugin id="eu.etaxonomy.taxeditor.editor" autoStart="true" startLevel="0" />
67
      <plugin id="eu.etaxonomy.taxeditor.navigation" autoStart="true" startLevel="0" />
68
      <plugin id="eu.etaxonomy.taxeditor.store" autoStart="true" startLevel="0" />
69
      <plugin id="org.eclipse.core.commands" autoStart="true" startLevel="0" />
70
      <plugin id="org.eclipse.core.contenttype" autoStart="true" startLevel="0" />
71
      <plugin id="org.eclipse.core.databinding" autoStart="true" startLevel="0" />
72
      <plugin id="org.eclipse.core.databinding.beans" autoStart="true" startLevel="0" />
73
      <plugin id="org.eclipse.core.databinding.observable" autoStart="true" startLevel="0" />
74
      <plugin id="org.eclipse.core.databinding.property" autoStart="true" startLevel="0" />
75
      <plugin id="org.eclipse.core.expressions" autoStart="true" startLevel="0" />
76
      <plugin id="org.eclipse.core.jobs" autoStart="true" startLevel="0" />
77
      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
78
      <plugin id="org.eclipse.draw2d" autoStart="true" startLevel="0" />
79
      <plugin id="org.eclipse.draw2d.rap" autoStart="true" startLevel="0" />
80
      <plugin id="org.eclipse.equinox.app" autoStart="true" startLevel="0" />
81
      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="0" />
82
      <plugin id="org.eclipse.equinox.http.registry" autoStart="true" startLevel="0" />
83
      <plugin id="org.eclipse.equinox.http.servlet" autoStart="true" startLevel="0" />
84
      <plugin id="org.eclipse.equinox.http.servletbridge" autoStart="true" startLevel="0" />
85
      <plugin id="org.eclipse.equinox.preferences" autoStart="true" startLevel="0" />
86
      <plugin id="org.eclipse.equinox.registry" autoStart="true" startLevel="0" />
87
      <plugin id="org.eclipse.equinox.servletbridge" autoStart="true" startLevel="0" />
88
      <plugin id="org.eclipse.help" autoStart="true" startLevel="0" />
89
      <plugin id="org.eclipse.jdt.junit.runtime" autoStart="true" startLevel="0" />
90
      <plugin id="org.eclipse.osgi" autoStart="true" startLevel="0" />
91
      <plugin id="org.eclipse.osgi.services" autoStart="true" startLevel="0" />
92
      <plugin id="org.eclipse.rap.demo" autoStart="true" startLevel="0" />
93
      <plugin id="org.eclipse.rap.demo.databinding" autoStart="true" startLevel="0" />
94
      <plugin id="org.eclipse.rap.design.example" autoStart="true" startLevel="0" />
95
      <plugin id="org.eclipse.rap.jface" autoStart="true" startLevel="0" />
96
      <plugin id="org.eclipse.rap.jface.databinding" autoStart="true" startLevel="0" />
97
      <plugin id="org.eclipse.rap.junit" autoStart="true" startLevel="0" />
98
      <plugin id="org.eclipse.rap.junit.runtime" autoStart="true" startLevel="0" />
99
      <plugin id="org.eclipse.rap.pde.runtime" autoStart="true" startLevel="0" />
100
      <plugin id="org.eclipse.rap.rwt" autoStart="true" startLevel="0" />
101
      <plugin id="org.eclipse.rap.rwt.theme.classic" autoStart="true" startLevel="0" />
102
      <plugin id="org.eclipse.rap.ui" autoStart="true" startLevel="0" />
103
      <plugin id="org.eclipse.rap.ui.cheatsheets" autoStart="true" startLevel="0" />
104
      <plugin id="org.eclipse.rap.ui.forms" autoStart="true" startLevel="0" />
105
      <plugin id="org.eclipse.rap.ui.navigator" autoStart="true" startLevel="0" />
106
      <plugin id="org.eclipse.rap.ui.views" autoStart="true" startLevel="0" />
107
      <plugin id="org.eclipse.rap.ui.workbench" autoStart="true" startLevel="0" />
108
      <plugin id="org.eclipse.zest.core" autoStart="true" startLevel="0" />
109
      <plugin id="org.eclipse.zest.layouts" autoStart="true" startLevel="0" />
110
      <plugin id="org.junit" autoStart="true" startLevel="0" />
111
   </configurations>
112

  
113
   <warConfiguration webXml="/eu.etaxonomy.taxeditor.feature/WEB-INF/web.xml" launchIni="/eu.etaxonomy.taxeditor.feature/WEB-INF/launch.ini">
114
   <libraries>
115
      <library path="org.eclipse.equinox.servletbridge_1.2.100.v20110502.jar" fromTarget="true"/>
116
   </libraries>
117
   </warConfiguration>
118
</product>
eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/CdmFormFactoryFacadeImpl.java
1
/**
2
 * 
3
 */
4
package eu.etaxonomy.taxeditor.singlesource.ui.forms;
5

  
6
import java.net.URI;
7
import java.util.ArrayList;
8
import java.util.HashSet;
9
import java.util.List;
10
import java.util.Map;
11
import java.util.Set;
12

  
13
import org.eclipse.jface.util.IPropertyChangeListener;
14
import org.eclipse.jface.viewers.ISelection;
15
import org.eclipse.jface.viewers.ISelectionProvider;
16
import org.eclipse.jface.window.Window;
17
import org.eclipse.swt.SWT;
18
import org.eclipse.swt.events.FocusAdapter;
19
import org.eclipse.swt.events.FocusEvent;
20
import org.eclipse.swt.events.FocusListener;
21
import org.eclipse.swt.events.MouseAdapter;
22
import org.eclipse.swt.events.MouseEvent;
23
import org.eclipse.swt.events.MouseListener;
24
import org.eclipse.swt.events.SelectionEvent;
25
import org.eclipse.swt.events.SelectionListener;
26
import org.eclipse.swt.events.TypedEvent;
27
import org.eclipse.swt.graphics.Color;
28
import org.eclipse.swt.graphics.Font;
29
import org.eclipse.swt.widgets.Composite;
30
import org.eclipse.swt.widgets.Control;
31
import org.eclipse.swt.widgets.Display;
32
import org.eclipse.swt.widgets.Event;
33
import org.eclipse.swt.widgets.Label;
34
import org.eclipse.ui.forms.IFormColors;
35
import org.eclipse.ui.forms.widgets.FormToolkit;
36
import org.eclipse.ui.forms.widgets.Section;
37
import org.eclipse.ui.forms.widgets.TableWrapData;
38
import org.eclipse.ui.forms.widgets.TableWrapLayout;
39
import org.eclipse.ui.internal.forms.widgets.FormFonts;
40
import org.joda.time.Partial;
41
import org.springframework.security.core.GrantedAuthority;
42

  
43
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
44
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
45
import eu.etaxonomy.cdm.model.agent.Institution;
46
import eu.etaxonomy.cdm.model.agent.Person;
47
import eu.etaxonomy.cdm.model.agent.Team;
48
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
49
import eu.etaxonomy.cdm.model.common.Annotation;
50
import eu.etaxonomy.cdm.model.common.AnnotationType;
51
import eu.etaxonomy.cdm.model.common.Credit;
52
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
53
import eu.etaxonomy.cdm.model.common.DescriptionElementSource;
54
import eu.etaxonomy.cdm.model.common.Extension;
55
import eu.etaxonomy.cdm.model.common.ExtensionType;
56
import eu.etaxonomy.cdm.model.common.Group;
57
import eu.etaxonomy.cdm.model.common.IAnnotatableEntity;
58
import eu.etaxonomy.cdm.model.common.ICdmBase;
59
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
60
import eu.etaxonomy.cdm.model.common.Language;
61
import eu.etaxonomy.cdm.model.common.LanguageString;
62
import eu.etaxonomy.cdm.model.common.Marker;
63
import eu.etaxonomy.cdm.model.common.MarkerType;
64
import eu.etaxonomy.cdm.model.common.TimePeriod;
65
import eu.etaxonomy.cdm.model.common.User;
66
import eu.etaxonomy.cdm.model.common.VersionableEntity;
67
import eu.etaxonomy.cdm.model.description.CategoricalData;
68
import eu.etaxonomy.cdm.model.description.CommonTaxonName;
69
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
70
import eu.etaxonomy.cdm.model.description.Distribution;
71
import eu.etaxonomy.cdm.model.description.Feature;
72
import eu.etaxonomy.cdm.model.description.FeatureTree;
73
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
74
import eu.etaxonomy.cdm.model.description.KeyStatement;
75
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
76
import eu.etaxonomy.cdm.model.description.Modifier;
77
import eu.etaxonomy.cdm.model.description.PolytomousKey;
78
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
79
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
80
import eu.etaxonomy.cdm.model.description.QuantitativeData;
81
import eu.etaxonomy.cdm.model.description.Scope;
82
import eu.etaxonomy.cdm.model.description.Sex;
83
import eu.etaxonomy.cdm.model.description.Stage;
84
import eu.etaxonomy.cdm.model.description.State;
85
import eu.etaxonomy.cdm.model.description.StateData;
86
import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
87
import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue;
88
import eu.etaxonomy.cdm.model.description.TaxonInteraction;
89
import eu.etaxonomy.cdm.model.description.TextData;
90
import eu.etaxonomy.cdm.model.location.NamedArea;
91
import eu.etaxonomy.cdm.model.location.NamedAreaType;
92
import eu.etaxonomy.cdm.model.location.Point;
93
import eu.etaxonomy.cdm.model.location.ReferenceSystem;
94
import eu.etaxonomy.cdm.model.media.ImageFile;
95
import eu.etaxonomy.cdm.model.media.Media;
96
import eu.etaxonomy.cdm.model.media.MediaRepresentation;
97
import eu.etaxonomy.cdm.model.media.Rights;
98
import eu.etaxonomy.cdm.model.media.RightsTerm;
99
import eu.etaxonomy.cdm.model.name.NameRelationship;
100
import eu.etaxonomy.cdm.model.name.NameRelationshipType;
101
import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
102
import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
103
import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
104
import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
105
import eu.etaxonomy.cdm.model.name.Rank;
106
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
107
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
108
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
109
import eu.etaxonomy.cdm.model.occurrence.Collection;
110
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
111
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
112
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
113
import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;
114
import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
115
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
116
import eu.etaxonomy.cdm.model.occurrence.Specimen;
117
import eu.etaxonomy.cdm.model.reference.Reference;
118
import eu.etaxonomy.cdm.model.taxon.Classification;
119
import eu.etaxonomy.cdm.model.taxon.Synonym;
120
import eu.etaxonomy.cdm.model.taxon.Taxon;
121
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
122
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
123
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
124
import eu.etaxonomy.taxeditor.store.StoreUtil;
125
import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
126
import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
127
import eu.etaxonomy.taxeditor.ui.forms.BrowserElement;
128
import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
129
import eu.etaxonomy.taxeditor.ui.forms.DateDetailSection;
130
import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
131
import eu.etaxonomy.taxeditor.ui.forms.IEntityElement;
132
import eu.etaxonomy.taxeditor.ui.forms.ISelectableElement;
133
import eu.etaxonomy.taxeditor.ui.forms.ImageElement;
134
import eu.etaxonomy.taxeditor.ui.forms.KeyStatementElement;
135
import eu.etaxonomy.taxeditor.ui.forms.KeyValueViewerElement;
136
import eu.etaxonomy.taxeditor.ui.forms.LabelElement;
137
import eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement;
138
import eu.etaxonomy.taxeditor.ui.forms.PartialElement;
139
import eu.etaxonomy.taxeditor.ui.forms.PointElement;
140
import eu.etaxonomy.taxeditor.ui.forms.SelectionArbitrator;
141
import eu.etaxonomy.taxeditor.ui.forms.TextActionElement;
142
import eu.etaxonomy.taxeditor.ui.forms.TimePeriodElement;
143
import eu.etaxonomy.taxeditor.ui.forms.ToggleableTextElement;
144
import eu.etaxonomy.taxeditor.ui.forms.password.EditPasswordElement;
145
import eu.etaxonomy.taxeditor.ui.openurl.IOpenUrlEnabled;
146
import eu.etaxonomy.taxeditor.ui.openurl.OpenUrlSelectorElement;
147
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
148
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
149
import eu.etaxonomy.taxeditor.ui.section.EmptyElement;
150
import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionDetailElement;
151
import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionDetailSection;
152
import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailElement;
153
import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailSection;
154
import eu.etaxonomy.taxeditor.ui.section.agent.TeamDetailElement;
155
import eu.etaxonomy.taxeditor.ui.section.agent.TeamDetailSection;
156
import eu.etaxonomy.taxeditor.ui.section.agent.TeamMemberElement;
157
import eu.etaxonomy.taxeditor.ui.section.agent.TeamMemberSection;
158
import eu.etaxonomy.taxeditor.ui.section.agent.TeamOrPersonBaseDetailSection;
159
import eu.etaxonomy.taxeditor.ui.section.classification.ClassificationDetailElement;
160
import eu.etaxonomy.taxeditor.ui.section.classification.ClassificationDetailSection;
161
import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeDetailElement;
162
import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeDetailSection;
163
import eu.etaxonomy.taxeditor.ui.section.description.DerivedUnitElement;
164
import eu.etaxonomy.taxeditor.ui.section.description.DescribedSpecimenSection;
165
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionDetailElement;
166
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionDetailSection;
167
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementDetailElement;
168
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementDetailSection;
169
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementMediaSection;
170
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementSourceElement;
171
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementSourceSection;
172
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionSourceElement;
173
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionSourceSection;
174
import eu.etaxonomy.taxeditor.ui.section.description.ModifierElement;
175
import eu.etaxonomy.taxeditor.ui.section.description.ModifierSection;
176
import eu.etaxonomy.taxeditor.ui.section.description.NaturalLanguageDetailElement;
177
import eu.etaxonomy.taxeditor.ui.section.description.NaturalLanguageSection;
178
import eu.etaxonomy.taxeditor.ui.section.description.ScopeElement;
179
import eu.etaxonomy.taxeditor.ui.section.description.ScopeSection;
180
import eu.etaxonomy.taxeditor.ui.section.description.StateDataElement;
181
import eu.etaxonomy.taxeditor.ui.section.description.StateDataSection;
182
import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueElement;
183
import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueSection;
184
import eu.etaxonomy.taxeditor.ui.section.description.detail.AbstractDetailedDescriptionDetailElement;
185
import eu.etaxonomy.taxeditor.ui.section.description.detail.CategoricalDataDetailElement;
186
import eu.etaxonomy.taxeditor.ui.section.description.detail.CommonNameDetailElement;
187
import eu.etaxonomy.taxeditor.ui.section.description.detail.DistributionDetailElement;
188
import eu.etaxonomy.taxeditor.ui.section.description.detail.IndividualsAssociationDetailElement;
189
import eu.etaxonomy.taxeditor.ui.section.description.detail.QuantitativeDataDetailElement;
190
import eu.etaxonomy.taxeditor.ui.section.description.detail.TaxonInteractionDetailElement;
191
import eu.etaxonomy.taxeditor.ui.section.description.detail.TextDataDetailElement;
192
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailElement;
193
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailSection;
194
import eu.etaxonomy.taxeditor.ui.section.group.GrantedAuthorityDetailElement;
195
import eu.etaxonomy.taxeditor.ui.section.group.GrantedAuthorityDetailSection;
196
import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailElement;
197
import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailSection;
198
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailElement;
199
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection;
200
import eu.etaxonomy.taxeditor.ui.section.key.GeographicalScopeDetailSection;
201
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailElement;
202
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection;
203
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailElement;
204
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailSection;
205
import eu.etaxonomy.taxeditor.ui.section.key.ScopeRestrictionSection;
206
import eu.etaxonomy.taxeditor.ui.section.key.TaxonomicScopeSection;
207
import eu.etaxonomy.taxeditor.ui.section.media.ImageFileElement;
208
import eu.etaxonomy.taxeditor.ui.section.media.MediaElement;
209
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationElement;
210
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationPartSection;
211
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationSection;
212
import eu.etaxonomy.taxeditor.ui.section.media.MediaSection;
213
import eu.etaxonomy.taxeditor.ui.section.name.AuthorshipDetailElement;
214
import eu.etaxonomy.taxeditor.ui.section.name.AuthorshipDetailSection;
215
import eu.etaxonomy.taxeditor.ui.section.name.HybridDetailElement;
216
import eu.etaxonomy.taxeditor.ui.section.name.HybridDetailSection;
217
import eu.etaxonomy.taxeditor.ui.section.name.NameDetailElement;
218
import eu.etaxonomy.taxeditor.ui.section.name.NameDetailSection;
219
import eu.etaxonomy.taxeditor.ui.section.name.NameRelationshipDetailElement;
220
import eu.etaxonomy.taxeditor.ui.section.name.NameRelationshipDetailSection;
221
import eu.etaxonomy.taxeditor.ui.section.name.NameTypeDesignationElement;
222
import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusElement;
223
import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusSection;
224
import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailElement;
225
import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection;
226
import eu.etaxonomy.taxeditor.ui.section.name.ProtologueElement;
227
import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection;
228
import eu.etaxonomy.taxeditor.ui.section.name.SpecimenTypeDesignationElement;
229
import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection;
230
import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectingAreasDetailSection;
231
import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionDetailElement;
232
import eu.etaxonomy.taxeditor.ui.section.occurrence.CurrentDeterminationDetailSection;
233
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailElement;
234
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailSection;
235
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailElement;
236
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailSection;
237
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailElement;
238
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailSection;
239
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationEventDetailElement;
240
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationHistoryDetailSection;
241
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailElement;
242
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailSection;
243
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailElement;
244
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailSection;
245
import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralDetailElement;
246
import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralDetailSection;
247
import eu.etaxonomy.taxeditor.ui.section.occurrence.NamedAreaDetailElement;
248
import eu.etaxonomy.taxeditor.ui.section.occurrence.SourceCollectionDetailSection;
249
import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailElement;
250
import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailSection;
251
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailElement;
252
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;
253
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailElement;
254
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;
255
import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationElement;
256
import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationSection;
257
import eu.etaxonomy.taxeditor.ui.section.supplemental.CreditElement;
258
import eu.etaxonomy.taxeditor.ui.section.supplemental.CreditSection;
259
import eu.etaxonomy.taxeditor.ui.section.supplemental.ExtensionElement;
260
import eu.etaxonomy.taxeditor.ui.section.supplemental.ExtensionSection;
261
import eu.etaxonomy.taxeditor.ui.section.supplemental.HeadlineSection;
262
import eu.etaxonomy.taxeditor.ui.section.supplemental.IdentifiableSourceElement;
263
import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerElement;
264
import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerSection;
265
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsElement;
266
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsSection;
267
import eu.etaxonomy.taxeditor.ui.section.supplemental.SourceSection;
268
import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionElement;
269
import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionSection;
270
import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessageElement;
271
import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection;
272
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailElement;
273
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailSection;
274
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonDetailElement;
275
import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailElement;
276
import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection;
277
import eu.etaxonomy.taxeditor.ui.section.user.UserDetailElement;
278
import eu.etaxonomy.taxeditor.ui.section.user.UserDetailSection;
279
import eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement;
280
import eu.etaxonomy.taxeditor.ui.selection.AgentSelectionElement;
281
import eu.etaxonomy.taxeditor.ui.selection.ClassificationSelectionElement;
282
import eu.etaxonomy.taxeditor.ui.selection.CollectionSelectionElement;
283
import eu.etaxonomy.taxeditor.ui.selection.DerivedUnitBaseSelectionElement;
284
import eu.etaxonomy.taxeditor.ui.selection.FeatureSelectionElement;
285
import eu.etaxonomy.taxeditor.ui.selection.FeatureTreeSelectionElement;
286
import eu.etaxonomy.taxeditor.ui.selection.FieldObservationSelectionElement;
287
import eu.etaxonomy.taxeditor.ui.selection.GroupSelectionElement;
288
import eu.etaxonomy.taxeditor.ui.selection.InstitutionSelectionElement;
289
import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement;
290
import eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement;
291
import eu.etaxonomy.taxeditor.ui.selection.NomenclaturalAuthorTeamSelectionElement;
292
import eu.etaxonomy.taxeditor.ui.selection.PersonSelectionElement;
293
import eu.etaxonomy.taxeditor.ui.selection.PolytomousKeyNodeSelectionElement;
294
import eu.etaxonomy.taxeditor.ui.selection.PolytomousKeySelectionElement;
295
import eu.etaxonomy.taxeditor.ui.selection.ReferenceSelectionElement;
296
import eu.etaxonomy.taxeditor.ui.selection.SynonymSelectionElement;
297
import eu.etaxonomy.taxeditor.ui.selection.TaxonBaseSelectionElement;
298
import eu.etaxonomy.taxeditor.ui.selection.TaxonNodeSelectionElement;
299
import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement;
300
import eu.etaxonomy.taxeditor.ui.selection.TeamSelectionElement;
301
import eu.etaxonomy.taxeditor.ui.selection.UserSelectionElement;
302
import eu.etaxonomy.taxeditor.ui.term.AbstractEnumComboElement;
303
import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement;
304
import eu.etaxonomy.taxeditor.ui.term.AnnotationTypeComboElement;
305
import eu.etaxonomy.taxeditor.ui.term.DeterminationModifierComboElement;
306
import eu.etaxonomy.taxeditor.ui.term.EmptyComboElement;
307
import eu.etaxonomy.taxeditor.ui.term.ExtensionTypeComboElement;
308
import eu.etaxonomy.taxeditor.ui.term.LanguageComboElement;
309
import eu.etaxonomy.taxeditor.ui.term.MarkerTypeComboElement;
310
import eu.etaxonomy.taxeditor.ui.term.MeasurementUnitComboElement;
311
import eu.etaxonomy.taxeditor.ui.term.ModifierComboElement;
312
import eu.etaxonomy.taxeditor.ui.term.NameRelationshipTypeComboElement;
313
import eu.etaxonomy.taxeditor.ui.term.NameTypeDesignationStatusComboElement;
314
import eu.etaxonomy.taxeditor.ui.term.NamedAreaTypeComboElement;
315
import eu.etaxonomy.taxeditor.ui.term.NomenclaturalCodeComboElement;
316
import eu.etaxonomy.taxeditor.ui.term.NomenclaturalStatusTypeComboElement;
317
import eu.etaxonomy.taxeditor.ui.term.PresenceAbsenceTermComboElement;
318
import eu.etaxonomy.taxeditor.ui.term.PreservationMethodComboElement;
319
import eu.etaxonomy.taxeditor.ui.term.RankComboElement;
320
import eu.etaxonomy.taxeditor.ui.term.ReferenceSystemComboElement;
321
import eu.etaxonomy.taxeditor.ui.term.ReferenceTypeComboElement;
322
import eu.etaxonomy.taxeditor.ui.term.RightsTypeComboElement;
323
import eu.etaxonomy.taxeditor.ui.term.ScopeComboElement;
324
import eu.etaxonomy.taxeditor.ui.term.SexComboElement;
325
import eu.etaxonomy.taxeditor.ui.term.SpecimenTypeDesignationStatusComboElement;
326
import eu.etaxonomy.taxeditor.ui.term.StageComboElement;
327
import eu.etaxonomy.taxeditor.ui.term.StateComboElement;
328
import eu.etaxonomy.taxeditor.ui.term.StatisticalMeasureComboElement;
329

  
330
/**
331
 * <p>
332
 * CdmFormFactory class.
333
 * </p>
334
 * 
335
 * @author n.hoffmann
336
 * @created Feb 24, 2010
337
 * @version 1.0
338
 */
339
public class CdmFormFactoryFacadeImpl extends CdmFormFactoryFacade {
340

  
341
	public CdmFormFactoryFacadeImpl(){
342
	}
343

  
344
	protected CdmFormFactoryFacadeImpl(Display display, ISelectionProvider selectionProvider) {
345
		super(display,selectionProvider);
346
	}
347

  
348
	protected CdmFormFactoryFacadeImpl(Display display) {
349
		super(display);
350
	}
351

  
352
	protected Object getInstanceInternal(Display display, ISelectionProvider selectionProvider) {
353
		return new CdmFormFactoryFacadeImpl(display, selectionProvider);
354
	}
355

  
356
	protected Object getInstanceInternal(Display display) {
357
		return new CdmFormFactoryFacadeImpl(display);
358
	}
359

  
360
	
361
	public void markFinishedInternal(Font font) {
362
		FormFonts.getInstance().markFinished(font);
363
	}
364
}
eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/CdmFormFactoryFacadeImpl.java
1
/**
2
 * 
3
 */
4
package eu.etaxonomy.taxeditor.singlesource.ui.forms;
5

  
6
import java.net.URI;
7
import java.util.ArrayList;
8
import java.util.HashSet;
9
import java.util.List;
10
import java.util.Map;
11
import java.util.Set;
12

  
13
import org.eclipse.jface.util.IPropertyChangeListener;
14
import org.eclipse.jface.viewers.ISelection;
15
import org.eclipse.jface.viewers.ISelectionProvider;
16
import org.eclipse.jface.window.Window;
17
import org.eclipse.swt.SWT;
18
import org.eclipse.swt.events.FocusAdapter;
19
import org.eclipse.swt.events.FocusEvent;
20
import org.eclipse.swt.events.FocusListener;
21
import org.eclipse.swt.events.MouseAdapter;
22
import org.eclipse.swt.events.MouseEvent;
23
import org.eclipse.swt.events.MouseListener;
24
import org.eclipse.swt.events.SelectionEvent;
25
import org.eclipse.swt.events.SelectionListener;
26
import org.eclipse.swt.events.TypedEvent;
27
import org.eclipse.swt.graphics.Color;
28
import org.eclipse.swt.graphics.Font;
29
import org.eclipse.swt.widgets.Composite;
30
import org.eclipse.swt.widgets.Control;
31
import org.eclipse.swt.widgets.Display;
32
import org.eclipse.swt.widgets.Event;
33
import org.eclipse.swt.widgets.Label;
34
import org.eclipse.ui.forms.IFormColors;
35
import org.eclipse.ui.forms.widgets.FormToolkit;
36
import org.eclipse.ui.forms.widgets.Section;
37
import org.eclipse.ui.forms.widgets.TableWrapData;
38
import org.eclipse.ui.forms.widgets.TableWrapLayout;
39
import org.eclipse.ui.internal.forms.widgets.FormFonts;
40
import org.joda.time.Partial;
41
import org.springframework.security.core.GrantedAuthority;
42

  
43
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
44
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
45
import eu.etaxonomy.cdm.model.agent.Institution;
46
import eu.etaxonomy.cdm.model.agent.Person;
47
import eu.etaxonomy.cdm.model.agent.Team;
48
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
49
import eu.etaxonomy.cdm.model.common.Annotation;
50
import eu.etaxonomy.cdm.model.common.AnnotationType;
51
import eu.etaxonomy.cdm.model.common.Credit;
52
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
53
import eu.etaxonomy.cdm.model.common.DescriptionElementSource;
54
import eu.etaxonomy.cdm.model.common.Extension;
55
import eu.etaxonomy.cdm.model.common.ExtensionType;
56
import eu.etaxonomy.cdm.model.common.Group;
57
import eu.etaxonomy.cdm.model.common.IAnnotatableEntity;
58
import eu.etaxonomy.cdm.model.common.ICdmBase;
59
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
60
import eu.etaxonomy.cdm.model.common.Language;
61
import eu.etaxonomy.cdm.model.common.LanguageString;
62
import eu.etaxonomy.cdm.model.common.Marker;
63
import eu.etaxonomy.cdm.model.common.MarkerType;
64
import eu.etaxonomy.cdm.model.common.TimePeriod;
65
import eu.etaxonomy.cdm.model.common.User;
66
import eu.etaxonomy.cdm.model.common.VersionableEntity;
67
import eu.etaxonomy.cdm.model.description.CategoricalData;
68
import eu.etaxonomy.cdm.model.description.CommonTaxonName;
69
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
70
import eu.etaxonomy.cdm.model.description.Distribution;
71
import eu.etaxonomy.cdm.model.description.Feature;
72
import eu.etaxonomy.cdm.model.description.FeatureTree;
73
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
74
import eu.etaxonomy.cdm.model.description.KeyStatement;
75
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
76
import eu.etaxonomy.cdm.model.description.Modifier;
77
import eu.etaxonomy.cdm.model.description.PolytomousKey;
78
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
79
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
80
import eu.etaxonomy.cdm.model.description.QuantitativeData;
81
import eu.etaxonomy.cdm.model.description.Scope;
82
import eu.etaxonomy.cdm.model.description.Sex;
83
import eu.etaxonomy.cdm.model.description.Stage;
84
import eu.etaxonomy.cdm.model.description.State;
85
import eu.etaxonomy.cdm.model.description.StateData;
86
import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
87
import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue;
88
import eu.etaxonomy.cdm.model.description.TaxonInteraction;
89
import eu.etaxonomy.cdm.model.description.TextData;
90
import eu.etaxonomy.cdm.model.location.NamedArea;
91
import eu.etaxonomy.cdm.model.location.NamedAreaType;
92
import eu.etaxonomy.cdm.model.location.Point;
93
import eu.etaxonomy.cdm.model.location.ReferenceSystem;
94
import eu.etaxonomy.cdm.model.media.ImageFile;
95
import eu.etaxonomy.cdm.model.media.Media;
96
import eu.etaxonomy.cdm.model.media.MediaRepresentation;
97
import eu.etaxonomy.cdm.model.media.Rights;
98
import eu.etaxonomy.cdm.model.media.RightsTerm;
99
import eu.etaxonomy.cdm.model.name.NameRelationship;
100
import eu.etaxonomy.cdm.model.name.NameRelationshipType;
101
import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
102
import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
103
import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
104
import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
105
import eu.etaxonomy.cdm.model.name.Rank;
106
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
107
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
108
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
109
import eu.etaxonomy.cdm.model.occurrence.Collection;
110
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
111
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
112
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
113
import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;
114
import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
115
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
116
import eu.etaxonomy.cdm.model.occurrence.Specimen;
117
import eu.etaxonomy.cdm.model.reference.Reference;
118
import eu.etaxonomy.cdm.model.taxon.Classification;
119
import eu.etaxonomy.cdm.model.taxon.Synonym;
120
import eu.etaxonomy.cdm.model.taxon.Taxon;
121
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
122
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
123
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
124
import eu.etaxonomy.taxeditor.store.StoreUtil;
125
import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
126
import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
127
import eu.etaxonomy.taxeditor.ui.forms.BrowserElement;
128
import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
129
import eu.etaxonomy.taxeditor.ui.forms.DateDetailSection;
130
import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
131
import eu.etaxonomy.taxeditor.ui.forms.IEntityElement;
132
import eu.etaxonomy.taxeditor.ui.forms.ISelectableElement;
133
import eu.etaxonomy.taxeditor.ui.forms.ImageElement;
134
import eu.etaxonomy.taxeditor.ui.forms.KeyStatementElement;
135
import eu.etaxonomy.taxeditor.ui.forms.KeyValueViewerElement;
136
import eu.etaxonomy.taxeditor.ui.forms.LabelElement;
137
import eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement;
138
import eu.etaxonomy.taxeditor.ui.forms.PartialElement;
139
import eu.etaxonomy.taxeditor.ui.forms.PointElement;
140
import eu.etaxonomy.taxeditor.ui.forms.SelectionArbitrator;
141
import eu.etaxonomy.taxeditor.ui.forms.TextActionElement;
142
import eu.etaxonomy.taxeditor.ui.forms.TimePeriodElement;
143
import eu.etaxonomy.taxeditor.ui.forms.ToggleableTextElement;
144
import eu.etaxonomy.taxeditor.ui.forms.password.EditPasswordElement;
145
import eu.etaxonomy.taxeditor.ui.openurl.IOpenUrlEnabled;
146
import eu.etaxonomy.taxeditor.ui.openurl.OpenUrlSelectorElement;
147
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
148
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
149
import eu.etaxonomy.taxeditor.ui.section.EmptyElement;
150
import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionDetailElement;
151
import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionDetailSection;
152
import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailElement;
153
import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailSection;
154
import eu.etaxonomy.taxeditor.ui.section.agent.TeamDetailElement;
155
import eu.etaxonomy.taxeditor.ui.section.agent.TeamDetailSection;
156
import eu.etaxonomy.taxeditor.ui.section.agent.TeamMemberElement;
157
import eu.etaxonomy.taxeditor.ui.section.agent.TeamMemberSection;
158
import eu.etaxonomy.taxeditor.ui.section.agent.TeamOrPersonBaseDetailSection;
159
import eu.etaxonomy.taxeditor.ui.section.classification.ClassificationDetailElement;
160
import eu.etaxonomy.taxeditor.ui.section.classification.ClassificationDetailSection;
161
import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeDetailElement;
162
import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeDetailSection;
163
import eu.etaxonomy.taxeditor.ui.section.description.DerivedUnitElement;
164
import eu.etaxonomy.taxeditor.ui.section.description.DescribedSpecimenSection;
165
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionDetailElement;
166
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionDetailSection;
167
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementDetailElement;
168
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementDetailSection;
169
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementMediaSection;
170
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementSourceElement;
171
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementSourceSection;
172
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionSourceElement;
173
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionSourceSection;
174
import eu.etaxonomy.taxeditor.ui.section.description.ModifierElement;
175
import eu.etaxonomy.taxeditor.ui.section.description.ModifierSection;
176
import eu.etaxonomy.taxeditor.ui.section.description.NaturalLanguageDetailElement;
177
import eu.etaxonomy.taxeditor.ui.section.description.NaturalLanguageSection;
178
import eu.etaxonomy.taxeditor.ui.section.description.ScopeElement;
179
import eu.etaxonomy.taxeditor.ui.section.description.ScopeSection;
180
import eu.etaxonomy.taxeditor.ui.section.description.StateDataElement;
181
import eu.etaxonomy.taxeditor.ui.section.description.StateDataSection;
182
import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueElement;
183
import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueSection;
184
import eu.etaxonomy.taxeditor.ui.section.description.detail.AbstractDetailedDescriptionDetailElement;
185
import eu.etaxonomy.taxeditor.ui.section.description.detail.CategoricalDataDetailElement;
186
import eu.etaxonomy.taxeditor.ui.section.description.detail.CommonNameDetailElement;
187
import eu.etaxonomy.taxeditor.ui.section.description.detail.DistributionDetailElement;
188
import eu.etaxonomy.taxeditor.ui.section.description.detail.IndividualsAssociationDetailElement;
189
import eu.etaxonomy.taxeditor.ui.section.description.detail.QuantitativeDataDetailElement;
190
import eu.etaxonomy.taxeditor.ui.section.description.detail.TaxonInteractionDetailElement;
191
import eu.etaxonomy.taxeditor.ui.section.description.detail.TextDataDetailElement;
192
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailElement;
193
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailSection;
194
import eu.etaxonomy.taxeditor.ui.section.group.GrantedAuthorityDetailElement;
195
import eu.etaxonomy.taxeditor.ui.section.group.GrantedAuthorityDetailSection;
196
import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailElement;
197
import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailSection;
198
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailElement;
199
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection;
200
import eu.etaxonomy.taxeditor.ui.section.key.GeographicalScopeDetailSection;
201
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailElement;
202
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection;
203
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailElement;
204
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailSection;
205
import eu.etaxonomy.taxeditor.ui.section.key.ScopeRestrictionSection;
206
import eu.etaxonomy.taxeditor.ui.section.key.TaxonomicScopeSection;
207
import eu.etaxonomy.taxeditor.ui.section.media.ImageFileElement;
208
import eu.etaxonomy.taxeditor.ui.section.media.MediaElement;
209
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationElement;
210
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationPartSection;
211
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationSection;
212
import eu.etaxonomy.taxeditor.ui.section.media.MediaSection;
213
import eu.etaxonomy.taxeditor.ui.section.name.AuthorshipDetailElement;
214
import eu.etaxonomy.taxeditor.ui.section.name.AuthorshipDetailSection;
215
import eu.etaxonomy.taxeditor.ui.section.name.HybridDetailElement;
216
import eu.etaxonomy.taxeditor.ui.section.name.HybridDetailSection;
217
import eu.etaxonomy.taxeditor.ui.section.name.NameDetailElement;
218
import eu.etaxonomy.taxeditor.ui.section.name.NameDetailSection;
219
import eu.etaxonomy.taxeditor.ui.section.name.NameRelationshipDetailElement;
220
import eu.etaxonomy.taxeditor.ui.section.name.NameRelationshipDetailSection;
221
import eu.etaxonomy.taxeditor.ui.section.name.NameTypeDesignationElement;
222
import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusElement;
223
import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusSection;
224
import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailElement;
225
import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection;
226
import eu.etaxonomy.taxeditor.ui.section.name.ProtologueElement;
227
import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection;
228
import eu.etaxonomy.taxeditor.ui.section.name.SpecimenTypeDesignationElement;
229
import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection;
230
import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectingAreasDetailSection;
231
import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionDetailElement;
232
import eu.etaxonomy.taxeditor.ui.section.occurrence.CurrentDeterminationDetailSection;
233
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailElement;
234
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailSection;
235
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailElement;
236
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailSection;
237
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailElement;
238
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailSection;
239
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationEventDetailElement;
240
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationHistoryDetailSection;
241
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailElement;
242
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailSection;
243
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailElement;
244
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailSection;
245
import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralDetailElement;
246
import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralDetailSection;
247
import eu.etaxonomy.taxeditor.ui.section.occurrence.NamedAreaDetailElement;
248
import eu.etaxonomy.taxeditor.ui.section.occurrence.SourceCollectionDetailSection;
249
import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailElement;
250
import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailSection;
251
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailElement;
252
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;
253
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailElement;
254
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;
255
import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationElement;
256
import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationSection;
257
import eu.etaxonomy.taxeditor.ui.section.supplemental.CreditElement;
258
import eu.etaxonomy.taxeditor.ui.section.supplemental.CreditSection;
259
import eu.etaxonomy.taxeditor.ui.section.supplemental.ExtensionElement;
260
import eu.etaxonomy.taxeditor.ui.section.supplemental.ExtensionSection;
261
import eu.etaxonomy.taxeditor.ui.section.supplemental.HeadlineSection;
262
import eu.etaxonomy.taxeditor.ui.section.supplemental.IdentifiableSourceElement;
263
import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerElement;
264
import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerSection;
265
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsElement;
266
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsSection;
267
import eu.etaxonomy.taxeditor.ui.section.supplemental.SourceSection;
268
import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionElement;
269
import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionSection;
270
import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessageElement;
271
import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection;
272
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailElement;
273
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailSection;
274
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonDetailElement;
275
import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailElement;
276
import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection;
277
import eu.etaxonomy.taxeditor.ui.section.user.UserDetailElement;
278
import eu.etaxonomy.taxeditor.ui.section.user.UserDetailSection;
279
import eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement;
280
import eu.etaxonomy.taxeditor.ui.selection.AgentSelectionElement;
281
import eu.etaxonomy.taxeditor.ui.selection.ClassificationSelectionElement;
282
import eu.etaxonomy.taxeditor.ui.selection.CollectionSelectionElement;
283
import eu.etaxonomy.taxeditor.ui.selection.DerivedUnitBaseSelectionElement;
284
import eu.etaxonomy.taxeditor.ui.selection.FeatureSelectionElement;
285
import eu.etaxonomy.taxeditor.ui.selection.FeatureTreeSelectionElement;
286
import eu.etaxonomy.taxeditor.ui.selection.FieldObservationSelectionElement;
287
import eu.etaxonomy.taxeditor.ui.selection.GroupSelectionElement;
288
import eu.etaxonomy.taxeditor.ui.selection.InstitutionSelectionElement;
289
import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement;
290
import eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement;
291
import eu.etaxonomy.taxeditor.ui.selection.NomenclaturalAuthorTeamSelectionElement;
292
import eu.etaxonomy.taxeditor.ui.selection.PersonSelectionElement;
293
import eu.etaxonomy.taxeditor.ui.selection.PolytomousKeyNodeSelectionElement;
294
import eu.etaxonomy.taxeditor.ui.selection.PolytomousKeySelectionElement;
295
import eu.etaxonomy.taxeditor.ui.selection.ReferenceSelectionElement;
296
import eu.etaxonomy.taxeditor.ui.selection.SynonymSelectionElement;
297
import eu.etaxonomy.taxeditor.ui.selection.TaxonBaseSelectionElement;
298
import eu.etaxonomy.taxeditor.ui.selection.TaxonNodeSelectionElement;
299
import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement;
300
import eu.etaxonomy.taxeditor.ui.selection.TeamSelectionElement;
301
import eu.etaxonomy.taxeditor.ui.selection.UserSelectionElement;
302
import eu.etaxonomy.taxeditor.ui.term.AbstractEnumComboElement;
303
import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement;
304
import eu.etaxonomy.taxeditor.ui.term.AnnotationTypeComboElement;
305
import eu.etaxonomy.taxeditor.ui.term.DeterminationModifierComboElement;
306
import eu.etaxonomy.taxeditor.ui.term.EmptyComboElement;
307
import eu.etaxonomy.taxeditor.ui.term.ExtensionTypeComboElement;
308
import eu.etaxonomy.taxeditor.ui.term.LanguageComboElement;
309
import eu.etaxonomy.taxeditor.ui.term.MarkerTypeComboElement;
310
import eu.etaxonomy.taxeditor.ui.term.MeasurementUnitComboElement;
311
import eu.etaxonomy.taxeditor.ui.term.ModifierComboElement;
312
import eu.etaxonomy.taxeditor.ui.term.NameRelationshipTypeComboElement;
313
import eu.etaxonomy.taxeditor.ui.term.NameTypeDesignationStatusComboElement;
314
import eu.etaxonomy.taxeditor.ui.term.NamedAreaTypeComboElement;
315
import eu.etaxonomy.taxeditor.ui.term.NomenclaturalCodeComboElement;
316
import eu.etaxonomy.taxeditor.ui.term.NomenclaturalStatusTypeComboElement;
317
import eu.etaxonomy.taxeditor.ui.term.PresenceAbsenceTermComboElement;
318
import eu.etaxonomy.taxeditor.ui.term.PreservationMethodComboElement;
319
import eu.etaxonomy.taxeditor.ui.term.RankComboElement;
320
import eu.etaxonomy.taxeditor.ui.term.ReferenceSystemComboElement;
321
import eu.etaxonomy.taxeditor.ui.term.ReferenceTypeComboElement;
322
import eu.etaxonomy.taxeditor.ui.term.RightsTypeComboElement;
323
import eu.etaxonomy.taxeditor.ui.term.ScopeComboElement;
324
import eu.etaxonomy.taxeditor.ui.term.SexComboElement;
325
import eu.etaxonomy.taxeditor.ui.term.SpecimenTypeDesignationStatusComboElement;
326
import eu.etaxonomy.taxeditor.ui.term.StageComboElement;
327
import eu.etaxonomy.taxeditor.ui.term.StateComboElement;
328
import eu.etaxonomy.taxeditor.ui.term.StatisticalMeasureComboElement;
329

  
330
/**
331
 * <p>
332
 * CdmFormFactory class.
333
 * </p>
334
 * 
335
 * @author n.hoffmann
336
 * @created Feb 24, 2010
337
 * @version 1.0
338
 */
339
public class CdmFormFactoryFacadeImpl extends CdmFormFactoryFacade {
340

  
341
	public CdmFormFactoryFacadeImpl(){
342
	}
343

  
344
	protected CdmFormFactoryFacadeImpl(Display display, ISelectionProvider selectionProvider) {
345
		super(display,selectionProvider);
346
	}
347

  
348
	protected CdmFormFactoryFacadeImpl(Display display) {
349
		super(display);
350
	}
351

  
352
	protected Object getInstanceInternal(Display display, ISelectionProvider selectionProvider) {
353
		return new CdmFormFactoryFacadeImpl(display, selectionProvider);
354
	}
355

  
356
	protected Object getInstanceInternal(Display display) {
357
		return new CdmFormFactoryFacadeImpl(display);
358
	}
359

  
360
	
361
	public void markFinishedInternal(Font font) {
362
		FormFonts.getInstance().markFinished( font, getColors().getDisplay());
363
	}
364
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/CdmFormFactoryFacade.java
1
/**
2
 * 
3
 */
4
package eu.etaxonomy.taxeditor.singlesource.ui.forms;
5

  
6
import java.net.URI;
7
import java.util.ArrayList;
8
import java.util.HashSet;
9
import java.util.List;
10
import java.util.Map;
11
import java.util.Set;
12

  
13
import org.apache.log4j.Logger;
14
import org.eclipse.jface.util.IPropertyChangeListener;
15
import org.eclipse.jface.viewers.ISelection;
16
import org.eclipse.jface.viewers.ISelectionProvider;
17
import org.eclipse.jface.window.Window;
18
import org.eclipse.swt.SWT;
19
import org.eclipse.swt.events.FocusAdapter;
20
import org.eclipse.swt.events.FocusEvent;
21
import org.eclipse.swt.events.FocusListener;
22
import org.eclipse.swt.events.MouseAdapter;
23
import org.eclipse.swt.events.MouseEvent;
24
import org.eclipse.swt.events.MouseListener;
25
import org.eclipse.swt.events.SelectionEvent;
26
import org.eclipse.swt.events.SelectionListener;
27
import org.eclipse.swt.events.TypedEvent;
28
import org.eclipse.swt.graphics.Color;
29
import org.eclipse.swt.graphics.Font;
30
import org.eclipse.swt.widgets.Composite;
31
import org.eclipse.swt.widgets.Control;
32
import org.eclipse.swt.widgets.Display;
33
import org.eclipse.swt.widgets.Event;
34
import org.eclipse.swt.widgets.Label;
35
import org.eclipse.ui.forms.IFormColors;
36
import org.eclipse.ui.forms.widgets.FormToolkit;
37
import org.eclipse.ui.forms.widgets.Section;
38
import org.eclipse.ui.forms.widgets.TableWrapData;
39
import org.eclipse.ui.forms.widgets.TableWrapLayout;
40
import org.eclipse.ui.internal.forms.widgets.FormFonts;
41
import org.joda.time.Partial;
42
import org.springframework.security.core.GrantedAuthority;
43

  
44
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
45
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
46
import eu.etaxonomy.cdm.model.agent.Institution;
47
import eu.etaxonomy.cdm.model.agent.Person;
48
import eu.etaxonomy.cdm.model.agent.Team;
49
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
50
import eu.etaxonomy.cdm.model.common.Annotation;
51
import eu.etaxonomy.cdm.model.common.AnnotationType;
52
import eu.etaxonomy.cdm.model.common.Credit;
53
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
54
import eu.etaxonomy.cdm.model.common.DescriptionElementSource;
55
import eu.etaxonomy.cdm.model.common.Extension;
56
import eu.etaxonomy.cdm.model.common.ExtensionType;
57
import eu.etaxonomy.cdm.model.common.Group;
58
import eu.etaxonomy.cdm.model.common.IAnnotatableEntity;
59
import eu.etaxonomy.cdm.model.common.ICdmBase;
60
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
61
import eu.etaxonomy.cdm.model.common.Language;
62
import eu.etaxonomy.cdm.model.common.LanguageString;
63
import eu.etaxonomy.cdm.model.common.Marker;
64
import eu.etaxonomy.cdm.model.common.MarkerType;
65
import eu.etaxonomy.cdm.model.common.TimePeriod;
66
import eu.etaxonomy.cdm.model.common.User;
67
import eu.etaxonomy.cdm.model.common.VersionableEntity;
68
import eu.etaxonomy.cdm.model.description.CategoricalData;
69
import eu.etaxonomy.cdm.model.description.CommonTaxonName;
70
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
71
import eu.etaxonomy.cdm.model.description.Distribution;
72
import eu.etaxonomy.cdm.model.description.Feature;
73
import eu.etaxonomy.cdm.model.description.FeatureTree;
74
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
75
import eu.etaxonomy.cdm.model.description.KeyStatement;
76
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
77
import eu.etaxonomy.cdm.model.description.Modifier;
78
import eu.etaxonomy.cdm.model.description.PolytomousKey;
79
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
80
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
81
import eu.etaxonomy.cdm.model.description.QuantitativeData;
82
import eu.etaxonomy.cdm.model.description.Scope;
83
import eu.etaxonomy.cdm.model.description.Sex;
84
import eu.etaxonomy.cdm.model.description.Stage;
85
import eu.etaxonomy.cdm.model.description.State;
86
import eu.etaxonomy.cdm.model.description.StateData;
87
import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
88
import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue;
89
import eu.etaxonomy.cdm.model.description.TaxonInteraction;
90
import eu.etaxonomy.cdm.model.description.TextData;
91
import eu.etaxonomy.cdm.model.location.NamedArea;
92
import eu.etaxonomy.cdm.model.location.NamedAreaType;
93
import eu.etaxonomy.cdm.model.location.Point;
94
import eu.etaxonomy.cdm.model.location.ReferenceSystem;
95
import eu.etaxonomy.cdm.model.media.ImageFile;
96
import eu.etaxonomy.cdm.model.media.Media;
97
import eu.etaxonomy.cdm.model.media.MediaRepresentation;
98
import eu.etaxonomy.cdm.model.media.Rights;
99
import eu.etaxonomy.cdm.model.media.RightsTerm;
100
import eu.etaxonomy.cdm.model.name.NameRelationship;
101
import eu.etaxonomy.cdm.model.name.NameRelationshipType;
102
import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
103
import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
104
import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
105
import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
106
import eu.etaxonomy.cdm.model.name.Rank;
107
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
108
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
109
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
110
import eu.etaxonomy.cdm.model.occurrence.Collection;
111
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
112
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
113
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
114
import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;
115
import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
116
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
117
import eu.etaxonomy.cdm.model.occurrence.Specimen;
118
import eu.etaxonomy.cdm.model.reference.Reference;
119
import eu.etaxonomy.cdm.model.taxon.Classification;
120
import eu.etaxonomy.cdm.model.taxon.Synonym;
121
import eu.etaxonomy.cdm.model.taxon.Taxon;
122
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
123
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
124
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
125
import eu.etaxonomy.taxeditor.singlesource.ImplementationLoader;
126
import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
127
import eu.etaxonomy.taxeditor.store.StoreUtil;
128
import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
129
import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
130
import eu.etaxonomy.taxeditor.ui.forms.BrowserElement;
131
import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
132
import eu.etaxonomy.taxeditor.ui.forms.DateDetailSection;
133
import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
134
import eu.etaxonomy.taxeditor.ui.forms.IEntityElement;
135
import eu.etaxonomy.taxeditor.ui.forms.ISelectableElement;
136
import eu.etaxonomy.taxeditor.ui.forms.ImageElement;
137
import eu.etaxonomy.taxeditor.ui.forms.KeyStatementElement;
138
import eu.etaxonomy.taxeditor.ui.forms.KeyValueViewerElement;
139
import eu.etaxonomy.taxeditor.ui.forms.LabelElement;
140
import eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement;
141
import eu.etaxonomy.taxeditor.ui.forms.PartialElement;
142
import eu.etaxonomy.taxeditor.ui.forms.PointElement;
143
import eu.etaxonomy.taxeditor.ui.forms.SelectionArbitrator;
144
import eu.etaxonomy.taxeditor.ui.forms.TextActionElement;
145
import eu.etaxonomy.taxeditor.ui.forms.TimePeriodElement;
146
import eu.etaxonomy.taxeditor.ui.forms.ToggleableTextElement;
147
import eu.etaxonomy.taxeditor.ui.forms.password.EditPasswordElement;
148
import eu.etaxonomy.taxeditor.ui.openurl.IOpenUrlEnabled;
149
import eu.etaxonomy.taxeditor.ui.openurl.OpenUrlSelectorElement;
150
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
151
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
152
import eu.etaxonomy.taxeditor.ui.section.EmptyElement;
153
import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionDetailElement;
154
import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionDetailSection;
155
import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailElement;
156
import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailSection;
157
import eu.etaxonomy.taxeditor.ui.section.agent.TeamDetailElement;
158
import eu.etaxonomy.taxeditor.ui.section.agent.TeamDetailSection;
159
import eu.etaxonomy.taxeditor.ui.section.agent.TeamMemberElement;
160
import eu.etaxonomy.taxeditor.ui.section.agent.TeamMemberSection;
161
import eu.etaxonomy.taxeditor.ui.section.agent.TeamOrPersonBaseDetailSection;
162
import eu.etaxonomy.taxeditor.ui.section.classification.ClassificationDetailElement;
163
import eu.etaxonomy.taxeditor.ui.section.classification.ClassificationDetailSection;
164
import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeDetailElement;
165
import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeDetailSection;
166
import eu.etaxonomy.taxeditor.ui.section.description.DerivedUnitElement;
167
import eu.etaxonomy.taxeditor.ui.section.description.DescribedSpecimenSection;
168
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionDetailElement;
169
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionDetailSection;
170
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementDetailElement;
171
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementDetailSection;
172
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementMediaSection;
173
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementSourceElement;
174
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementSourceSection;
175
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionSourceElement;
176
import eu.etaxonomy.taxeditor.ui.section.description.DescriptionSourceSection;
177
import eu.etaxonomy.taxeditor.ui.section.description.ModifierElement;
178
import eu.etaxonomy.taxeditor.ui.section.description.ModifierSection;
179
import eu.etaxonomy.taxeditor.ui.section.description.NaturalLanguageDetailElement;
180
import eu.etaxonomy.taxeditor.ui.section.description.NaturalLanguageSection;
181
import eu.etaxonomy.taxeditor.ui.section.description.ScopeElement;
182
import eu.etaxonomy.taxeditor.ui.section.description.ScopeSection;
183
import eu.etaxonomy.taxeditor.ui.section.description.StateDataElement;
184
import eu.etaxonomy.taxeditor.ui.section.description.StateDataSection;
185
import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueElement;
186
import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueSection;
187
import eu.etaxonomy.taxeditor.ui.section.description.detail.AbstractDetailedDescriptionDetailElement;
188
import eu.etaxonomy.taxeditor.ui.section.description.detail.CategoricalDataDetailElement;
189
import eu.etaxonomy.taxeditor.ui.section.description.detail.CommonNameDetailElement;
190
import eu.etaxonomy.taxeditor.ui.section.description.detail.DistributionDetailElement;
191
import eu.etaxonomy.taxeditor.ui.section.description.detail.IndividualsAssociationDetailElement;
192
import eu.etaxonomy.taxeditor.ui.section.description.detail.QuantitativeDataDetailElement;
193
import eu.etaxonomy.taxeditor.ui.section.description.detail.TaxonInteractionDetailElement;
194
import eu.etaxonomy.taxeditor.ui.section.description.detail.TextDataDetailElement;
195
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailElement;
196
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailSection;
197
import eu.etaxonomy.taxeditor.ui.section.group.GrantedAuthorityDetailElement;
198
import eu.etaxonomy.taxeditor.ui.section.group.GrantedAuthorityDetailSection;
199
import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailElement;
200
import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailSection;
201
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailElement;
202
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection;
203
import eu.etaxonomy.taxeditor.ui.section.key.GeographicalScopeDetailSection;
204
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailElement;
205
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection;
206
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailElement;
207
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailSection;
208
import eu.etaxonomy.taxeditor.ui.section.key.ScopeRestrictionSection;
209
import eu.etaxonomy.taxeditor.ui.section.key.TaxonomicScopeSection;
210
import eu.etaxonomy.taxeditor.ui.section.media.ImageFileElement;
211
import eu.etaxonomy.taxeditor.ui.section.media.MediaElement;
212
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationElement;
213
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationPartSection;
214
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationSection;
215
import eu.etaxonomy.taxeditor.ui.section.media.MediaSection;
216
import eu.etaxonomy.taxeditor.ui.section.name.AuthorshipDetailElement;
217
import eu.etaxonomy.taxeditor.ui.section.name.AuthorshipDetailSection;
218
import eu.etaxonomy.taxeditor.ui.section.name.HybridDetailElement;
219
import eu.etaxonomy.taxeditor.ui.section.name.HybridDetailSection;
220
import eu.etaxonomy.taxeditor.ui.section.name.NameDetailElement;
221
import eu.etaxonomy.taxeditor.ui.section.name.NameDetailSection;
222
import eu.etaxonomy.taxeditor.ui.section.name.NameRelationshipDetailElement;
223
import eu.etaxonomy.taxeditor.ui.section.name.NameRelationshipDetailSection;
224
import eu.etaxonomy.taxeditor.ui.section.name.NameTypeDesignationElement;
225
import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusElement;
226
import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusSection;
227
import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailElement;
228
import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection;
229
import eu.etaxonomy.taxeditor.ui.section.name.ProtologueElement;
230
import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection;
231
import eu.etaxonomy.taxeditor.ui.section.name.SpecimenTypeDesignationElement;
232
import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection;
233
import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectingAreasDetailSection;
234
import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionDetailElement;
235
import eu.etaxonomy.taxeditor.ui.section.occurrence.CurrentDeterminationDetailSection;
236
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailElement;
237
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailSection;
238
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailElement;
239
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailSection;
240
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailElement;
241
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailSection;
242
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationEventDetailElement;
243
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationHistoryDetailSection;
244
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailElement;
245
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailSection;
246
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailElement;
247
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailSection;
248
import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralDetailElement;
249
import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralDetailSection;
250
import eu.etaxonomy.taxeditor.ui.section.occurrence.NamedAreaDetailElement;
251
import eu.etaxonomy.taxeditor.ui.section.occurrence.SourceCollectionDetailSection;
252
import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailElement;
253
import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailSection;
254
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailElement;
255
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;
256
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailElement;
257
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;
258
import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationElement;
259
import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationSection;
260
import eu.etaxonomy.taxeditor.ui.section.supplemental.CreditElement;
261
import eu.etaxonomy.taxeditor.ui.section.supplemental.CreditSection;
262
import eu.etaxonomy.taxeditor.ui.section.supplemental.ExtensionElement;
263
import eu.etaxonomy.taxeditor.ui.section.supplemental.ExtensionSection;
264
import eu.etaxonomy.taxeditor.ui.section.supplemental.HeadlineSection;
265
import eu.etaxonomy.taxeditor.ui.section.supplemental.IdentifiableSourceElement;
266
import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerElement;
267
import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerSection;
268
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsElement;
269
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsSection;
270
import eu.etaxonomy.taxeditor.ui.section.supplemental.SourceSection;
271
import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionElement;
272
import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionSection;
273
import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessageElement;
274
import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection;
275
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailElement;
276
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailSection;
277
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonDetailElement;
278
import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailElement;
279
import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection;
280
import eu.etaxonomy.taxeditor.ui.section.user.UserDetailElement;
281
import eu.etaxonomy.taxeditor.ui.section.user.UserDetailSection;
282
import eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement;
283
import eu.etaxonomy.taxeditor.ui.selection.AgentSelectionElement;
284
import eu.etaxonomy.taxeditor.ui.selection.ClassificationSelectionElement;
285
import eu.etaxonomy.taxeditor.ui.selection.CollectionSelectionElement;
286
import eu.etaxonomy.taxeditor.ui.selection.DerivedUnitBaseSelectionElement;
287
import eu.etaxonomy.taxeditor.ui.selection.FeatureSelectionElement;
288
import eu.etaxonomy.taxeditor.ui.selection.FeatureTreeSelectionElement;
289
import eu.etaxonomy.taxeditor.ui.selection.FieldObservationSelectionElement;
290
import eu.etaxonomy.taxeditor.ui.selection.GroupSelectionElement;
291
import eu.etaxonomy.taxeditor.ui.selection.InstitutionSelectionElement;
292
import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement;
293
import eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement;
294
import eu.etaxonomy.taxeditor.ui.selection.NomenclaturalAuthorTeamSelectionElement;
295
import eu.etaxonomy.taxeditor.ui.selection.PersonSelectionElement;
296
import eu.etaxonomy.taxeditor.ui.selection.PolytomousKeyNodeSelectionElement;
297
import eu.etaxonomy.taxeditor.ui.selection.PolytomousKeySelectionElement;
298
import eu.etaxonomy.taxeditor.ui.selection.ReferenceSelectionElement;
299
import eu.etaxonomy.taxeditor.ui.selection.SynonymSelectionElement;
300
import eu.etaxonomy.taxeditor.ui.selection.TaxonBaseSelectionElement;
301
import eu.etaxonomy.taxeditor.ui.selection.TaxonNodeSelectionElement;
302
import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement;
303
import eu.etaxonomy.taxeditor.ui.selection.TeamSelectionElement;
304
import eu.etaxonomy.taxeditor.ui.selection.UserSelectionElement;
305
import eu.etaxonomy.taxeditor.ui.term.AbstractEnumComboElement;
306
import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement;
307
import eu.etaxonomy.taxeditor.ui.term.AnnotationTypeComboElement;
308
import eu.etaxonomy.taxeditor.ui.term.DeterminationModifierComboElement;
309
import eu.etaxonomy.taxeditor.ui.term.EmptyComboElement;
310
import eu.etaxonomy.taxeditor.ui.term.ExtensionTypeComboElement;
311
import eu.etaxonomy.taxeditor.ui.term.LanguageComboElement;
312
import eu.etaxonomy.taxeditor.ui.term.MarkerTypeComboElement;
313
import eu.etaxonomy.taxeditor.ui.term.MeasurementUnitComboElement;
314
import eu.etaxonomy.taxeditor.ui.term.ModifierComboElement;
315
import eu.etaxonomy.taxeditor.ui.term.NameRelationshipTypeComboElement;
316
import eu.etaxonomy.taxeditor.ui.term.NameTypeDesignationStatusComboElement;
317
import eu.etaxonomy.taxeditor.ui.term.NamedAreaTypeComboElement;
318
import eu.etaxonomy.taxeditor.ui.term.NomenclaturalCodeComboElement;
319
import eu.etaxonomy.taxeditor.ui.term.NomenclaturalStatusTypeComboElement;
320
import eu.etaxonomy.taxeditor.ui.term.PresenceAbsenceTermComboElement;
321
import eu.etaxonomy.taxeditor.ui.term.PreservationMethodComboElement;
322
import eu.etaxonomy.taxeditor.ui.term.RankComboElement;
323
import eu.etaxonomy.taxeditor.ui.term.ReferenceSystemComboElement;
324
import eu.etaxonomy.taxeditor.ui.term.ReferenceTypeComboElement;
325
import eu.etaxonomy.taxeditor.ui.term.RightsTypeComboElement;
326
import eu.etaxonomy.taxeditor.ui.term.ScopeComboElement;
327
import eu.etaxonomy.taxeditor.ui.term.SexComboElement;
328
import eu.etaxonomy.taxeditor.ui.term.SpecimenTypeDesignationStatusComboElement;
329
import eu.etaxonomy.taxeditor.ui.term.StageComboElement;
330
import eu.etaxonomy.taxeditor.ui.term.StateComboElement;
331
import eu.etaxonomy.taxeditor.ui.term.StatisticalMeasureComboElement;
332

  
333
/**
334
 * <p>
335
 * CdmFormFactory class.
336
 * </p>
337
 * 
338
 * @author n.hoffmann
339
 * @created Feb 24, 2010
340
 * @version 1.0
341
 */
342
public abstract class CdmFormFactoryFacade extends FormToolkit {
343
	private static final Logger logger = Logger.getLogger(CdmFormFactoryFacade.class);
344
	
345
	private static CdmFormFactoryFacade IMPL;
346
	static{
347
		IMPL = (CdmFormFactoryFacade) ImplementationLoader.newInstance(CdmFormFactoryFacade.class);
348
	}
349

  
350
	private BoldFontHolder2 boldFontHolder2;
351
	private MouseListener selectionMouseHandler;
352
	private FocusListener selectionFocusHandler;
353

  
354
	private final Set selectionListenerList = new HashSet();
355

  
356
	private final List<IPropertyChangeListener> propertyChangeListeners = new ArrayList<IPropertyChangeListener>();
357

  
358
	private final int orientation = Window.getDefaultOrientation();
359
	private ISelectionProvider selectionProvider;
360

  
361
	/**
362
	 * <p>
363
	 * LAYOUT
364
	 * </p>
365
	 * 
366
	 * @return a {@link org.eclipse.ui.forms.widgets.TableWrapLayout} object.
367
	 */
368
	public static final TableWrapLayout LAYOUT() {
369
		return LAYOUT(1, false);
370
	}
371

  
372
	/**
373
	 * <p>
374
	 * LAYOUT
375
	 * </p>
376
	 * 
377
	 * @param columns
378
	 *            a int.
379
	 * @param equalWidth
380
	 *            a boolean.
381
	 * @return a {@link org.eclipse.ui.forms.widgets.TableWrapLayout} object.
382
	 */
383
	public static final TableWrapLayout LAYOUT(int columns, boolean equalWidth) {
384
		TableWrapLayout layout = new TableWrapLayout();
385
		layout.topMargin = 0;
386
		layout.rightMargin = 0;
387
		layout.bottomMargin = 0;
388
		layout.leftMargin = 0;
389
		layout.numColumns = columns;
390
		layout.makeColumnsEqualWidth = equalWidth;
391
		layout.verticalSpacing = 0;
392
		layout.horizontalSpacing = 0;
393
		return layout;
394
	}
395

  
396
	/**
397
	 * <p>
398
	 * FILL
399
	 * </p>
400
	 * 
401
	 * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
402
	 */
403
	public static final TableWrapData FILL() {
404
		return FILL(1, 1);
405
	}
406

  
407
	/**
408
	 * <p>
409
	 * FILL
410
	 * </p>
411
	 * 
412
	 * @param horizontalSpan
413
	 *            a int.
414
	 * @param verticalSpan
415
	 *            a int.
416
	 * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
417
	 */
418
	public static final TableWrapData FILL(int horizontalSpan, int verticalSpan) {
419
		TableWrapData layoutData = new TableWrapData(TableWrapData.FILL_GRAB,
420
				TableWrapData.FILL_GRAB);
421
		layoutData.colspan = horizontalSpan;
422
		layoutData.rowspan = verticalSpan;
423
		return layoutData;
424
	}
425

  
426
	/**
427
	 * <p>
428
	 * LEFT
429
	 * </p>
430
	 * 
431
	 * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
432
	 */
433
	public static final TableWrapData LEFT() {
434
		return new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP);
435
	}
436

  
437
	/**
438
	 * <p>
439
	 * RIGHT
440
	 * </p>
441
	 * 
442
	 * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
443
	 */
444
	public static final TableWrapData RIGHT() {
445
		return new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP);
446
	}
447

  
448
	/**
449
	 * <p>
450
	 * FILL_HORIZONTALLY
451
	 * </p>
452
	 * 
453
	 * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
454
	 */
455
	public static final TableWrapData FILL_HORIZONTALLY() {
456
		return FILL_HORIZONTALLY(1, 1);
457
	}
458

  
459
	/**
460
	 * <p>
461
	 * FILL_HORIZONTALLY
462
	 * </p>
463
	 * 
464
	 * @param horizontalSpan
465
	 *            a int.
466
	 * @param verticalSpan
467
	 *            a int.
468
	 * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
469
	 */
470
	public static final TableWrapData FILL_HORIZONTALLY(int horizontalSpan,
471
			int verticalSpan) {
472
		TableWrapData layoutData = new TableWrapData(TableWrapData.FILL_GRAB,
473
				TableWrapData.TOP);
474
		layoutData.colspan = horizontalSpan;
475
		layoutData.rowspan = verticalSpan;
476
		return layoutData;
477
	}
478

  
479
	/** Constant <code>EMPTY_SELECTION</code> */
480
	public static ISelection EMPTY_SELECTION = new ISelection() {
481
		@Override
482
		public boolean isEmpty() {
483
			return true;
484
		}
485
	};
486

  
487
	private class SelectionMouseHandler extends MouseAdapter {
488
		@Override
489
		public void mouseDown(MouseEvent e) {
490
			notifySelectionListeners(e);
491
		}
492
	}
493

  
494
	private class SelectionFocusHandler extends FocusAdapter {
495
		@Override
496
		public void focusGained(FocusEvent e) {
497
			notifySelectionListeners(e);
498
		}
499
	}
500

  
501
	private void notifySelectionListeners(TypedEvent e) {
502
		Event event = new Event();
503
		event.widget = e.widget;
504
		SelectionEvent selectionEvent = new SelectionEvent(event);
505

  
506
		for (Object listener : selectionListenerList) {
507
			((SelectionListener) listener).widgetSelected(selectionEvent);
508
		}
509
	}
510

  
511
	protected CdmFormFactoryFacade(){
512
		super(DisplayProxy.getDefault());
513
	}
514

  
515

  
516
	/**
517
	 * <p>
518
	 * Constructor for CdmFormFactory.
519
	 * </p>
520
	 * 
521
	 * @param display
522
	 *            a {@link org.eclipse.swt.widgets.Display} object.
523
	 * @param selectionProvider
524
	 *            a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
525
	 */
526
	protected CdmFormFactoryFacade(Display display, ISelectionProvider selectionProvider) {
527
		super(display);
528
		this.selectionProvider = selectionProvider;
529
		init();
530
	}
531

  
532
	public static CdmFormFactoryFacade getInstance(Display display, ISelectionProvider selectionProvider)
533
	{
534
		return (CdmFormFactoryFacade)IMPL.getInstanceInternal(display,selectionProvider);
535
	}
536
	
537
	protected abstract Object getInstanceInternal(Display display, ISelectionProvider selectionProvider);
538

  
539
	/**
540
	 * <p>
541
	 * Constructor for CdmFormFactory.
542
	 * </p>
543
	 * 
544
	 * @param display
545
	 *            a {@link org.eclipse.swt.widgets.Display} object.
546
	 */
547
	protected CdmFormFactoryFacade(Display display) {
548
		super(display);
549
		init();
550
	}
551

  
552
	public static CdmFormFactoryFacade getInstance(Display display)
553
	{
554
		return (CdmFormFactoryFacade)IMPL.getInstanceInternal(display);
555
	}
556

  
557
	protected abstract Object getInstanceInternal(Display display);
558

  
559
	/**
560
	 * 
561
	 */
562
	private void init() {
563
		boldFontHolder2 = new BoldFontHolder2();
564
		selectionMouseHandler = new SelectionMouseHandler();
565
		selectionFocusHandler = new SelectionFocusHandler();
566
	}
567

  
568
	/**
569
	 * Creates an instance initialized with the correct selectionProvider
570
	 * 
571
	 * Make sure to remove the instance when the entityComposite disposes via
572
	 * destroySelectionArbitrator(..)
573
	 * 
574
	 * @param entityElement
575
	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.IEntityElement}
576
	 *            object.
577
	 * @return a {@link eu.etaxonomy.taxeditor.ui.forms.SelectionArbitrator}
578
	 *         object.
579
	 */
580
	public SelectionArbitrator createSelectionArbitrator(
581
			IEntityElement entityElement) {
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff