Skip to main content

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

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.xsd.ui/src/org')
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDDataTypeValueExtension.java195
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDModelQueryContributor.java79
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDActionBarContributor.java183
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDContentOutlinePage.java375
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java1139
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorAdapter.java27
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorContextIds.java460
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorPlugin.java353
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java1975
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMultiPageEditorPart.java726
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDSelectionManager.java96
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java405
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDURIConverter.java87
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AbstractAction.java68
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddAttributeAction.java40
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddEnumsAction.java92
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddModelGroupAction.java57
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddSchemaNodeAction.java61
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/BackAction.java90
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAnnotationAction.java55
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAttributeAndRequired.java115
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java271
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateGroupAction.java76
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateIdentityConstraintsAction.java74
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalComplexTypeAction.java68
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalSimpleTypeAction.java85
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleContentAction.java162
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleTypeAction.java68
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DOMAttribute.java76
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DeleteAction.java237
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ISchemaEditorActionConstants.java20
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MakeAnonymousGlobal.java66
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ModelMessage.java36
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MoveAction.java182
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/OpenSchemaAction.java64
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ReloadDependenciesAction.java58
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetBaseTypeAction.java384
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/XSDEditNamespacesAction.java220
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AbstractCommand.java71
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java141
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddComplexTypeDefinitionCommand.java53
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddElementDeclarationCommand.java53
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddModelGroupCommand.java103
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddSimpleTypeDefinitionCommand.java56
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/BaseDragNodesCommand.java102
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/DragNodesCommand.java77
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/XSDDragAndDropManager.java61
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/editparts/AbstractComponentViewerRootEditPart.java63
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectedEditPartFigure.java138
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectionRenderingFigure.java215
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerFigure.java60
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerLayout.java218
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/FillLayout.java162
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedEditPartFigure.java30
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedFigure.java18
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectionRenderingViewer.java16
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IExpandable.java19
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/SpacingFigure.java27
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/BaseGraphicalViewer.java198
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/FigureCanvasKeyboardHandler.java125
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphContextMenuProvider.java57
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphicsConstants.java36
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/LinkedGraphViewer.java163
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/PrintGraphAction.java84
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDChildUtility.java285
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDComponentViewer.java105
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphUtil.java35
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphViewer.java577
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphicalViewerKeyHandler.java352
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDInheritanceViewer.java98
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupChildUtility.java46
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupsViewer.java99
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/BaseEditPart.java86
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/CategoryEditPart.java182
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeDefinitionEditPart.java210
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeInheritedContentEditPart.java145
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComponentViewerRootEditPart.java76
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ElementDeclarationEditPart.java419
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ExpandableGraphNodeEditPart.java189
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/GraphNodeEditPart.java144
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/IFeedbackHandler.java17
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/MessageEditPart.java38
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupDefinitionEditPart.java196
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupEditPart.java187
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RepeatableGraphNodeEditPart.java72
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootComplexTypeDefinitionEditPart.java121
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootModelGroupDefinitionEditPart.java105
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaDirectiveEditPart.java60
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaEditPart.java207
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SimpleTypeDefinitionEditPart.java72
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SubstitutionGroupViewerRootEditPart.java76
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TopLevelComponentEditPart.java272
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TypeEditPart.java72
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/WildcardEditPart.java85
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/XSDEditPartFactory.java102
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComboBoxCellEditorManager.java205
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComponentNameDirectEditManager.java83
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DirectEditPolicyDelegate.java18
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropCommand.java154
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropEditPolicy.java47
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/GraphNodeDragTracker.java34
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SelectionHandlesEditPolicyImpl.java257
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SimpleDirectEditPolicy.java58
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TextCellEditorManager.java74
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TypeReferenceDirectEditManager.java118
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/BogusLayout.java61
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenterLayout.java118
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenteredIconFigure.java39
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ConnectionFigure.java210
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerFigure.java71
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerLayout.java249
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ExpandableGraphNodeFigure.java133
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FillLayout.java161
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FloatableFigure.java29
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeContainerFigure.java29
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeFigure.java184
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/Interactor.java54
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/LabelFigure.java88
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/PostLayoutManager.java19
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RepeatableGraphNodeFigure.java85
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RoundedLineBorder.java67
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/Category.java266
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapter.java27
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapterListener.java18
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/XSDModelAdapterFactory.java511
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateDtd.gifbin605 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateJava.gifbin609 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GraphViewElementRef.gifbin860 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/NewXSD.gifbin3261 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/RegexWizardArrow.gifbin54 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/ValidateXSD.gifbin558 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAll.gifbin88 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnnotate.gifbin594 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAny.gifbin613 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnyAttribute.gifbin384 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAppInfo.gifbin121 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttribute.gifbin167 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroup.gifbin235 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroupRef.gifbin361 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeRef.gifbin350 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDChoice.gifbin145 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexContent.gifbin211 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexType.gifbin155 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDDoc.gifbin368 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElement.gifbin351 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElementRef.gifbin585 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDExtension.gifbin101 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDField.gifbin227 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDFile.gifbin361 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalAttribute.gifbin167 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalElement.gifbin351 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroup.gifbin205 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroupRef.gifbin347 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDImport.gifbin114 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDInclude.gifbin324 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKey.gifbin323 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKeyRef.gifbin558 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDNotation.gifbin177 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDRedefine.gifbin373 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSelector.gifbin136 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSequence.gifbin91 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleContent.gifbin210 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleEnum.gifbin105 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleList.gifbin347 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimplePattern.gifbin120 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleRestrict.gifbin141 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleType.gifbin150 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleUnion.gifbin138 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDUnique.gifbin210 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/back.gifbin873 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/browsebutton.gifbin825 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/forward.gifbin874 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/generate_xml.gifbin612 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/regx_wiz.gifbin3241 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/reloadgrammar.gifbin365 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/sort.gifbin159 -> 0 bytes
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/preferences/XSDPreferencePage.java256
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyAttributePropertySource.java173
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyContentPropertyDescriptor.java155
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyElementPropertySource.java228
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AppInfoPropertySource.java216
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributeGroupRefPropertySource.java172
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributePropertySource.java294
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributesTable.java331
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/BasePropertySource.java126
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ComplexTypePropertySource.java380
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DocumentationPropertySource.java243
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DynamicCellEditor.java1174
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ElementPropertySource.java546
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/EnumerationPropertySource.java131
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/FixedOrDefaultTextPropertyDescriptor.java307
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/GroupRefPropertySource.java229
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ImportPropertySource.java335
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/IncludePropertySource.java238
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/KeyrefPropertySource.java210
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ModelGroupPropertySource.java266
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NamePropertySource.java219
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NotationPropertySource.java186
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/OptionsTextCellEditor.java241
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/PatternPropertySource.java272
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ReadOnlyPropertySource.java76
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaDirectiveHelperPropertySource.java191
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaPropertySource.java530
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertyDescriptor.java209
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertySource.java230
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleRestrictPropertySource.java362
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeListPropertySource.java143
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypePropertySource.java183
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeUnionPropertySource.java494
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/TypesPropertyDescriptor.java1160
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XPathPropertySource.java150
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java304
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySheetPage.java119
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySourceProvider.java285
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSection.java495
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSectionDescriptor.java108
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSection.java595
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSectionDescriptor.java109
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewContentProvider.java289
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSection.java460
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSectionDescriptor.java101
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSection.java222
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSectionDescriptor.java82
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSection.java434
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSectionDescriptor.java87
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetViewer.java498
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSection.java802
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSectionDescriptor.java87
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSection.java286
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSectionDescriptor.java145
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSection.java144
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSectionDescriptor.java102
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSection.java444
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSectionDescriptor.java169
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationDescriptor.java87
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationSection.java345
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSection.java196
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSectionDescriptor.java84
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSection.java430
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSectionDescriptor.java86
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSection.java125
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSectionDescriptor.java145
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSection.java165
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSectionDescriptor.java85
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSection.java290
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSectionDescriptor.java174
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationDescriptor.java88
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationSection.java183
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentBaseTypeOptionsDialog.java158
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentUnionMemberTypesDialog.java314
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSection.java541
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSectionDescriptor.java91
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSection.java185
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSectionDescriptor.java87
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TextChangeHelper.java102
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesDialog.java726
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSection.java326
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSectionDescriptor.java134
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSection.java118
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSectionDescriptor.java82
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionDescriptorProvider.java57
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionLabelProvider.java169
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDTabbedPropertySheetPage.java140
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbook.java97
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbookPage.java51
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/CategoryAdapter.java168
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAbstractAdapter.java165
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAdapterFactoryLabelProvider.java160
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAnnotationAdapter.java83
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeDeclarationAdapter.java113
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeGroupDefinitionAdapter.java100
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeUseAdapter.java90
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDComplexTypeDefinitionAdapter.java182
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDContentProvider.java306
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDElementDeclarationAdapter.java193
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelAdapterFactoryImpl.java422
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupAdapter.java141
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupDefinitionAdapter.java96
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDNotationDeclarationAdapter.java44
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDParticleAdapter.java61
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaAdapter.java405
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaDirectiveAdapter.java102
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSimpleTypeDefinitionAdapter.java193
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDWildcardAdapter.java112
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/XSDVisitor.java217
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseCleanup.java107
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseGlobalCleanup.java29
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeCleanup.java106
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeGroupCleanup.java102
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalElementCleanup.java84
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalGroupCleanup.java84
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalSimpleOrComplexTypeCleanup.java141
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/XSDExternalFileCleanup.java299
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/BaseRenamer.java61
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeGroupRenamer.java57
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeRenamer.java66
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalElementRenamer.java41
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalGroupRenamer.java43
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalSimpleOrComplexTypeRenamer.java91
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/SchemaPrefixChangeHandler.java212
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/TargetNamespaceChangeHandler.java154
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/OpenOnSelectionHelper.java322
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/SelectionAdapter.java83
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/TypesHelper.java762
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/ViewUtility.java429
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDDOMHelper.java1103
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDSchemaHelper.java72
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/EnumerationsDialog.java106
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/SetBaseTypeDialog.java180
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/TypeSection.java340
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/XSDEditSchemaInfoDialog.java43
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/NewXSDWizard.java168
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexCompositionPage.java965
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexNode.java421
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexTestingPage.java161
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexWizard.java65
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDLocationChoicePage.java71
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDNewFilePage.java130
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDSelectIncludeFileWizard.java371
319 files changed, 0 insertions, 53074 deletions
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDDataTypeValueExtension.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDDataTypeValueExtension.java
deleted file mode 100644
index 323cb9480f..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDDataTypeValueExtension.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.modelquery.extension.DataTypeValueExtension;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
- /**
- * This class is used to extend the ModelQuery behaviour so that we can contribute our own
- * 'allowed values' for attributes or elements (e.g. the 'type' attribute).
- */
- public abstract class AbstractXSDDataTypeValueExtension implements DataTypeValueExtension
- {
- protected ModelQuery modelQuery;
-
- public int getType()
- {
- return DATA_TYPE_VALUE_EXTENSION;
- }
-
- public abstract String getId();
-
- public AbstractXSDDataTypeValueExtension(ModelQuery modelQuery)
- {
- this.modelQuery = modelQuery;
- if (modelQuery != null && modelQuery.getExtensionManager() != null)
- {
- modelQuery.getExtensionManager().addExtension(this);
- }
- }
-
- public void dispose()
- {
- if (modelQuery != null && modelQuery.getExtensionManager() != null)
- {
- modelQuery.getExtensionManager().removeExtension(this);
- }
- }
-
- protected abstract XSDSchema getEnclosingXSDSchema(Element element);
-
-
- protected TypesHelper createTypesHelper(XSDSchema schema)
- {
- return new TypesHelper(schema);
- }
-
- public java.util.List getDataTypeValues(Element element, CMNode cmNode)
- {
- java.util.List list = new Vector();
- if (cmNode.getNodeType() == CMNode.ATTRIBUTE_DECLARATION)
- {
- TypesHelper typesHelper = createTypesHelper(getEnclosingXSDSchema(element));
- String name = cmNode.getNodeName();
- String currentElementName = element.getLocalName();
- Node parentNode = element.getParentNode();
- String parentName = "";
- if (parentNode != null)
- {
- parentName = parentNode.getLocalName();
- }
-
- if (checkName(name, "type"))
- {
- if (checkName(currentElementName, "attribute"))
- {
- list = typesHelper.getBuiltInTypeNamesList();
- list.addAll(typesHelper.getUserSimpleTypeNamesList());
- }
- else if (checkName(currentElementName, "element"))
- {
- list = typesHelper.getBuiltInTypeNamesList2();
- list.addAll(typesHelper.getUserSimpleTypeNamesList());
- list.addAll(typesHelper.getUserComplexTypeNamesList());
- }
- }
- else if (checkName(name, "itemType"))
- {
- if (checkName(currentElementName, "list"))
- {
- if (checkName(parentName, "simpleType"))
- {
- list = typesHelper.getBuiltInTypeNamesList();
- list.addAll(typesHelper.getUserSimpleTypeNamesList());
- }
- }
- }
- else if (checkName(name, "memberTypes"))
- {
- if (checkName(currentElementName, "union"))
- {
- if (checkName(parentName, "simpleType"))
- {
- list = typesHelper.getBuiltInTypeNamesList();
- list.addAll(typesHelper.getUserSimpleTypeNamesList());
- }
- }
- }
- else if (checkName(name, "base"))
- {
- if (checkName(currentElementName, "restriction"))
- {
- if (checkName(parentName, "simpleType"))
- {
- list = typesHelper.getBuiltInTypeNamesList();
- list.addAll(typesHelper.getUserSimpleTypeNamesList());
- }
- else if (checkName(parentName, "simpleContent"))
- {
- list = typesHelper.getBuiltInTypeNamesList();
- list.addAll(typesHelper.getUserComplexTypeNamesList());
- }
- else if (checkName(parentName, "complexContent"))
- {
- list = typesHelper.getBuiltInTypeNamesList();
- list.addAll(typesHelper.getUserComplexTypeNamesList());
- }
- }
- else if (checkName(currentElementName, "extension"))
- {
- if (checkName(parentName, "simpleContent"))
- {
- list = typesHelper.getBuiltInTypeNamesList();
- list.addAll(typesHelper.getUserComplexTypeNamesList());
- }
- else if (checkName(parentName, "complexContent"))
- {
- list = typesHelper.getBuiltInTypeNamesList();
- list.addAll(typesHelper.getUserComplexTypeNamesList());
- }
- }
- }
- else if (checkName(name, "ref"))
- {
- if (checkName(currentElementName, "element"))
- {
- list = typesHelper.getGlobalElements();
- }
- else if (checkName(currentElementName, "attribute"))
- {
- list = typesHelper.getGlobalAttributes();
- }
- else if (checkName(currentElementName, "attributeGroup"))
- {
- list = typesHelper.getGlobalAttributeGroups();
- }
- else if (checkName(currentElementName, "group"))
- {
- list = typesHelper.getModelGroups();
- }
- }
- else if (checkName(name, "substitutionGroup"))
- {
- if (checkName(currentElementName, "element"))
- {
- list = typesHelper.getGlobalElements();
- }
- }
-/* else if (checkName(name, "refer"))
- {
- if (checkName(currentElementName, "keyref"))
- {
- list = typesHelper.getKeys();
- }
- } */
-
-
- }
- return list;
- }
-
- protected boolean checkName(String localName, String token)
- {
- if (localName != null && localName.trim().equals(token))
- {
- return true;
- }
- return false;
- }
- } \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDModelQueryContributor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDModelQueryContributor.java
deleted file mode 100644
index 717afe0c59..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDModelQueryContributor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-import java.net.URL;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Document;
-
-public abstract class AbstractXSDModelQueryContributor
-{
- protected AbstractXSDDataTypeValueExtension xsdDataTypeValueExtension;
-
- public void setModel(XMLModel model)
- {
- // remove our old DataTypeValueExtension
- //
- if (xsdDataTypeValueExtension != null)
- {
- xsdDataTypeValueExtension.dispose();
- xsdDataTypeValueExtension = null;
- }
-
- setImplicitGrammar(model.getDocument());
-
- // add a new DataTypeValueExtension
- //
- ModelQuery modelQuery = ModelQueryUtil.getModelQuery(model.getDocument());
- xsdDataTypeValueExtension = createXSDDataTypeValueExtension(modelQuery);
- }
-
- protected void setImplicitGrammar(Document document)
- {
-// DOMExtension domExtension = DOMExtensionProviderRegistry.getInstance().getDOMExtension(document);
-// if (domExtension != null)
-// {
- String uri = "platform:/plugin/org.eclipse.wst.xsd.ui/w3c/schemaForCodeAssist.xsd";
- uri = resolvePlatformUrl(uri);
- if (uri != null)
- {
- Vector list = new Vector();
- NamespaceInfo info = new NamespaceInfo("http://www.w3.org/2001/XMLSchema", "xsd", uri);
- info.setProperty("isImplied", "true");
- list.add(info);
-// domExtension.setImplictNamespaceInfoList(list);
- }
-// }
- }
-
- protected static String resolvePlatformUrl(String urlspec)
- {
- String result = null;
- try
- {
- urlspec = urlspec.replace('\\', '/');
- URL url = new URL(urlspec);
- URL resolvedURL = Platform.resolve(url);
- result = resolvedURL.toString();
- }
- catch (Exception e)
- {
- }
- return result;
- }
-
- public abstract AbstractXSDDataTypeValueExtension createXSDDataTypeValueExtension(ModelQuery modelQuery);
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDActionBarContributor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDActionBarContributor.java
deleted file mode 100644
index f66de6e8b2..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDActionBarContributor.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.RetargetAction;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.wst.xsd.ui.internal.actions.ISchemaEditorActionConstants;
-import org.eclipse.wst.xsd.ui.internal.actions.ReloadDependenciesAction;
-
-public class XSDActionBarContributor extends MultiPageEditorActionBarContributor
-{
- protected XSDEditor xsdEditor;
- protected XSDTextEditor textEditor;
-
- protected ReloadDependenciesAction reloadDependenciesAction;
-
- protected List fPartListeners= new ArrayList();
-
- protected RetargetAction retargetReloadDependenciesAction;
-
- /**
- * Constructor for XSDActionBarContributor.
- */
- public XSDActionBarContributor()
- {
- super();
-
- // Reload Dependencies
- reloadDependenciesAction = new ReloadDependenciesAction(XSDEditorPlugin.getXSDString("_UI_MENU_RELOAD_DEPENDENCIES"));
- retargetReloadDependenciesAction = new RetargetAction(ISchemaEditorActionConstants.RETARGET_RELOAD_DEPENDENCIES_ACTION_ID, XSDEditorPlugin.getXSDString("_UI_MENU_RELOAD_DEPENDENCIES"));
- retargetReloadDependenciesAction.setToolTipText(XSDEditorPlugin.getXSDString("_UI_MENU_RELOAD_DEPENDENCIES_TOOLTIP"));
- retargetReloadDependenciesAction.setImageDescriptor(
- ImageDescriptor.createFromFile(XSDEditorPlugin.getPlugin().getClass(), "icons/reloadgrammar.gif"));
- fPartListeners.add(retargetReloadDependenciesAction);
- }
-
- protected void updateActions()
- {
- if (xsdEditor != null && xsdEditor.getCurrentPageType().equals(XSDEditorPlugin.GRAPH_PAGE))
- {
- IAction deleteAction = xsdEditor.getGraphViewer().getComponentViewer().getMenuListener().getDeleteAction();
- getActionBars().setGlobalActionHandler(ActionFactory.DELETE.getId(), deleteAction);
-
- IAction printGraphAction = xsdEditor.getGraphViewer().getPrintGraphAction();
- getActionBars().setGlobalActionHandler(ActionFactory.PRINT.getId(), printGraphAction);
- }
- else
- {
- getActionBars().setGlobalActionHandler(ActionFactory.DELETE.getId(), null);
- // always enable print regardless of whether we are on source or design
- updateAction(ActionFactory.PRINT.getId(), ITextEditorActionConstants.PRINT, true);
- }
- }
-
- public void setActivePage(IEditorPart activeEditor)
- {
- updateActions();
- getActionBars().updateActionBars();
- }
-
- protected void updateAction(String globalActionId, String textEditorActionId, boolean enable)
- {
- getActionBars().setGlobalActionHandler(globalActionId,
- enable ? getAction(textEditor, textEditorActionId) :
- null);
- }
-
- /**
- * Returns the action registed with the given text editor.
- * @return IAction or null if editor is null.
- */
- protected IAction getAction(ITextEditor editor, String actionID)
- {
- try
- {
- return (editor == null ? null : editor.getAction(actionID));
- }
- catch (Exception e)
- {
- return null;
- }
- }
-
- private IMenuManager editMenu;
-
- public void addToMenu(IMenuManager menuManager)
- {
- editMenu = menuManager.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT);
-
- MenuManager treeMenu = new MenuManager(XSDEditorPlugin.getXSDString("_UI_MENU_XSD_EDITOR"));
- menuManager.insertAfter(IWorkbenchActionConstants.MB_ADDITIONS, treeMenu);
-
- treeMenu.add(new Separator("group1"));
-// Add retarget actions
-
- treeMenu.add(retargetReloadDependenciesAction);
-
- treeMenu.add(new Separator("group2"));
- }
-
-
-public void addToToolBar(IToolBarManager toolBarManager)
- {
- toolBarManager.add(new Separator("XMLSchema.2"));
-// Add retarget actions
- toolBarManager.add(retargetReloadDependenciesAction);
-
- toolBarManager.add(new Separator("XMLSchema.1"));
-
- toolBarManager.add(new Separator());
- }
-
- public void contributeToToolBar(IToolBarManager toolBarManager)
- {
- addToToolBar(toolBarManager);
- }
-
- public void contributeToMenu(IMenuManager menuManager)
- {
- addToMenu(menuManager);
- }
-
- /**
- * @see org.eclipse.ui.IEditorActionBarContributor#setActiveEditor(IEditorPart)
- */
- public void setActiveEditor(IEditorPart targetEditor)
- {
- super.setActiveEditor(targetEditor);
-
- if (targetEditor instanceof XSDEditor)
- {
- xsdEditor = (XSDEditor) targetEditor;
- reloadDependenciesAction.setEditor((XSDEditor)targetEditor);
-
- textEditor = ((XSDEditor)targetEditor).getXSDTextEditor();
- if (textEditor != null)
- {
- updateActions();
- getActionBars().updateActionBars();
- }
- }
- }
-
- public void init(IActionBars bars, IWorkbenchPage page)
- {
- Iterator e = fPartListeners.iterator();
- while (e.hasNext())
- {
- page.addPartListener((RetargetAction) e.next());
- }
-
- // register actions that have a dynamic editor.
-
- bars.setGlobalActionHandler(ISchemaEditorActionConstants.RETARGET_RELOAD_DEPENDENCIES_ACTION_ID, reloadDependenciesAction);
-
- super.init(bars, page);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDContentOutlinePage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDContentOutlinePage.java
deleted file mode 100644
index 9821602216..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDContentOutlinePage.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-import org.eclipse.wst.xsd.ui.internal.actions.OpenSchemaAction;
-import org.eclipse.wst.xsd.ui.internal.provider.CategoryAdapter;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.w3c.dom.Element;
-
-public class XSDContentOutlinePage extends ContentOutlinePage
-{
- protected XSDEditor xsdEditor;
- protected int level = 0;
- protected Object model;
- protected ITreeContentProvider contentProvider;
- protected ILabelProvider labelProvider;
- protected XSDSelectionManager selectionManager;
- protected SelectionManagerSelectionChangeListener selectionManagerSelectionChangeListener = new SelectionManagerSelectionChangeListener();
- protected TreeSelectionChangeListener treeSelectionChangeListener = new TreeSelectionChangeListener();
- XSDTextEditor xsdTextEditor;
-
- /**
- *
- */
- public XSDContentOutlinePage(XSDTextEditor xsdTextEditor)
- {
- super();
- this.xsdTextEditor = xsdTextEditor;
- }
-
- public void setModel(Object newModel)
- {
- model = newModel;
- }
-
- public void setContentProvider(ITreeContentProvider contentProvider)
- {
- this.contentProvider = contentProvider;
- }
-
- public void setLabelProvider(ILabelProvider labelProvider)
- {
- this.labelProvider = labelProvider;
- }
-
- // expose
- public TreeViewer getTreeViewer()
- {
- return super.getTreeViewer();
- }
-
- public void createControl(Composite parent)
- {
- super.createControl(parent);
- getTreeViewer().setContentProvider(contentProvider);
- getTreeViewer().setLabelProvider(labelProvider);
- getTreeViewer().setInput(model);
- getTreeViewer().addSelectionChangedListener(this);
- MenuManager menuManager = new MenuManager("#popup");//$NON-NLS-1$
- menuManager.setRemoveAllWhenShown(true);
- Menu menu = menuManager.createContextMenu(getTreeViewer().getControl());
- getTreeViewer().getControl().setMenu(menu);
- XSDMenuListener menuListener = new XSDMenuListener(xsdTextEditor.getXSDEditor().getSelectionManager());
- menuManager.addMenuListener(menuListener);
- setSelectionManager(xsdTextEditor.getXSDEditor().getSelectionManager());
- // cs... why are we doing this from the outline view?
- //
- //xsdTextEditor.getXSDEditor().getSelectionManager().setSelection(new
- // StructuredSelection(xsdTextEditor.getXSDSchema()));
- XSDKeyListener keyListener = new XSDKeyListener(getTreeViewer(), menuListener);
- getTreeViewer().getControl().addKeyListener(keyListener);
- // drill down from outline view
- getTreeViewer().getControl().addMouseListener(new MouseAdapter()
- {
- public void mouseDoubleClick(MouseEvent e)
- {
- ISelection iSelection = getTreeViewer().getSelection();
- if (iSelection instanceof StructuredSelection)
- {
- StructuredSelection selection = (StructuredSelection)iSelection;
- Object obj = selection.getFirstElement();
- if (obj instanceof XSDConcreteComponent)
- {
- XSDConcreteComponent comp = (XSDConcreteComponent)obj;
- if (comp.getContainer() instanceof XSDSchema)
- {
- xsdTextEditor.getXSDEditor().getGraphViewer().setInput(obj);
- }
- }
- }
-
- }
- });
- }
- class XSDKeyListener extends KeyAdapter
- {
- TreeViewer viewer;
- XSDMenuListener menuListener;
-
- public XSDKeyListener(TreeViewer viewer, XSDMenuListener menuListener)
- {
- super();
- this.viewer = viewer;
- this.menuListener = menuListener;
- }
-
- /**
- * @see org.eclipse.swt.events.KeyAdapter#keyReleased(KeyEvent)
- */
- public void keyReleased(KeyEvent e)
- {
- if (e.character == SWT.DEL)
- {
- menuListener.getDeleteAction().run();
- }
- else if (e.keyCode == SWT.F3) // open editor on any
- // include/import/redefine
- {
- if (e.widget instanceof Tree)
- {
- Tree tree = (Tree) e.widget;
- TreeItem[] selection = tree.getSelection();
- if (selection.length > 0)
- {
- if (selection[0].getData() instanceof XSDSchemaDirective)
- {
- XSDSchemaDirective comp = (XSDSchemaDirective) selection[0].getData();
- OpenSchemaAction openSchema = new OpenSchemaAction(XSDEditorPlugin.getXSDString("_UI_ACTION_OPEN_SCHEMA"), comp);
- openSchema.run();
- }
- }
- }
- }
- }
- }
-
- public void setExpandToLevel(int i)
- {
- level = i;
- }
-
- public void setInput(Object value)
- {
- getTreeViewer().setInput(value);
- getTreeViewer().expandToLevel(level);
- }
-
- // public ISelection getSelection()
- // {
- // if (getTreeViewer() == null)
- // return StructuredSelection.EMPTY;
- // return getTreeViewer().getSelection();
- // }
- public void setSelectionManager(XSDSelectionManager newSelectionManager)
- {
- TreeViewer treeViewer = getTreeViewer();
- // disconnect from old one
- if (selectionManager != null)
- {
- selectionManager.removeSelectionChangedListener(selectionManagerSelectionChangeListener);
- treeViewer.removeSelectionChangedListener(treeSelectionChangeListener);
- }
- selectionManager = newSelectionManager;
- // connect to new one
- if (selectionManager != null)
- {
- selectionManager.addSelectionChangedListener(selectionManagerSelectionChangeListener);
- treeViewer.addSelectionChangedListener(treeSelectionChangeListener);
- }
- }
- class SelectionManagerSelectionChangeListener implements ISelectionChangedListener
- {
- public void selectionChanged(SelectionChangedEvent event)
- {
- if (event.getSelectionProvider() != getTreeViewer())
- {
- getTreeViewer().setSelection(event.getSelection(), true);
- }
- }
- }
- class TreeSelectionChangeListener implements ISelectionChangedListener
- {
- public void selectionChanged(SelectionChangedEvent event)
- {
- if (selectionManager != null)
- {
- ISelection selection = event.getSelection();
- if (selection instanceof IStructuredSelection)
- {
- IStructuredSelection structuredSelection = (IStructuredSelection) selection;
- Object o = structuredSelection.getFirstElement();
- // TODO ...
- // we need to implement a selectionManagerMapping extension point
- // so that extensions can specify how they'd like to map view objects
- // to selection objects
- //
- if (o instanceof Element)
- {
- try
- {
- Object modelObject = xsdTextEditor.getXSDSchema().getCorrespondingComponent((Element) o);
- if (modelObject != null)
- {
- o = modelObject;
- }
- }
- catch (Exception e)
- {
- }
- }
- else if (o instanceof CategoryAdapter)
- {
- // todo... we need to ensure we eliminate the propagation
- // of 'view' specific objects into the SelectionManager.
- // We need to do some work to ensure all views utilize the 'Category' model object
- // so we can get rid of this CategoryAdapter class.
-// CategoryAdapter adapter = (CategoryAdapter) o;
-// o = adapter.getXSDSchema();
- }
- if (o != null)
- {
- selectionManager.setSelection(new StructuredSelection(o), getTreeViewer());
- }
- else
- {
- // selectionManager.setSelection(new StructuredSelection(),
- // getTreeViewer());
- }
- }
- }
- }
- }
- FilterAction referenceAction, inheritedAction;
-
- public void setActionBars(IActionBars actionBars)
- {
- super.setActionBars(actionBars);
- // Uncomment to add sort action
- // SortAction sortAction = new SortAction();
- //
- // actionBars.getToolBarManager().add(sortAction);
- // sortAction.setChecked(false);
- referenceAction = new FilterAction(new ReferenceFilter("Reference Content"), XSDEditorPlugin.getXSDString("_UI_OUTLINE_SHOW_REFERENCES"), ImageDescriptor.createFromFile(XSDEditorPlugin
- .getPlugin().getClass(), "icons/XSDElementRef.gif"));
- boolean initialRef = xsdTextEditor.getXSDModelAdapterFactory().getShowReferences();
- referenceAction.setChecked(initialRef);
- inheritedAction = new FilterAction(new ReferenceFilter("Inherited Content"), XSDEditorPlugin.getXSDString("_UI_OUTLINE_SHOW_INHERITED"), ImageDescriptor.createFromFile(XSDEditorPlugin.getPlugin()
- .getClass(), "icons/XSDComplexContent.gif"));
- boolean initialInherited = xsdTextEditor.getXSDModelAdapterFactory().getShowReferences();
- IMenuManager menu = actionBars.getMenuManager();
- menu.add(referenceAction);
- menu.add(inheritedAction);
- }
-
- private void updateActions(Action current)
- {
- if (referenceAction.isChecked())
- {
- xsdTextEditor.getXSDModelAdapterFactory().setShowReferences(true);
- }
- else
- {
- xsdTextEditor.getXSDModelAdapterFactory().setShowReferences(false);
- }
- if (inheritedAction.isChecked())
- {
- xsdTextEditor.getXSDModelAdapterFactory().setShowInherited(true);
- }
- else
- {
- xsdTextEditor.getXSDModelAdapterFactory().setShowInherited(false);
- }
- }
- private Sorter sorter = new Sorter();
- public class Sorter extends org.eclipse.jface.viewers.ViewerSorter
- {
- }
- public class SortAction extends Action
- {
- public SortAction()
- {
- super("Sort", ImageDescriptor.createFromFile(XSDEditorPlugin.getPlugin().getClass(), "icons/sort.gif"));
- }
-
- public void run()
- {
- getTreeViewer().getControl().setVisible(false);
- Object[] expandedElements = getTreeViewer().getExpandedElements();
- getTreeViewer().setSorter(isChecked() ? sorter : null);
- Object input = getTreeViewer().getInput();
- getTreeViewer().setInput(input);
- getTreeViewer().setExpandedElements(expandedElements);
- getTreeViewer().getControl().setVisible(true);
- }
-
- public void setChecked(boolean checked)
- {
- super.setChecked(checked);
- setToolTipText(checked ? XSDEditorPlugin.getXSDString("_UI_OUTLINE_DO_NOT_SORT") : XSDEditorPlugin.getXSDString("_UI_OUTLINE_SORT"));
- }
- }
- public class FilterAction extends Action
- {
- ViewerFilter filter;
-
- public FilterAction(ViewerFilter filter, String label, ImageDescriptor image)
- {
- super(label, image);
- this.filter = filter;
- setChecked(false);
- }
-
- public void run()
- {
- updateActions(this);
- if (isChecked())
- {
- getTreeViewer().resetFilters();
- getTreeViewer().addFilter(filter);
- }
- else
- {
- getTreeViewer().removeFilter(filter);
- }
- }
- }
- class ReferenceFilter extends ViewerFilter // Dummy filter
- {
- public ReferenceFilter(String elementTag)
- {
- this.elementTag = elementTag;
- }
- protected String elementTag;
-
- public boolean select(Viewer viewer, Object parentElement, Object element)
- {
- return true;
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java
deleted file mode 100644
index 6d2eeb189e..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java
+++ /dev/null
@@ -1,1139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-
-import java.util.ArrayList;
-import java.util.EventObject;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.command.BasicCommandStack;
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CommandStackListener;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.editors.text.JavaFileEditorInput;
-import org.eclipse.ui.views.properties.PropertySheet;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertySheetPageContributor;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.internal.document.XMLModelImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphViewer;
-import org.eclipse.wst.xsd.ui.internal.util.OpenOnSelectionHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDPackage;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.impl.XSDSchemaImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-
-// public class XSDEditor extends StructuredTextMultiPageEditorPart
-public class XSDEditor extends XSDMultiPageEditorPart implements ITabbedPropertySheetPageContributor
-{
- protected XSDTextEditor textEditor;
- IFile resourceFile;
- XSDSelectionManager xsdSelectionManager;
-
- private IStructuredModel result;
- private XMLModelImpl model;
-
- public XSDEditor()
- {
- super();
- xsdSelectionManager = new XSDSelectionManager();
- }
-
- InternalPartListener partListener = new InternalPartListener(this);
-
- // show outline view - defect 266116
- public void init(IEditorSite site, IEditorInput editorInput) throws PartInitException
- {
- super.init(site, editorInput);
-
- IWorkbenchWindow dw=PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- IWorkbenchPage page=dw.getActivePage();
- getSite().getPage().addPartListener(partListener);
- try
- {
- if (page != null)
- {
-// page.showView("org.eclipse.ui.views.ContentOutline");
- page.showView("org.eclipse.ui.views.PropertySheet");
- }
- } catch (PartInitException e)
- {
-// e.printStackTrace();
- }
- }
-
- // For team support
- // protected PropertyDirtyChangeListener propertyChangeListener;
-
- /**
- * Creates the pages of this multi-page editor.
- * <p>
- * Subclasses of <code>MultiPageEditor</code> must implement this method.
- * </p>
- */
- protected void createPages()
- {
- try
- {
- if (!loadFile())
- return;
-
- // source page MUST be created before design page, now
- createSourcePage();
-
- addSourcePage();
- buildXSDModel();
-
- // comment this line out to hide the graph page
- //
- createAndAddGraphPage();
-
- int pageIndexToShow = getDefaultPageTypeIndex();
- setActivePage(pageIndexToShow);
-
- addCommandStackListener();
-
- XSDEditorPlugin.getPlugin().getPreferenceStore().addPropertyChangeListener(preferenceStoreListener);
- }
- catch (PartInitException exception)
- {
- throw new SourceEditingRuntimeException(SSECorePlugin.getResourceString("An_error_has_occurred_when1_ERROR_")); //$NON-NLS-1$ = "An error has occurred when initializing the input for the the editor's source page."
- }
- }
-
- public String[] getPropertyCategories()
- {
- return new String[] { "general", "namespace", "other", "attributes", "documentation", "facets" }; //$NON-NLS-1$
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySheetPageContributor#getContributorId()
- */
- public String getContributorId()
- {
- return "org.eclipse.wst.xsd.ui.internal.XSDEditor";
- //return getSite().getId();
- }
-
- protected CommandStackListener commandStackListener;
- protected void addCommandStackListener()
- {
- if (commandStackListener == null)
- {
- IStructuredTextUndoManager undoManager = getModel().getUndoManager();
- commandStackListener = new CommandStackListener()
- {
- /**
- * @see org.eclipse.emf.common.command.CommandStackListener#commandStackChanged(EventObject)
- */
- public void commandStackChanged(EventObject event)
- {
- Object obj = event.getSource();
- if (obj instanceof BasicCommandStack)
- {
- BasicCommandStack stack = (BasicCommandStack) obj;
- Command recentCommand = stack.getMostRecentCommand();
- Command redoCommand = stack.getRedoCommand();
- Command undoCommand = stack.getUndoCommand();
- if (recentCommand == redoCommand)
- {
- // there must have been an undo reset info tasks
- resetInformationTasks();
- }
- }
- }
- };
-
-//TODO WTP Port undoManager.getCommandStack().addCommandStackListener(commandStackListener);
-
- }
- }
-
- protected void pageChange(int arg)
- {
- super.pageChange(arg);
- }
-
- protected void removeCommandStackListener()
- {
- if (commandStackListener != null)
- {
- IStructuredTextUndoManager undoManager = getModel().getUndoManager();
-//TODO WTP Port undoManager.getCommandStack().removeCommandStackListener(commandStackListener);
- }
- }
-
- // This is from the IValidateEditEditor interface
-/* public void undoChange()
- {
- StructuredTextUndoManager undoManager = textEditor.getModel().getUndoManager();
- undoManager.undo();
- // Make the editor clean
- textEditor.getModel().setDirtyState(false);
- } */
-
- private class PreferenceStoreListener implements IPropertyChangeListener
- {
- /**
- * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(PropertyChangeEvent)
- */
- public void propertyChange(PropertyChangeEvent event)
- {
- }
- }
-
- protected IPropertyChangeListener preferenceStoreListener = new PreferenceStoreListener();
-
- protected int getDefaultPageTypeIndex()
- {
- int pageIndex = sourcePageIndex;
-
- if (XSDEditorPlugin.getPlugin().getDefaultPage().equals(XSDEditorPlugin.GRAPH_PAGE))
- {
- if (graphPageIndex != -1)
- pageIndex = graphPageIndex;
- }
-
- return pageIndex;
- }
-
- int currentPage = -1;
- public String getCurrentPageType()
- {
- // should update pref. for valid pages
- if (getActivePage() != -1)
- {
- currentPage = getActivePage();
- }
- if (currentPage == graphPageIndex)
- {
- return XSDEditorPlugin.GRAPH_PAGE;
- }
- else
- {
- return XSDEditorPlugin.SOURCE_PAGE;
- }
- }
-
- public Object getActivePart()
- {
- return getSite().getWorkbenchWindow().getActivePage().getActivePart();
- }
-
- public void dispose()
- {
-// propertyChangeListener.dispose();
- removeCommandStackListener();
-
- XSDEditorPlugin.getPlugin().setDefaultPage(getCurrentPageType());
- XSDEditorPlugin.getPlugin().getPreferenceStore().removePropertyChangeListener(preferenceStoreListener);
-
- getSite().getPage().removePartListener(partListener);
-
- super.dispose();
- }
-
- protected boolean loadFile()
- {
- Object input = getEditorInput();
-
- if (input instanceof IFileEditorInput)
- {
- resourceFile = ((IFileEditorInput) input).getFile();
- }
- else if (input instanceof JavaFileEditorInput)
- {
- IPath path = ((JavaFileEditorInput)input).getPath(input);
- String ext = path.getFileExtension();
- if (ext != null && ext.equals("xsd"))
- {
- return true;
- }
- return false;
- }
- else
- {
-// XSDEditorPlugin.getPlugin().getMsgLogger().write("###Error...XSDEditor::createPages() .. Can't find input..Exiting..");
- return false;
- }
- return true;
- }
-
- /**
- * Method openOnGlobalReference.
- * The comp argument is a resolved xsd schema object from another file. This is created and called from another
- * schema model to allow F3 navigation to open a new editor and choose the referenced object within that editor context
- * @param comp
- */
- public void openOnGlobalReference(XSDConcreteComponent comp)
- {
- openOnSelectionHelper.openOnGlobalReference(comp);
- }
-
- protected OpenOnSelectionHelper openOnSelectionHelper;
-
- public OpenOnSelectionHelper getOpenOnSelectionHelper()
- {
- return openOnSelectionHelper;
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.XSDMultiPageEditorPart#createTextEditor()
- */
- protected StructuredTextEditor createTextEditor()
- {
- return new XSDTextEditor(this);
- }
-
- /*
- * @see StructuredTextMultiPageEditorPart#createSourcePage()
- */
- protected void createSourcePage() throws PartInitException
- {
- super.createSourcePage();
-
- textEditor = (XSDTextEditor) getTextEditor();
-
- openOnSelectionHelper = new OpenOnSelectionHelper(textEditor);
- }
-
- int sourcePageIndex = -1;
- /**
- * Adds the source page of the multi-page editor.
- */
- protected void addSourcePage() throws PartInitException {
-
- sourcePageIndex = addPage(textEditor, getEditorInput());
- setPageText(sourcePageIndex, XSDEditorPlugin.getXSDString("_UI_TAB_SOURCE"));
-
- // defect 223043 ... do textEditor.setModel() here instead of in createSourcePage()
- // the update's critical, to get viewer selection manager and highlighting to work
- IEditorInput editorInput = getEditorInput();
- if (editorInput instanceof IFileEditorInput)
- {
- textEditor.setModel((IFileEditorInput)getEditorInput());
- }
- else
- {
-// textEditor.setModel(editorInput);
- }
- textEditor.update();
- firePropertyChange(PROP_TITLE);
- }
-
- int graphPageIndex = -1;
- XSDGraphViewer graphViewer;
-
- /**
- * Creates the graph page and adds it to the multi-page editor.
- */
- protected void createAndAddGraphPage() throws PartInitException
- {
- graphViewer = new XSDGraphViewer(this);
- graphViewer.setSchema(xsdSchema);
- Control graphControl = graphViewer.createControl(getContainer());
- graphPageIndex = addPage(graphControl);
- setPageText(graphPageIndex, XSDEditorPlugin.getXSDString("_UI_TAB_GRAPH"));
-
- // graphViewer.setViewerSelectionManager(textEditor.getViewerSelectionManager());
- graphViewer.setSelectionManager(getSelectionManager());
-
- // this forces the editor to initially select the top level schema object
- //
- getSelectionManager().setSelection(new StructuredSelection(textEditor.getXSDSchema()));
- }
-
- /*
- * @see IAdaptable#getAdapter(Class)
- */
- public Object getAdapter(Class key)
- {
- Object result = null;
- if (key == ISelectionProvider.class)
- {
- result = xsdSelectionManager;
- }
- else
- {
- result = textEditor.getAdapter(key);
- }
- return result;
- }
-
- public XSDSelectionManager getSelectionManager()
- {
- return xsdSelectionManager;
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.XSDMultiPageEditorPart#doSaveAs()
- */
- public void doSaveAs()
- {
- super.doSaveAs();
- }
-
- public void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
- {
- super.doSave(monitor);
- }
-
- protected XSDSchema xsdSchema;
- protected ResourceSet resourceSet;
-
- public void reparseSchema()
- {
- Document document = ((XMLModel)getModel()).getDocument();
- createSchema(document.getDocumentElement());
- }
-
- public XSDSchema createSchema(Node node)
- {
- try
- {
- EPackage.Registry reg = EPackage.Registry.INSTANCE;
- XSDPackage xsdPackage = (XSDPackage)reg.getEPackage(XSDPackage.eNS_URI);
- xsdSchema = xsdPackage.getXSDFactory().createXSDSchema();
-
- // Force the loading of the "meta" schema for schema instance instance.
- //
- String schemaForSchemaNamespace = node.getNamespaceURI();
- XSDSchemaImpl.getSchemaForSchema(schemaForSchemaNamespace);
-
- resourceSet = XSDSchemaImpl.createResourceSet();
- resourceSet.setURIConverter(new XSDURIConverter(resourceFile));
-
- String pathName = "";
- // If the resource is in the workspace....
- // otherwise the user is trying to open an external file
- if (resourceFile != null)
- {
- pathName = resourceFile.getFullPath().toString();
- Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(pathName), true);
-// resource.getContents().add(xsdSchema);
- resourceSet.getResources().add(resource);
-
- Object obj = resource.getContents().get(0);
- if (obj instanceof XSDSchema)
- {
- xsdSchema = (XSDSchema)obj;
- }
-
-// URIConverter uriConverter = resourceSet.getURIConverter();
-// resourceSet.setURIConverter(new XSDURIConverter(resourceFile));
-
- xsdSchema.setElement((Element)node);
- resource.setModified(false);
- }
- else
- {
- xsdSchema.setElement((Element)node);
- }
- }
- catch (StackOverflowError e)
- {
-// XSDEditorPlugin.getPlugin().getMsgLogger().write("Stack overflow encountered. Possibly an invalid recursive circular schema");
- }
- catch (Exception ex)
- {
-// ex.printStackTrace();
- }
-
- return xsdSchema;
- }
-
- class XSDDocumentAdapter extends DocumentAdapter
- {
- INodeNotifier currentNotifier;
- int currentEventType;
-
- public XSDDocumentAdapter(Document document)
- {
- super(document);
- }
-
- boolean handlingNotifyChanged = false;
-
- public void notifyChanged(INodeNotifier notifier, int eventType, Object feature, Object oldValue, Object newValue, int index)
- {
- if (eventType == INodeNotifier.REMOVE) // don't handle remove events
- {
- return;
- }
-
- if (!handlingNotifyChanged)
- {
- handlingNotifyChanged = true;
- try
- {
- // delay handle events only in the source view
- if (getCurrentPageType() == XSDEditorPlugin.SOURCE_PAGE &&
- !(getActivePart() instanceof PropertySheet) &&
- !(getActivePart() instanceof org.eclipse.ui.views.contentoutline.ContentOutline)) {
- startDelayedEvent(notifier, eventType, feature, oldValue, newValue, index);
- //handleNotifyChange(notifier, eventType, feature, oldValue, newValue, index);
- }
- else // all other views, just handle the events right away
- {
- handleNotifyChange(notifier, eventType, feature, oldValue, newValue, index);
- }
- }
- catch (Exception e)
- {
-// XSDEditorPlugin.getPlugin().getMsgLogger().write(e);
- }
- handlingNotifyChanged = false;
- }
- }
-
- public void handleNotifyChange(INodeNotifier notifier, int eventType, Object feature, Object oldValue, Object newValue, int index)
- {
-// System.out.println(eventType + " : HandleNotifyChange " + notifier.hashCode() + " notifier " + notifier);
- switch (eventType)
- {
- case INodeNotifier.ADD:
- {
- if (newValue instanceof Element)
- {
- adapt((Element)newValue);
-// Add updateParentForDerivation(node, listener);
- }
- break;
- }
- case INodeNotifier.CHANGE:
- {
- Node node = (Node)notifier;
- XSDConcreteComponent listener = xsdSchema.getCorrespondingComponent(node);
- listener.elementAttributesChanged((Element)node);
- listener.elementChanged((Element)node);
- break;
- }
- case INodeNotifier.STRUCTURE_CHANGED:
- case INodeNotifier.CONTENT_CHANGED:
- {
- Node node = (Node)notifier;
- XSDConcreteComponent listener = xsdSchema.getCorrespondingComponent(node);
- if (node.getNodeType() == Node.ELEMENT_NODE)
- {
- listener.elementContentsChanged((Element)node);
- break;
- }
- else if (node.getNodeType() == Node.DOCUMENT_NODE)
- {
- Element docElement = ((Document)node).getDocumentElement();
- // Need to add check if doc element is being edited in the source
- if (docElement != null)
- {
- String prefix = docElement.getPrefix();
- String xmlnsString = prefix == null? "xmlns" : "xmlns:" + prefix;
- Attr attr = docElement.getAttributeNode(xmlnsString);
- boolean doParse = false;
- if (attr != null)
- {
- if (attr.getValue().equals("http://www.w3.org/2001/XMLSchema") && docElement.getLocalName().equals("schema"))
- {
- // We have a viable schema so parse it
- doParse = true;
- }
- }
-
- if (doParse)
- {
- adapt(docElement);
- xsdSchema.setElement(docElement);
- }
- }
- }
- break;
- }
- }
- }
-
- protected DelayedEvent delayedTask;
- protected void startDelayedEvent(INodeNotifier notifier, int eventType, Object feature, Object oldValue, Object newValue, int index)
- {
-// System.out.println("start delayed event");
- // check if there is already a delayed task for the same notifier and eventType
-// if (delayedTask != null)
-// {
-// Notifier aNotifier = delayedTask.getNotifier();
-// int anEventType = delayedTask.getEventType();
-// if (notifier == aNotifier && anEventType == eventType)
-// {
-// // same event, just different data, delay new event
-// delayedTask.setCancel(true);
-// }
-// }
-
- delayedTask = new DelayedEvent();
-
- delayedTask.setNotifier(notifier);
- delayedTask.setEventType(eventType);
- delayedTask.setFeature(feature);
- delayedTask.setOldValue(oldValue);
- delayedTask.setNewValue(newValue);
- delayedTask.setIndex(index);
-
- Display.getDefault().timerExec(400,delayedTask);
- }
-
- class DelayedEvent implements Runnable
- {
- INodeNotifier notifier;
- int eventType;
- Object feature;
- Object oldValue;
- Object newValue;
- int index;
- boolean cancelEvent = false;
-
- /*
- * @see Runnable#run()
- */
- public void run()
- {
- if (!cancelEvent)
- {
- handleNotifyChange(notifier, eventType, feature, oldValue, newValue, index);
- if (delayedTask == this)
- {
- delayedTask = null;
- }
- }
- }
-
- public void setCancel(boolean flag)
- {
- cancelEvent = flag;
- }
-
- public void setNotifier(INodeNotifier notifier)
- {
- this.notifier = notifier;
- }
-
- public void setEventType(int eventType)
- {
- this.eventType = eventType;
- }
-
- public void setFeature(Object feature)
- {
- this.feature = feature;
- }
-
- public void setOldValue(Object oldValue)
- {
- this.oldValue = oldValue;
- }
-
- public void setNewValue(Object newValue)
- {
- this.newValue = newValue;
- }
-
- public void setIndex(int index)
- {
- this.index = index;
- }
-
- public INodeNotifier getNotifier()
- {
- return notifier;
- }
-
- public int getEventType()
- {
- return eventType;
- }
-
- public Object getNewValue()
- {
- return newValue;
- }
-
- public Object getOldValue()
- {
- return oldValue;
- }
-
- }
- }
-
- abstract class DocumentAdapter implements INodeAdapter
- {
- public DocumentAdapter(Document document)
- {
- ((INodeNotifier)document).addAdapter(this);
- adapt(document.getDocumentElement());
- }
-
- public void adapt(Element element)
- {
- if (((INodeNotifier)element).getExistingAdapter(this) == null)
- {
-
- ((INodeNotifier)element).addAdapter(this);
-
- for (Node child = element.getFirstChild(); child != null; child = child.getNextSibling())
- {
- if (child.getNodeType() == Node.ELEMENT_NODE)
- {
- adapt((Element)child);
- }
- }
- }
- }
-
- public boolean isAdapterForType(Object type)
- {
- return type == this;
- }
-
- abstract public void notifyChanged
- (INodeNotifier notifier, int eventType, Object feature, Object oldValue, Object newValue, int index);
- }
-
-
- /**
- * Method createDefaultSchemaNode. Should only be called to insert a schema node into an empty document
- */
- public void createDefaultSchemaNode()
- {
- Document document = ((XMLModel)getModel()).getDocument();
- if (document.getChildNodes().getLength() == 0)
- {
- // if it is a completely empty file, then add the encoding and version processing instruction
-//TODO String encoding = EncodingHelper.getDefaultEncodingTag();
- String encoding = "UTF-8";
- ProcessingInstruction instr = document.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"" + encoding + "\"");
- document.appendChild(instr);
- }
-
- // Create a default schema tag now
-
- // String defaultPrefixForTargetNamespace = getFileResource().getProjectRelativePath().removeFileExtension().lastSegment();
- String defaultPrefixForTargetNamespace = "tns";
- String prefixForSchemaNamespace = "";
- String schemaNamespaceAttribute = "xmlns";
- if (XSDEditorPlugin.getPlugin().isQualifyXMLSchemaLanguage())
- {
- // Added this if check before disallowing blank prefixes in the preferences...
- // Can take this out. See also NewXSDWizard
- if (XSDEditorPlugin.getPlugin().getXMLSchemaPrefix().trim().length() > 0)
- {
- prefixForSchemaNamespace = XSDEditorPlugin.getPlugin().getXMLSchemaPrefix() + ":";
- schemaNamespaceAttribute += ":" + XSDEditorPlugin.getPlugin().getXMLSchemaPrefix();
- }
- }
-
- document.appendChild(document.createTextNode("\n"));
- Element element = document.createElement(prefixForSchemaNamespace + XSDConstants.SCHEMA_ELEMENT_TAG);
-
- element.setAttribute(schemaNamespaceAttribute,"http://www.w3.org/2001/XMLSchema");
-
- String defaultTargetURI = XSDEditorPlugin.getPlugin().getXMLSchemaTargetNamespace();
- element.setAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE, defaultTargetURI);
- element.setAttribute("xmlns:" + defaultPrefixForTargetNamespace, defaultTargetURI);
-
- document.appendChild(element);
- }
-
- public void buildXSDModel()
- {
- try
- {
- Document document = ((XMLModel)getModel()).getDocument();
- if (document.getChildNodes().getLength() == 0)
- {
- // this is an empty document. Create a default schema tag now
- createDefaultSchemaNode();
- }
-
- createSchema(document.getDocumentElement());
-
- XSDDocumentAdapter documentAdapter =
- new XSDDocumentAdapter(((XMLModel)getModel()).getDocument());
- }
- catch (Exception e)
- {
-// XSDEditorPlugin.getPlugin().getMsgLogger().write("Failed to create Model");
-// XSDEditorPlugin.getPlugin().getMsgLogger().write(e);
-// e.printStackTrace();
- }
-
-
-
-// XSDResourceFactoryImpl.validate(xsdSchema, input.getFile().getContents(true));
- }
-
-// private void updateParentForDerivation(Node node, XSDConcreteComponent correspondingComponent)
-// {
-// if (XSDDOMHelper.inputEquals(node, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false)||
-// XSDDOMHelper.inputEquals(node,XSDConstants.COMPLEXCONTENT_ELEMENT_TAG,false))
-// {
-// XSDComplexTypeDefinition xsdComplexTypeDefinition =
-// correspondingComponent.getContainer() instanceof XSDComplexTypeDefinition ?
-// (XSDComplexTypeDefinition)correspondingComponent.getContainer() :
-// null;
-// if (xsdComplexTypeDefinition != null)
-// {
-// xsdComplexTypeDefinition.elementContentsChanged(xsdComplexTypeDefinition.getElement());
-// }
-// }
-// }
-
-// private void checkUnion(Node node, XSDConcreteComponent correspondingComponent, int i)
-// {
-// // bug 219967 - union changes to restriction
-// if (XSDDOMHelper.inputEquals(node, XSDConstants.UNION_ELEMENT_TAG, false))
-// {
-//// XSDConcreteComponent comp = correspondingComponent.getContainer();
-//// if (comp != null)
-//// {
-//// switch (i)
-//// {
-//// case 1:
-//// comp.elementAttributesChanged((Element)node);
-//// break;
-//// case 4:
-//// comp.elementContentsChanged((Element)node);
-//// break;
-//// }
-//// }
-// }
-// else
-// {
-// switch (i)
-// {
-// case 1:
-// case 4:
-// // do both types of updates since sometimes the attributes have changed indirectly
-// // because the content has changed
-// correspondingComponent.elementAttributesChanged((Element)node);
-// correspondingComponent.elementContentsChanged((Element)node);
-// break;
-// }
-// }
-// }
-
-// private void updateMap(XSDConcreteComponent listener, Element documentElement)
-// {
-// boolean handleChangeInSchema = false;
-// if (listener instanceof XSDSchema)
-// {
-// if (!handleChangeInSchema)
-// {
-// handleChangeInSchema = true;
-// XSDSchema xsdSchema = (XSDSchema)listener;
-// java.util.Map prefixToNameSpaceMap = xsdSchema.getQNamePrefixToNamespaceMap();
-// String targetNamespace = xsdSchema.getTargetNamespace();
-//// System.out.println("targetNamespace = " + targetNamespace);
-//
-// NamedNodeMap attributes = documentElement.getAttributes();
-// int length = attributes.getLength();
-//
-// ArrayList keyList = new ArrayList();
-// keyList.addAll(prefixToNameSpaceMap.keySet());
-//
-// String key;
-//
-//
-// // update the map when the prefix is changed
-// CHECK: for (int i = 0; i < length; i++)
-// {
-// Attr attr = (Attr)attributes.item(i);
-// String name = attr.getNodeName();
-//
-// if (isValidXMLNSAttribute(name))
-//// if (name.startsWith("xmlns"))
-// {
-// String value = attr.getNodeValue();
-// if (value == null)
-// {
-// break CHECK;
-// }
-// int index = name.indexOf(":");
-// key = index == -1 ? null : name.substring(index + 1);
-//// System.out.println(" Attribute key is " + key + " , value = " + value);
-//// System.out.println(" map.get(key) = " + prefixToNameSpaceMap.get(key));
-// if (!prefixToNameSpaceMap.containsKey(key))
-// {
-// for (Iterator iter = keyList.iterator(); iter.hasNext(); )
-// {
-// String aPrefix = (String)iter.next();
-//// System.out.println(" --> A Map Prefix is " + aPrefix);
-//// System.out.println(" --> model map.get(prefix) " + prefixToNameSpaceMap.get(aPrefix));
-// if (prefixToNameSpaceMap.get(aPrefix) != null)
-// {
-// if (prefixToNameSpaceMap.get(aPrefix).equals(value))
-// {
-// prefixToNameSpaceMap.remove(aPrefix);
-// }
-// }
-// }
-// }
-// else if (prefixToNameSpaceMap.containsKey(key))
-// {
-// if (prefixToNameSpaceMap.get(key) != null)
-// {
-// if (!prefixToNameSpaceMap.get(key).equals(value))
-// {
-// Set entrySet = prefixToNameSpaceMap.entrySet();
-// for (Iterator iter = entrySet.iterator(); iter.hasNext(); )
-// {
-// Map.Entry aMapEntry = (Map.Entry)iter.next();
-// if ( (key != null && (aMapEntry.getKey() != null && aMapEntry.getKey().equals(key)))
-// || (key == null && (aMapEntry.getKey() == null)))
-// {
-// aMapEntry.setValue(value);
-// }
-// }
-// }
-// }
-// else
-// {
-// Set entrySet = prefixToNameSpaceMap.entrySet();
-// for (Iterator iter = entrySet.iterator(); iter.hasNext(); )
-// {
-// Map.Entry aMapEntry = (Map.Entry)iter.next();
-// if ( (key != null && (aMapEntry.getKey() != null && aMapEntry.getKey().equals(key)))
-// || (key == null && (aMapEntry.getKey() == null)))
-// {
-// aMapEntry.setValue(value);
-// }
-// }
-// }
-// }
-// }
-// }
-//
-// boolean modelMapPrefixFound = false;
-// for (Iterator iter = keyList.iterator(); iter.hasNext(); )
-// {
-// String aPrefix = (String)iter.next();
-// modelMapPrefixFound = false;
-// attributes = documentElement.getAttributes();
-// length = attributes.getLength();
-//
-// for (int i = 0; i < length; i++)
-// {
-// Attr attr = (Attr)attributes.item(i);
-// if (attr != null)
-// {
-// String name = attr.getNodeName();
-//
-// // if (name.startsWith("xmlns"))
-// if (isValidXMLNSAttribute(name))
-// {
-// String value = attr.getNodeValue();
-// int index = name.indexOf(":");
-// key = index == -1 ? null : name.substring(index + 1);
-// if (aPrefix == null && key == null)
-// {
-// modelMapPrefixFound = true;
-// }
-// else if (aPrefix != null && (aPrefix.equals(key)))
-// {
-// modelMapPrefixFound = true;
-// if ((prefixToNameSpaceMap.get(key) != null && !prefixToNameSpaceMap.get(key).equals(value))
-// || (prefixToNameSpaceMap.get(key) == null && value != null))
-// {
-// if (value != null && value.length() > 0)
-// {
-// prefixToNameSpaceMap.put(aPrefix, value);
-// }
-// }
-// }
-// else if (key != null && (key.equals(aPrefix)))
-// {
-// modelMapPrefixFound = true;
-// }
-// }
-// }
-// }
-// if (!modelMapPrefixFound)
-// {
-// prefixToNameSpaceMap.remove(aPrefix);
-// }
-// }
-//
-// // to ensure map is recreated
-//// XSDSchemaHelper.updateElement(xsdSchema);
-//// reparseSchema();
-//
-// handleChangeInSchema = false;
-//
-//// System.out.println("XSDeditor Map is " + prefixToNameSpaceMap.values());
-//// System.out.println("XSDeditor Map keys are " + prefixToNameSpaceMap.keySet());
-//
-// }
-// }
-// }
-
- /**
- * Returns the xsdSchema.
- * @return XSDSchema
- */
- public XSDSchema getXSDSchema()
- {
- return xsdSchema;
- }
-
-
- /**
- * Returns the resourceFile.
- * @return IFile
- */
- public IFile getFileResource()
- {
- return resourceFile;
- }
-
- /**
- * Get the IDocument from the text viewer
- */
- public IDocument getEditorIDocument()
- {
- IDocument document = textEditor.getTextViewer().getDocument();
- return document;
- }
-
- /**
- * Create ref integrity tasks in task list
- */
- public void createTasksInTaskList(ArrayList messages)
- {
-// DisplayErrorInTaskList tasks = new DisplayErrorInTaskList(getEditorIDocument(), getFileResource(), messages);
-// tasks.run();
- }
-
- public void resetInformationTasks()
- {
-// DisplayErrorInTaskList.removeInfoMarkers(getFileResource());
- }
-
- public XSDGraphViewer getGraphViewer()
- {
- return graphViewer;
- }
-
-// /**
-// * @see org.eclipse.ui.part.MultiPageEditorPart#handlePropertyChange(int)
-// */
-// protected void handlePropertyChange(int propertyId)
-// {
-// super.handlePropertyChange(propertyId);
-//
-// if (propertyId == IEditorPart.PROP_INPUT)
-// {
-// setInput(textEditor.getEditorInput());
-// resourceFile = ((IFileEditorInput) getEditorInput()).getFile();
-// setTitle(resourceFile.getName());
-//// outline.setModel(getModel());
-//
-// // even though we've set title etc., several times already!
-// // only now is all prepared for it.
-// firePropertyChange(IWorkbenchPart.PROP_TITLE);
-// firePropertyChange(PROP_DIRTY);
-// }
-// else if (propertyId == IEditorPart.PROP_TITLE)
-// {
-// if (getEditorInput() != textEditor.getEditorInput())
-// {
-// setInput(textEditor.getEditorInput());
-// }
-// }
-// }
-
- public IEditorPart getActiveEditorPage()
- {
- return getActiveEditor();
- }
-
- public XSDTextEditor getXSDTextEditor()
- {
- return textEditor;
- }
-
- class InternalPartListener implements IPartListener
- {
- XSDEditor editor;
- public InternalPartListener(XSDEditor editor)
- {
- this.editor = editor;
- }
-
- public void partActivated(IWorkbenchPart part)
- {
- if (part == editor)
- {
- ISelection selection = getSelectionManager().getSelection();
- if (selection != null)
- {
- getSelectionManager().setSelection(selection);
- }
- }
- }
-
- public void partBroughtToTop(IWorkbenchPart part)
- {
- }
-
- public void partClosed(IWorkbenchPart part)
- {
- }
-
-
- public void partDeactivated(IWorkbenchPart part)
- {
- }
-
- public void partOpened(IWorkbenchPart part)
- {
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorAdapter.java
deleted file mode 100644
index 7591376fb3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorAdapter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IDocument;
-
-public interface XSDEditorAdapter
-{
- public IFile getFileResource();
-
- public IDocument getEditorIDocument();
-
- public void createTasksInTaskList(ArrayList messages);
-
- public void resetInformationTasks();
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorContextIds.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorContextIds.java
deleted file mode 100644
index 8f95f5c6eb..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorContextIds.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-
-/**
- * Context help id constants.
- */
-public interface XSDEditorContextIds
-{
- public static final String PLUGIN_NAME = "org.eclipse.wst.xsd.ui.internal";
-
- /* CONTEXT_IDs New XSD Wizard uses the WizardNewFileCreationPage from org.eclipse.ui.dialogs */
-
- /* CONTEXT_IDs for XSDEditor follow the xsdexxx context IDs */
-
- /* CONTEXT_ID xsde0010 for XSD Editor Design View */
- public static final String XSDE_SCHEMA_DESIGN_VIEW = PLUGIN_NAME + ".xsde0010";
- /* no CONTEXT_ID for File Name Text Edit (not editable) */
- /* CONTEXT_ID xsde0020 for Version Text Edit */
- public static final String XSDE_SCHEMA_VERSION = PLUGIN_NAME + ".xsde0020";
- /* CONTEXT_ID xsde0030 for Language Text Edit */
- public static final String XSDE_SCHEMA_LANGUAGE = PLUGIN_NAME + ".xsde0030";
- /* CONTEXT_ID xsde0040 for Namespace Group */
- public static final String XSDE_SCHEMA_NAMESPACE_GROUP = PLUGIN_NAME + ".xsde0040";
- /* CONTEXT_ID xsde0050 for Prefix Text Edit */
- public static final String XSDE_SCHEMA_PREFIX = PLUGIN_NAME + ".xsde0050";
- /* CONTEXT_ID xsde0060 for Target namespace Text Edit */
- public static final String XSDE_SCHEMA_TARGET_NAMESPACE = PLUGIN_NAME + ".xsde0060";
- /* CONTEXT_ID xsde0070 for Apply Push Button */
- public static final String XSDE_SCHEMA_APPLY = PLUGIN_NAME + ".xsde0070";
- /* CONTEXT_ID xsde0080 for Attribute form default Combo Box */
- public static final String XSDE_SCHEMA_ATTRIBUTE = PLUGIN_NAME + ".xsde0080";
- /* CONTEXT_ID xsde0090 for Element form default Combo Box */
- public static final String XSDE_SCHEMA_ELEMENT = PLUGIN_NAME + ".xsde0090";
- /* CONTEXT_ID xsde0100 for Block default Combo Box */
- public static final String XSDE_SCHEMA_BLOCK = PLUGIN_NAME + ".xsde0100";
- /* CONTEXT_ID xsde0110 for Final Default Combo Box */
- public static final String XSDE_SCHEMA_FINAL = PLUGIN_NAME + ".xsde0110";
-
-
- /* CONTEXT_ID xsde0200 for Annotations Comment Group - only used generically */
- /* CONTEXT_ID - used in Documentation Design View */
- /* CONTEXT_ID - used in App Info Design View */
- public static final String XSDE_ANNOTATION_COMMENT_GROUP = PLUGIN_NAME + ".xsde0200";
- /* CONTEXT_ID xsde0210 for Annotations Comment Group - only used generically */
- /* CONTEXT_ID - used in Documentation Design View */
- /* CONTEXT_ID - used in App Info Design View */
- public static final String XSDE_ANNOTATION_COMMENT = PLUGIN_NAME + ".xsde0210";
-
- /* CONTEXT_ID xsde0300 for Documentation Design View */
- public static final String XSDE_DOCUMENTATION_DESIGN_VIEW = PLUGIN_NAME + ".xsde0300";
- /* CONTEXT_ID xsde0310 for Source Text Edit */
- public static final String XSDE_DOCUMENTATION_SOURCE = PLUGIN_NAME + ".xsde0310";
- /* CONTEXT_ID xsde0320 for Language Text Edit */
- public static final String XSDE_DOCUMENTATION_LANGUAGE = PLUGIN_NAME + ".xsde0320";
- /* CONTEXT_ID Comment Group is from Annotations Window xsde0200 */
- /* CONTEXT_ID Comment Multi-line Edit is from Annotations Window xsd0210 */
-
- /* CONTEXT_ID xsde0400 for App Info Design View */
- public static final String XSDE_APP_INFO_DESIGN_VIEW = PLUGIN_NAME + ".xsde0400";
- /* CONTEXT_ID xsde0410 for App Info Source Text Edit */
- public static final String XSDE_APP_INFO_SOURCE = PLUGIN_NAME + ".xsde0410";
- /* CONTEXT_ID Comment Group is from Annotations Window xsde0200 */
- /* CONTEXT_ID Comment Multi-line Edit is from Annotations Window xsd0210 */
-
- /* CONTEXT_ID xsde0500 for Complex Type Design View */
- public static final String XSDE_COMPLEX_DESIGN_VIEW = PLUGIN_NAME + ".xsde0500";
- /* CONTEXT_ID xsde0510 for Name Text Edit */
- public static final String XSDE_COMPLEX_NAME = PLUGIN_NAME + ".xsde0510";
- /* CONTEXT_ID xsde0520 for Abstract Combo Box */
- public static final String XSDE_COMPLEX_ABSTRACT = PLUGIN_NAME + ".xsde0520";
- /* CONTEXT_ID xsde0530 for Mixed Combo Box */
- public static final String XSDE_COMPLEX_MIXED = PLUGIN_NAME + ".xsde0530";
- /* CONTEXT_ID xsde0540 for Block Combo Box */
- public static final String XSDE_COMPLEX_BLOCK = PLUGIN_NAME + ".xsde0540";
- /* CONTEXT_ID xsde0550 for Final Combo Box */
- public static final String XSDE_COMPLEX_FINAL = PLUGIN_NAME + ".xsde0550";
-
- /* CONTEXT_ID xsde0600 for Simple Type Design View */
- public static final String XSDE_SIMPLE_DESIGN_VIEW = PLUGIN_NAME + ".xsde0600";
- /* CONTEXT_ID xsde0610 for Name Text Edit */
- public static final String XSDE_SIMPLE_NAME = PLUGIN_NAME + ".xsde0610";
-
- /* CONTEXT_ID for Global Element and Element Design Views are the same */
- /* CONTEXT_ID xsde0700 for Element Design View */
- public static final String XSDE_ELEMENT_DESIGN_VIEW = PLUGIN_NAME + ".xsde0700";
- /* CONTEXT_ID xsde0710 for Element Name Text Edit */
- public static final String XSDE_ELEMENT_NAME = PLUGIN_NAME + ".xsde0710";
- /* CONTEXT_ID Type Information Group is from Type Helper xsde0900 */
- /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
- /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
- /* CONTEXT_ID User-defined complex type Radio Button is from Type Helper xsde0940 */
- /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
- /* CONTEXT_ID xsde0720 for Abstract Check Box */
- public static final String XSDE_ELEMENT_ABSTRACT = PLUGIN_NAME + ".xsde0720";
- /* CONTEXT_ID xsde0730 for Nillable Check Box */
- public static final String XSDE_ELEMENT_NILLABLE = PLUGIN_NAME + ".xsde0730";
- /* CONTEXT_ID xsde0740 for Value Group */
- public static final String XSDE_ELEMENT_VALUE = PLUGIN_NAME + ".xsde0740";
- /* CONTEXT_ID xsde0750 for Fixed Radio Button */
- public static final String XSDE_ELEMENT_FIXED = PLUGIN_NAME + ".xsde0750";
- /* CONTEXT_ID xsde0760 for Default Radio Button */
- public static final String XSDE_ELEMENT_DEFAULT = PLUGIN_NAME + ".xsde0760";
- /* CONTEXT_ID xsde0770 for Value Group */
- public static final String XSDE_ELEMENT_VALUE_GROUP = PLUGIN_NAME + ".xsde0770";
- /* CONTEXT_ID xsde0780 for Minimum Text Edit */
- public static final String XSDE_ELEMENT_MINIMUM = PLUGIN_NAME + ".xsde0780";
- /* CONTEXT_ID xsde0790 for Maximum Text Edit */
- public static final String XSDE_ELEMENT_MAXIMUM = PLUGIN_NAME + ".xsde0790";
- /* CONTEXT_ID xsde0800 for Block Combo Box */
- public static final String XSDE_ELEMENT_BLOCK = PLUGIN_NAME + ".xsde0800";
- /* CONTEXT_ID xsde0810 for Final Combo Box */
- public static final String XSDE_ELEMENT_FINAL = PLUGIN_NAME + ".xsde0810";
- /* CONTEXT_ID xsde0820 for Substitution Group Combo Box */
- public static final String XSDE_ELEMENT_SUBSTITUTION = PLUGIN_NAME + ".xsde0820";
- /* CONTEXT_ID xsde0830 for Form Qualification Combo Box */
- public static final String XSDE_ELEMENT_FORM = PLUGIN_NAME + ".xsde0830";
-
- /* CONTEXT_ID xsde0900 for Type Helper Group - only used generically */
- /* CONTEXT_ID - used in Global Element Design View */
- /* CONTEXT_ID - used in Global Attribute Design View */
- /* CONTEXT_ID - used in Simple Content Design View */
- /* CONTEXT_ID - used in Restriction Design View */
- /* CONTEXT_ID - used in List Design View */
- /* CONTEXT_ID - used in Union Design View */
- public static final String XSDE_TYPE_HELPER_GROUP = PLUGIN_NAME + ".xsde0900";
- /* CONTEXT_ID xsde0910 for None Radio Button - only used generically */
- /* CONTEXT_ID - used in Simple Content Design View */
- /* CONTEXT_ID - used in Restriction Design View */
- /* CONTEXT_ID - used in List Design View */
- /* CONTEXT_ID - used in Union Design View */
- public static final String XSDE_TYPE_HELPER_NONE = PLUGIN_NAME + ".xsde0910";
- /* CONTEXT_ID xsde0920 for Built-in simple type Radio Button - only used generically */
- /* CONTEXT_ID - used in Global Element Design View */
- /* CONTEXT_ID - used in Global Attribute Design View */
- /* CONTEXT_ID - used in Simple Content Design View */
- /* CONTEXT_ID - used in Restriction Design View */
- /* CONTEXT_ID - used in List Design View */
- /* CONTEXT_ID - used in Union Design View */
- public static final String XSDE_TYPE_HELPER_BUILT_IN = PLUGIN_NAME + ".xsde0920";
- /* CONTEXT_ID xsde0930 for User-defined simple type Radio Button - only used generically */
- /* CONTEXT_ID - used in Global Element Design View */
- /* CONTEXT_ID - used in Global Attribute Design View */
- /* CONTEXT_ID - used in Simple Content Design View */
- /* CONTEXT_ID - used in Restriction Design View */
- /* CONTEXT_ID - used in List Design View */
- /* CONTEXT_ID - used in Union Design View */
- public static final String XSDE_TYPE_HELPER_USER_DEFINED_SIMPLE = PLUGIN_NAME + ".xsde0930";
- /* CONTEXT_ID xsde0940 for User-defined complex type Radio Button - only used generically */
- /* CONTEXT_ID - used in Global Element Design View */
- public static final String XSDE_TYPE_HELPER_USER_DEFINED_COMPLEX = PLUGIN_NAME + ".xsde0940";
- /* CONTEXT_ID xsde0950 for Type information Combo Box - only used generically */
- /* CONTEXT_ID - used in Global Element Design View */
- /* CONTEXT_ID - used in Global Attribute Design View */
- /* CONTEXT_ID - used in Simple Content Design View */
- /* CONTEXT_ID - used in Restriction Design View */
- /* CONTEXT_ID - used in List Design View */
- public static final String XSDE_TYPE_HELPER_TYPE = PLUGIN_NAME + ".xsde0950";
-
- /* CONTEXT_ID xsde1000 for Attribute Design View */
- public static final String XSDE_ATTRIBUTE_DESIGN_VIEW = PLUGIN_NAME + ".xsde1000";
- /* CONTEXT_ID xsde1010 for Attribute Name Text Edit */
- public static final String XSDE_ATTRIBUTE_NAME = PLUGIN_NAME + ".xsde1010";
- /* CONTEXT_ID Type Information Group is from Type Helper xsde0900 */
- /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
- /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
- /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
- /* CONTEXT_ID xsde1020 for Value Group */
- public static final String XSDE_ATTRIBUTE_VALUE_GROUP = PLUGIN_NAME + ".xsde1020";
- /* CONTEXT_ID xsde1030 for Fixed Radio Button */
- public static final String XSDE_ATTRIBUTE_FIXED = PLUGIN_NAME + ".xsde1030";
- /* CONTEXT_ID xsde1040 for Default Radio Button */
- public static final String XSDE_ATTRIBUTE_DEFAULT = PLUGIN_NAME + ".xsde1040";
- /* CONTEXT_ID xsde1050 for Value Text Edit */
- public static final String XSDE_ATTRIBUTE_VALUE = PLUGIN_NAME + ".xsde1050";
- /* CONTEXT_ID xsde1060 for Usage Combo Box */
- public static final String XSDE_ATTRIBUTE_USAGE = PLUGIN_NAME + ".xsde1060";
- /* CONTEXT_ID xsde1070 for Form qualificaiton Combo Box */
- public static final String XSDE_ATTRIBUTE_FORM = PLUGIN_NAME + ".xsde1070";
-
- /* CONTEXT_ID xsde1100 for Element Ref Window Design View */
- public static final String XSDE_ELEMENT_REF_DESIGN_VIEW = PLUGIN_NAME + ".xsde1100";
- /* CONTEXT_ID xsde1110 for Reference Name Combo Box */
- public static final String XSDE_ELEMENT_REF_REFERENCE = PLUGIN_NAME + ".xsde1110";
- /* CONTEXT_ID xsde1120 for Minimum Text Edit */
- public static final String XSDE_ELEMENT_REF_MINIMUM = PLUGIN_NAME + ".xsde1120";
- /* CONTEXT_ID xsde1130 for Maximum Text Edit */
- public static final String XSDE_ELEMENT_REF_MAXIMUM = PLUGIN_NAME + ".xsde1130";
-
- /* CONTEXT_ID xsde1200 for Simple Content Design View - used generically */
- /* CONTEXT_ID - used in Simple Content Design View */
- /* CONTEXT_ID - used in Complex Content Design View */
- public static final String XSDE_SIMPLE_CONTENT_DESIGN_VIEW = PLUGIN_NAME + ".xsde1200";
- /* CONTEXT_ID Base Type Group is from Type Helper xsde0900 */
- /* CONTEXT_ID None Radio Button is from Type Helper xsde0910 */
- /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
- /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
- /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
- /* CONTEXT_ID xsde1210 for Derived by Combo Box - used generically */
- /* CONTEXT_ID - used in Simple Content Design View */
- /* CONTEXT_ID - used in Complex Content Design View */
- public static final String XSDE_SIMPLE_CONTENT_DERIVED = PLUGIN_NAME + ".xsde1210";
-
- /* CONTEXT_ID xsde1300 for Restriction Design View */
- public static final String XSDE_RESTRICTION_DESIGN_VIEW = PLUGIN_NAME + ".xsde1300";
- /* CONTEXT_ID Base Type Group is from Type Helper xsde0900 */
- /* CONTEXT_ID None Radio Button is from Type Helper xsde0910 */
- /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
- /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
- /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
- /* CONTEXT_ID xsde1310 for Facets Group */
- public static final String XSDE_RESTRICTION_FACETS_GROUP = PLUGIN_NAME + ".xsde1310";
- /* CONTEXT_ID xsde1320 for Facets Table */
- public static final String XSDE_RESTRICTION_FACETS = PLUGIN_NAME + ".xsde1320";
-
- /* CONTEXT_ID xsde1400 for List Design View */
- public static final String XSDE_LIST_DESIGN_VIEW = PLUGIN_NAME + ".xsde1400";
- /* CONTEXT_ID Base Type Group is from Type Helper xsde0900 */
- /* CONTEXT_ID None Radio Button is from Type Helper xsde0910 */
- /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
- /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
- /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
-
- /* CONTEXT_ID xsde1500 for Attribute Group Design View */
- public static final String XSDE_ATTRIBUTE_GROUP_DESIGN_VIEW = PLUGIN_NAME + ".xsde1500";
- /* CONTEXT_ID xsde1510 for Name Text Edit */
- public static final String XSDE_ATTRIBUTE_GROUP_NAME = PLUGIN_NAME + ".xsde1510";
-
- /* CONTEXT_ID for Global Attribute and Attribute Design Views are the same */
- /* CONTEXT_ID xsde1600 for Attribute Group Reference Design View */
- public static final String XSDE_ATTRIBUTE_GROUP_REF_DESIGN_VIEW = PLUGIN_NAME + ".xsde1600";
- /* CONTEXT_ID xsde1610 for Reference Name Combo Box */
- public static final String XSDE_ATTRIBUTE_GROUP_REF_NAME = PLUGIN_NAME + ".xsde1610";
-
- /* CONTEXT_ID xsde1700 for Attribute Reference Design View */
- public static final String XSDE_ATTRIBUTE_REF_DESIGN_VIEW = PLUGIN_NAME + ".xsde1700";
- /* CONTEXT_ID xsde1710 for Reference Name Combo Box */
- public static final String XSDE_ATTRIBUTE_REF_NAME = PLUGIN_NAME + ".xsde1710";
-
- /* CONTEXT_ID xsde1800 for Pattern Design View */
- public static final String XSDE_PATTERN_DESIGN_VIEW = PLUGIN_NAME + ".xsde1800";
- /* CONTEXT_ID xsde1810 for Value Text Edit */
- public static final String XSDE_PATTERN_VALUE = PLUGIN_NAME + ".xsde1810";
- /* CONTEXT_ID xsde1820 for Create Regular Expression Push Button */
- public static final String XSDE_PATTERN_REGULAR = PLUGIN_NAME + ".xsde1820";
-
- /* CONTEXT_ID xsde1900 for Enum Design View */
- public static final String XSDE_ENUM_DESIGN_VIEW = PLUGIN_NAME + ".xsde1900";
- /* CONTEXT_ID xsde1910 for Value Text Edit */
- public static final String XSDE_ENUM_VALUE = PLUGIN_NAME + ".xsde1910";
-
- /* CONTEXT_ID xsde2000 for Include Design Page */
- public static final String XSDE_INCLUDE_DESIGN_VIEW = PLUGIN_NAME + ".xsde2000";
- /* no CONTEXT_ID for Schema Location Text Edit (not editable) */
- /* CONTEXT_ID Select Push Button is from Include Helper xsde2100 */
-
- /* CONTEXT_ID xsde2100 for Include Helper Select Push Button - used generically */
- /* CONTEXT_ID - used in Include Design View */
- /* CONTEXT_ID - used in Import Design View */
- public static final String XSDE_INCLUDE_HELPER_SELECT = PLUGIN_NAME + ".xsde2100";
-
- /* CONTEXT_ID xsde2200 for Import Design Page */
- public static final String XSDE_IMPORT_DESIGN_VIEW = PLUGIN_NAME + ".xsde2200";
- /* no CONTEXT_ID for Schema Location Text Edit (not editable) */
- /* CONTEXT_ID Select Push Button is from Include Helper xsde2100 */
- /* CONTEXT_ID xsde2210 for Prefix Text Edit */
- public static final String XSDE_IMPORT_PREFIX = PLUGIN_NAME + ".xsde2210";
- /* no CONTEXT_ID for Namespace Text Edit (not editable) */
-
- /* CONTEXT_ID xsde2300 for Redefine Design View */
- public static final String XSDE_REDEFINE_DESIGN_VIEW = PLUGIN_NAME + ".xsde2300";
- /* no CONTEXT_ID for Schema Location Text Edit (not editable) */
- /* CONTEXT_ID Select Push Button is from Include Helper xsde2100 */
-
- /* CONTEXT_ID xsde2400 for Group Design View */
- public static final String XSDE_GROUP_DESIGN_VIEW = PLUGIN_NAME + ".xsde2400";
- /* CONTEXT_ID xsde2410 for Name Text Edit */
- public static final String XSDE_GROUP_NAME = PLUGIN_NAME + ".xsde2410";
-
- /* CONTEXT_ID xsde2500 for Group Scope Design View */
- public static final String XSDE_GROUP_SCOPE_DESIGN_VIEW = PLUGIN_NAME + ".xsde2500";
- /* CONTEXT_ID xsde2510 for Content model Group */
- public static final String XSDE_GROUP_SCOPE_CONTENT_GROUP = PLUGIN_NAME + ".xsde2510";
- /* CONTEXT_ID xsde2520 for Sequence Radio Button */
- public static final String XSDE_GROUP_SCOPE_SEQUENCE = PLUGIN_NAME + ".xsde2520";
- /* CONTEXT_ID xsde2530 for Choice Radio Button */
- public static final String XSDE_GROUP_SCOPE_CHOICE = PLUGIN_NAME + ".xsde2530";
- /* CONTEXT_ID xsde2540 for All Radio Button */
- public static final String XSDE_GROUP_SCOPE_ALL = PLUGIN_NAME + ".xsde2540";
- /* CONTEXT_ID xsde2550 for Minimum Text Edit */
- public static final String XSDE_GROUP_SCOPE_MINIMUM = PLUGIN_NAME + ".xsde2550";
- /* CONTEXT_ID xsde2560 for Maximum Text Edit*/
- public static final String XSDE_GROUP_SCOPE_MAXIMUM = PLUGIN_NAME + ".xsde2560";
-
- /* CONTEXT_ID xsde2600 for Group Ref Design View */
- public static final String XSDE_GROUP_REF_DESIGN_VIEW = PLUGIN_NAME + ".xsde2600";
- /* CONTEXT_ID xsde2610 for Reference name Combo Box */
- public static final String XSDE_GROUP_REF_REFERENCE = PLUGIN_NAME + ".xsde2610";
- /* CONTEXT_ID xsde2620 for Minimum Text Edit */
- public static final String XSDE_GROUP_REF_MINIMUM = PLUGIN_NAME + ".xsde2620";
- /* CONTEXT_ID xsde2630 for Maximum Text Edit */
- public static final String XSDE_GROUP_REF_MAXIMUM = PLUGIN_NAME + ".xsde2630";
-
- /* CONTEXT_ID xsde2700 for Unique Design View */
- public static final String XSDE_UNIQUE_DESIGN_VIEW = PLUGIN_NAME + ".xsde2700";
- /* CONTEXT_ID Name Text Edit is from Unique Base xsde2800 */
- /* CONTEXT_ID Selector Group is from Unique Base xsde2810 */
- /* CONTEXT_ID Selector Mulit-line Edit is from Unique Base xsde2820 */
- /* CONTEXT_ID Fields Group is from Unique Base xsde2830 */
- /* CONTEXT_ID Source Text Edit is from Unique Base xsde2840 */
- /* CONTEXT_ID Add Push Button is from Unique Base xsde2850 */
- /* CONTEXT_ID Remove Push Button is from Unique Base xsde2860 */
- /* CONTEXT_ID Target List Box is from Unique Base xsde2870 */
-
- /* CONTEXT_ID xsde2800 for Unique Base Name Text Edit - used generically */
- /* CONTEXT_ID - used in Unique Design View */
- /* CONTEXT_ID - used in Key Design View */
- /* CONTEXT_ID - used in Key Ref Design View */
- public static final String XSDE_UNIQUE_BASE_NAME = PLUGIN_NAME + ".xsde2800";
- /* CONTEXT_ID xsde2810 for Selector Group - used generically */
- /* CONTEXT_ID - used in Unique Design View */
- /* CONTEXT_ID - used in Key Design View */
- /* CONTEXT_ID - used in Key Ref Design View */
- public static final String XSDE_UNIQUE_BASE_SELECTOR_GROUP = PLUGIN_NAME + ".xsde2810";
- /* CONTEXT_ID xsde2820 for Selector Multi-line Edit - used generically */
- /* CONTEXT_ID - used in Unique Design View */
- /* CONTEXT_ID - used in Key Design View */
- /* CONTEXT_ID - used in Key Ref Design View */
- public static final String XSDE_UNIQUE_BASE_SELECTOR = PLUGIN_NAME + ".xsde2820";
- /* CONTEXT_ID xsde2830 for Fields Group - used generically */
- /* CONTEXT_ID - used in Unique Design View */
- /* CONTEXT_ID - used in Key Design View */
- /* CONTEXT_ID - used in Key Ref Design View */
- public static final String XSDE_UNIQUE_BASE_FIELDS_GROUP = PLUGIN_NAME + ".xsde2830";
- /* CONTEXT_ID xsde2840 for Source Text Edit - used generically */
- /* CONTEXT_ID - used in Unique Design View */
- /* CONTEXT_ID - used in Key Design View */
- /* CONTEXT_ID - used in Key Ref Design View */
- public static final String XSDE_UNIQUE_BASE_SOURCE = PLUGIN_NAME + ".xsde2840";
- /* CONTEXT_ID xsde2850 for Add Push Button - used generically */
- /* CONTEXT_ID - used in Unique Design View */
- /* CONTEXT_ID - used in Key Design View */
- /* CONTEXT_ID - used in Key Ref Design View */
- public static final String XSDE_UNIQUE_BASE_ADD = PLUGIN_NAME + ".xsde2850";
- /* CONTEXT_ID xsde2860 for Remove Push Button - used generically */
- /* CONTEXT_ID - used in Unique Design View */
- /* CONTEXT_ID - used in Key Design View */
- /* CONTEXT_ID - used in Key Ref Design View */
- public static final String XSDE_UNIQUE_BASE_REMOVE = PLUGIN_NAME + ".xsde2860";
- /* CONTEXT_ID xsde2870 for Target List Box - used generically */
- /* CONTEXT_ID - used in Unique Design View */
- /* CONTEXT_ID - used in Key Design View */
- /* CONTEXT_ID - used in Key Ref Design View */
- public static final String XSDE_UNIQUE_BASE_TARGET = PLUGIN_NAME + ".xsde2870";
-
- /* CONTEXT_ID xsde2900 for Key Design View */
- public static final String XSDE_KEY_DESIGN_VIEW = PLUGIN_NAME + ".xsde2900";
- /* CONTEXT_ID Name Text Edit is from Unique Base xsde2800 */
- /* CONTEXT_ID Selector Group is from Unique Base xsde2810 */
- /* CONTEXT_ID Selector Mulit-line Edit is from Unique Base xsde2820 */
- /* CONTEXT_ID Fields Group is from Unique Base xsde2830 */
- /* CONTEXT_ID Source Text Edit is from Unique Base xsde2840 */
- /* CONTEXT_ID Add Push Button is from Unique Base xsde2850 */
- /* CONTEXT_ID Remove Push Button is from Unique Base xsde2860 */
- /* CONTEXT_ID Target List Box is from Unique Base xsde2870 */
- /* CONTEXT_ID xsde2900 for Key Design View */
-
- /* CONTEXT_ID xsde2950 for Key Ref Design View */
- public static final String XSDE_KEY_REF_DESIGN_VIEW = PLUGIN_NAME + ".xsde2950";
- /* CONTEXT_ID Name Text Edit is from Unique Base xsde2800 */
- /* CONTEXT_ID xsde2960 for Reference Key Combo Box */
- public static final String XSDE_KEY_REF_REFERENCE = PLUGIN_NAME + ".xsde2960";
- /* CONTEXT_ID Selector Group is from Unique Base xsde2810 */
- /* CONTEXT_ID Selector Mulit-line Edit is from Unique Base xsde2820 */
- /* CONTEXT_ID Fields Group is from Unique Base xsde2830 */
- /* CONTEXT_ID Source Text Edit is from Unique Base xsde2840 */
- /* CONTEXT_ID Add Push Button is from Unique Base xsde2850 */
- /* CONTEXT_ID Remove Push Button is from Unique Base xsde2860 */
- /* CONTEXT_ID Target List Box is from Unique Base xsde2870 */
-
- /* CONTEXT_ID xsde3000 for Any Element Design View */
- public static final String XSDE_ANY_ELEMENT_VIEW = PLUGIN_NAME + ".xsde3000";
- /* CONTEXT_ID xsde3010 for Namespace Text Edit */
- public static final String XSDE_ANY_ELEMENT_NAMESPACE = PLUGIN_NAME + ".xsde3010";
- /* CONTEXT_ID xsde3020 for Process Contents Combo Box */
- public static final String XSDE_ANY_ELEMENT_PROCESS = PLUGIN_NAME + ".xsde3020";
- /* CONTEXT_ID xsde3030 for Minimum Text Edit */
- public static final String XSDE_ANY_ELEMENT_MINIMUM = PLUGIN_NAME + ".xsde3030";
- /* CONTEXT_ID xsde3040 for Maximum Text Edit */
- public static final String XSDE_ANY_ELEMENT_MAXIMUM = PLUGIN_NAME + ".xsde3040";
-
- /* CONTEXT_ID xsde3100 for Any Attribute Design View */
- public static final String XSDE_ANY_ATTRIBUTE_VIEW = PLUGIN_NAME + ".xsde3100";
- /* CONTEXT_ID xsde3110 for Namespace Text Edit */
- public static final String XSDE_ANY_ATTRIBUTE_NAMESPACE = PLUGIN_NAME + ".xsde3110";
- /* CONTEXT_ID xsde3120 for Process Contents Combo Box */
- public static final String XSDE_ANY_ATTRIBUTE_PROCESS = PLUGIN_NAME + ".xsde3120";
-
- /* no CONTEXT_ID for Union Design View - uses a generic interface */
- /* CONTEXT_ID Type Information Group is from Type Helper xsde0900 */
- /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
- /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
- /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
-
- /* CONTEXT_ID xsde3200 for Notation Design View */
- public static final String XSDE_NOTATION_VIEW = PLUGIN_NAME + ".xsde3200";
-
- /* CONTEXT_ID xsde4000 for Source View */
- public static final String XSDE_SOURCE_VIEW = PLUGIN_NAME + ".xsde4000";
-
- /* CONTEXT_IDs for Regular Expression Wizard follow the xsdrxxx context IDs */
-
- /* CONTEXT_ID xsdr0010 for Compose Regular Expression Page */
- public static final String XSDR_COMPOSITION_PAGE = PLUGIN_NAME + ".xsdr0010";
- /* CONTEXT_ID xsdr0015 for Token Contents Combo Box */
- public static final String XSDR_COMPOSITION_TOKEN = PLUGIN_NAME + ".xsdr0015";
- /* CONTEXT_ID xsdr0020 for Occurrece Group */
- public static final String XSDR_COMPOSITION_OCCURRENCE_GROUP = PLUGIN_NAME + ".xsdr0020";
- /* CONTEXT_ID xsdr0030 for Just once Radio Button */
- public static final String XSDR_COMPOSITION_JUST_ONCE = PLUGIN_NAME + ".xsdr0030";
- /* CONTEXT_ID xsdr0040 for Zero or more Radio Button */
- public static final String XSDR_COMPOSITION_ZERO_OR_MORE = PLUGIN_NAME + ".xsdr0040";
- /* CONTEXT_ID xsdr0050 for One or more Radio Button */
- public static final String XSDR_COMPOSITION_ONE_OR_MORE = PLUGIN_NAME + ".xsdr0050";
- /* CONTEXT_ID xsdr0060 for Optional Radio Button */
- public static final String XSDR_COMPOSITION_OPTIONAL = PLUGIN_NAME + ".xsdr0060";
- /* CONTEXT_ID xsdr0070 for Repeat Radio Button */
- public static final String XSDR_COMPOSITION_REPEAT = PLUGIN_NAME + ".xsdr0070";
- /* CONTEXT_ID xsdr0080 for Range Radio Button */
- public static final String XSDR_COMPOSITION_RANGE = PLUGIN_NAME + ".xsdr0080";
- /* CONTEXT_ID xsdr0090 for Repeat Text Edit */
- public static final String XSDR_COMPOSITION_REPEAT_TEXT = PLUGIN_NAME + ".xsdr0090";
- /* CONTEXT_ID xsdr0100 for Range Minimum Text Edit */
- public static final String XSDR_COMPOSITION_RANGE_MIN = PLUGIN_NAME + ".xsdr0100";
- /* CONTEXT_ID xsdr0110 for Range Maximum Text Edit */
- public static final String XSDR_COMPOSITION_RANGE_MAX = PLUGIN_NAME + ".xsdr0110";
- /* CONTEXT_ID xsdr0120 for Add Push Button */
- public static final String XSDR_COMPOSITION_ADD = PLUGIN_NAME + ".xsdr0120";
- /* CONTEXT_ID xsdr0130 for Current Regular Expression Text Edit */
- public static final String XSDR_COMPOSITION_CURRENT = PLUGIN_NAME + ".xsdr0130";
-
- /* CONTEXT_ID xsdr0200 for Test Regular Expression Page */
- public static final String XSDR_TEST_PAGE = PLUGIN_NAME + ".xsdr0200";
- /* no CONTEXT_ID for Regular Expression Text Edit (not editable) */
- /* CONTEXT_ID xsdr0210 for Sample Text Text Edit */
- public static final String XSDR_TEST_SAMPLE = PLUGIN_NAME + ".xsdr0210";
-
- /* CONTEXT_IDs for Preferences Page follows the xsdpxxx context IDs */
-
- /* CONTEXT_ID xsdp0010 for XML Schema Preferences Page */
- public static final String XSDP_PREFERENCE_PAGE = PLUGIN_NAME + ".xsdp0010";
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorPlugin.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorPlugin.java
deleted file mode 100644
index 2d2a228b71..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorPlugin.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-
-
-public class XSDEditorPlugin extends AbstractUIPlugin
-{
- public final static String PLUGIN_ID = "org.eclipse.wst.xsd.ui";
- public final static String XSD_EDITOR_ID = "org.eclipse.wst.xsd.ui.XSDEditor";
-
- public final static String DEFAULT_TARGET_NAMESPACE = "http://tempuri.org";
-
- protected static XSDEditorPlugin plugin;
- // protected XMLSchemaPackage xmlschemaPackage;
-// KCPort private static MsgLogger myMsgLogger;
-
- public XSDEditorPlugin(IPluginDescriptor descriptor)
- {
- super(descriptor);
- plugin = this;
-// KCPort myMsgLogger = getMsgLogger();
- //myMsgLogger.write(Level.CONFIG, new BuildInfo());
- //myMsgLogger.write(Level.CONFIG, BuildInfo.getWSABuildLevel());
- }
-
- /**
- * Copy the w3c XMLSchema.dtd and datatypes.dtd into the plugin metadata directory
- * for validation purposes
- */
- public void startup()
- {
- modelManager = getModelManager();
- }
-
- private static IModelManager modelManager;
-
- public static IModelManager getModelManager() {
- IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
- return plugin.getModelManager();
- }
-
-
- /**
- * Get the Install URL
- */
- public static URL getInstallURL()
- {
- return getPlugin().getDescriptor().getInstallURL();
- }
-
- /**
- * Return the plugin physical directory location
- */
- public static IPath getPluginLocation()
- {
- try
- {
- IPath installPath = new Path(getInstallURL().toExternalForm()).removeTrailingSeparator();
- String installStr = Platform.asLocalURL(new URL(installPath.toString())).getFile();
- return new Path(installStr);
- }
- catch (IOException e)
- {
-
- }
- return null;
- }
-
- /**
- * Get the metadata directory for this plugin
- */
- public static String getMetaDataDirectory()
- {
- return getPlugin().getStateLocation().toOSString();
- }
-
- /**
- * Get the one xmlschema package.
- */
-// public XMLSchemaPackage getXMLSchemaPackage()
-// {
-// return xmlschemaPackage;
-// }
-
-// /**
-// * Get the one xmlschema factory.
-// */
-// public XMLSchemaFactory getXMLSchemaFactory()
-// {
-// return (XMLSchemaFactory)xmlschemaPackage.getEFactoryInstance();
-// }
-
- /**
- * Get the singleton instance.
- */
- public static XSDEditorPlugin getPlugin()
- {
- return plugin;
- }
-
- public static Image getXSDImage(String iconName)
- {
- return getPlugin().getImage(iconName);
- }
-
- public Image getImage(String iconName)
- {
- ImageRegistry imageRegistry = getImageRegistry();
-
- if (imageRegistry.get(iconName) != null)
- {
- return imageRegistry.get(iconName);
- }
- else
- {
- imageRegistry.put(iconName, ImageDescriptor.createFromFile(getClass(), iconName));
- return imageRegistry.get(iconName);
- }
- }
-
- public static String getXSDString(String key)
- {
- return Platform.getResourceBundle(plugin.getBundle()).getString(key);
- }
-
- /**
- * This gets the string resource and does one substitution.
- */
- public String getString(String key, Object s1)
- {
- return MessageFormat.format(Platform.getResourceBundle(getBundle()).getString(key), new Object [] { s1 });
- }
-
-// public IWorkspace getWorkspace()
-// {
-// return ResourcesPlugin.getWorkspace();
-// }
-
- public static Shell getShell()
- {
- return getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell();
- }
-
- /**
- * Get the xml schema default namespace prefix
- */
- public String getXMLSchemaPrefix()
- {
- return getPreferenceStore().getString(CONST_XSD_DEFAULT_PREFIX_TEXT);
- }
-
- /**
- * Get the xml schema default target namespace
- */
- public String getXMLSchemaTargetNamespace()
- {
- String targetNamespace = getPreferenceStore().getString(CONST_DEFAULT_TARGET_NAMESPACE);
- if(!targetNamespace.endsWith("/")){
- targetNamespace = targetNamespace + "/";
- }
- return targetNamespace;
- }
-
- /**
- * Get the xml schema language qualification
- */
- public boolean isQualifyXMLSchemaLanguage()
- {
- return getPreferenceStore().getBoolean(CONST_XSD_LANGUAGE_QUALIFY);
- }
-
- /**
- * Method isCombinedDesignAndSourceView.
- * @return boolean if the editor should have a single page that is
- * a combined design and source page
- */
- public boolean isCombinedDesignAndSourceView()
- {
- return COMBINED_LAYOUT.equals(getPreferenceStore().getString(EDITOR_LAYOUT));
- }
-
- public int getDesignLayout()
- {
- if (TOP_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
- {
- return SWT.VERTICAL;
- }
- else if (BOTTOM_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
- {
- return SWT.VERTICAL;
- }
- else if (LEFT_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
- {
- return SWT.HORIZONTAL;
- }
- else if (RIGHT_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
- {
- return SWT.HORIZONTAL;
- }
- return SWT.HORIZONTAL;
- }
-
- public String getDesignLayoutPosition()
- {
- if (TOP_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
- {
- return TOP_LAYOUT;
- }
- else if (BOTTOM_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
- {
- return BOTTOM_LAYOUT;
- }
- else if (LEFT_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
- {
- return LEFT_LAYOUT;
- }
- else if (RIGHT_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
- {
- return RIGHT_LAYOUT;
- }
- return RIGHT_LAYOUT;
- }
-
- /*---------------------------------------------------------------------------*/
- /* the following methods are impls for the IPluginHelper interface */
- /*---------------------------------------------------------------------------*/
-// public void setMsgLoggerConfig(Hashtable msgLoggerConfig)
-// {
-// getMsgLogger().setMsgLoggerConfig(msgLoggerConfig);
-// }
-//
-// public Hashtable getMsgLoggerConfig(Plugin plugin)
-// {
-// return (new PluginHelperImpl().getMsgLoggerConfig(plugin));
-// }
-//
-// public Hashtable getMsgLoggerConfig()
-// {
-// return (getMsgLoggerConfig(this));
-// }
-//
-// /**
-// * XSDEditor and XSDModel use the same logger. See plugin.xml
-// */
-// public MsgLogger getMsgLogger()
-// {
-// if (myMsgLogger == null)
-// {
-// myMsgLogger = (MsgLogger) MsgLogger.getFactory().getLogger(new PluginHelperImpl().getMsgLoggerName(this), this);
-// }
-// return (myMsgLogger);
-// }
-
- public static final String CONST_XSD_DEFAULT_PREFIX_TEXT = "org.eclipse.wst.xmlschema.xsdDefaultPrefixText";
- public static final String CONST_XSD_LANGUAGE_QUALIFY = "org.eclipse.wst.xmlschema.xsdQualify";
- public static final String CONST_DEFAULT_TARGET_NAMESPACE = "org.eclipse.wst.xmlschema.defaultTargetnamespaceText";
-
- // Preference to store which page should come up as the default page in the editor. This setting is based
- // on the page that was left showing the last time the editor was closed.
- public static String DEFAULT_PAGE = "org.eclipse.wst.xsd.ui.internal.defaultPage";
- public static String DESIGN_PAGE = "org.eclipse.wst.xsd.ui.internal.designPage";
- public static String SOURCE_PAGE = "org.eclipse.wst.xsd.ui.internal.sourcePage";
- public static String GRAPH_PAGE = "org.eclipse.wst.xsd.ui.internal.graphPage";
-
- public static String EDITOR_LAYOUT = "org.eclipse.wst.xsd.ui.internal.editorlayout";
- public static String COMBINED_LAYOUT = "org.eclipse.wst.xsd.ui.internal.combined";
- public static String SEPARATE_LAYOUT = "org.eclipse.wst.xsd.ui.internal.separate";
-
- public static String DESIGN_LAYOUT = "org.eclipse.wst.xsd.ui.internal.designlayout";
- public static String TOP_LAYOUT = "org.eclipse.wst.xsd.ui.internal.top";
- public static String BOTTOM_LAYOUT = "org.eclipse.wst.xsd.ui.internal.bottom";
- public static String LEFT_LAYOUT = "org.eclipse.wst.xsd.ui.internal.left";
- public static String RIGHT_LAYOUT = "org.eclipse.wst.xsd.ui.internal.right";
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeDefaultPreferences(IPreferenceStore)
- */
- protected void initializeDefaultPreferences(IPreferenceStore store)
- {
- super.initializeDefaultPreferences(store);
-
- store.setDefault(CONST_XSD_DEFAULT_PREFIX_TEXT, "xsd");
- store.setDefault(CONST_XSD_LANGUAGE_QUALIFY, false);
-
- store.setDefault(DEFAULT_PAGE, DESIGN_PAGE);
- store.setDefault(EDITOR_LAYOUT, COMBINED_LAYOUT);
- store.setDefault(DESIGN_LAYOUT, RIGHT_LAYOUT);
-
- store.setDefault(XSDEditorPlugin.CONST_DEFAULT_TARGET_NAMESPACE, DEFAULT_TARGET_NAMESPACE);
- }
-
- public void setDefaultPage(String page)
- {
- getPreferenceStore().setValue(DEFAULT_PAGE, page);
- }
-
- /**
- * Method getDefaultPage.
- * @return String value of the string constant that is the default page the editor should turn to when
- * first opened. Changes to the last visible page when the editor was closed
- */
- public String getDefaultPage()
- {
- return getPreferenceStore().getString(DEFAULT_PAGE);
- }
-
- protected URL baseURL;
- public URL getBaseURL()
- {
- return getDescriptor().getInstallURL();
- }
-
- public Image getIconImage(String object)
- {
- try
- {
- return ExtendedImageRegistry.getInstance().getImage(new URL(getBaseURL() + "icons/" + object + ".gif"));
- }
- catch (MalformedURLException exception)
- {
- System.out.println("Failed to load image for '" + object + "'");
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java
deleted file mode 100644
index 72ce37c79d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java
+++ /dev/null
@@ -1,1975 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.xsd.ui.internal.actions.AddEnumsAction;
-import org.eclipse.wst.xsd.ui.internal.actions.AddModelGroupAction;
-import org.eclipse.wst.xsd.ui.internal.actions.BackAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateAnnotationAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateElementAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateGroupAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateIdentityConstraintsAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateLocalComplexTypeAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateLocalSimpleTypeAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateSimpleContentAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateSimpleTypeAction;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.actions.DeleteAction;
-import org.eclipse.wst.xsd.ui.internal.actions.MakeAnonymousGlobal;
-import org.eclipse.wst.xsd.ui.internal.actions.OpenSchemaAction;
-import org.eclipse.wst.xsd.ui.internal.actions.SetBaseTypeAction;
-import org.eclipse.wst.xsd.ui.internal.actions.XSDEditNamespacesAction;
-import org.eclipse.wst.xsd.ui.internal.graph.model.Category;
-import org.eclipse.wst.xsd.ui.internal.provider.CategoryAdapter;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class XSDMenuListener implements IMenuListener
-{
- protected ISelectionProvider selectionProvider;
- //protected XSDTextEditor textEditor;
- protected DeleteAction deleteAction;
-// protected IAction undoAction, redoAction;
- protected CreateElementAction addComplexTypeAction;
- protected XSDSchema xsdSchema;
- protected boolean isReadOnly;
-
- /**
- * Constructor for XSDMenuListener.
- */
- public XSDMenuListener(ISelectionProvider selectionProvider)
- {
- super();
- this.selectionProvider = selectionProvider;
-
- deleteAction = new DeleteAction(XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE"), null, getXSDSchema());
- deleteAction.setSelectionProvider(selectionProvider);
- selectionProvider.addSelectionChangedListener(deleteAction);
- }
-
- public void setSelectionProvider(ISelectionProvider selectionProvider)
- {
- this.selectionProvider = selectionProvider;
- }
-
- protected XSDSchema getXSDSchema()
- {
- return xsdSchema;
- }
-
- protected Object getSelectedElement()
- {
- ISelection selection = selectionProvider.getSelection();
- if (selection.isEmpty())
- {
- return null;
- }
- return ((IStructuredSelection) selection).getFirstElement();
- }
-
- protected void updateXSDSchema()
- {
- Object object = getSelectedElement();
- if (object instanceof XSDConcreteComponent)
- {
- xsdSchema = ((XSDConcreteComponent)object).getSchema();
- boolean flag = true;
- isReadOnly = false;
- if (xsdSchema == null)
- {
- return;
- }
- while (flag)
- {
- List list = xsdSchema.getReferencingDirectives();
- if (list.size() > 0)
- {
- isReadOnly = true;
- XSDSchemaDirective xsdSchemaDirective = (XSDSchemaDirective)list.get(0);
- if (xsdSchemaDirective.getSchema() != null)
- {
- xsdSchema = xsdSchemaDirective.getSchema();
- }
- else
- {
- flag = false;
- }
- }
- else
- {
- flag = false;
- }
- }
- }
- else if (object instanceof Category)
- {
- Category cg = (Category)object;
- xsdSchema = cg.getXSDSchema();
- }
- else if (object instanceof CategoryAdapter)
- {
- CategoryAdapter category = (CategoryAdapter)object;
- xsdSchema = category.getXSDSchema();
- }
- }
-
- /*
- * @see IMenuListener#menuAboutToShow(IMenuManager)
- */
- public void menuAboutToShow(IMenuManager manager)
- {
- isReadOnly = false;
- updateXSDSchema();
- if (xsdSchema == null)
- {
- return;
- }
-
- deleteAction.setXSDSchema(xsdSchema);
- deleteAction.setEnabled(!isReadOnly);
-
- BackAction backAction = new BackAction(XSDEditorPlugin.getXSDString("_UI_ACTION_BACK_TO_SCHEMA_VIEW")); //$NON-NLS-1$
- backAction.setXSDSchema(getXSDSchema());
- backAction.setSelectionProvider(selectionProvider);
-
- Object selectedElementObj = getSelectedElement();
-
- if (selectedElementObj instanceof XSDSchema || selectedElementObj instanceof Category || selectedElementObj instanceof CategoryAdapter)
- {
- backAction.setEnabled(false);
- }
- manager.add(backAction);
- manager.add(new Separator());
-// if (undoAction == null && textEditor != null)
-// {
-// undoAction = textEditor.getAction(org.eclipse.ui.texteditor.ITextEditorActionConstants.UNDO);
-// redoAction = textEditor.getAction(org.eclipse.ui.texteditor.ITextEditorActionConstants.REDO);
-// }
- // Element selectedElement = getSelectedElement();
-
- Element selectedElement = null;
-
- if (selectedElementObj instanceof Element)
- {
- selectedElement = (Element) selectedElementObj;
- }
- else if (selectedElementObj instanceof XSDConcreteComponent)
- {
- selectedElement = ((XSDConcreteComponent) selectedElementObj).getElement();
- }
- else if (selectedElementObj instanceof Category || selectedElementObj instanceof CategoryAdapter)
- {
- int groupType = -1;
- if (selectedElementObj instanceof Category)
- {
- Category category = (Category) selectedElementObj;
- groupType = category.getGroupType();
- }
- // todo... We need to ensure we eliminate the need for
- // this case. The XSDMenuListener class should not have
- // view dependant code. We need to do some work to ensure all
- // views utilize the 'Category' model object
- else if (selectedElementObj instanceof CategoryAdapter)
- {
- CategoryAdapter categoryAdapter = (CategoryAdapter) selectedElementObj;
- groupType = categoryAdapter.getGroupType();
- }
- ArrayList attributes = null;
- Element parent = getXSDSchema().getElement();
- Node relativeNode = null;
- switch (groupType)
- {
- case Category.TYPES : {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("ComplexType")));
- Action action = addCreateElementAction(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_TYPE"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("SimpleType")));
- Action action2 = addCreateSimpleTypeAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_TYPE"), attributes, parent, relativeNode);
- ((CreateElementAction) action2).setIsGlobal(true);
- break;
- }
- case Category.ELEMENTS : {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ELEMENT_ELEMENT_TAG, "GlobalElement")));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- Action action = addCreateElementAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ELEMENT"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- break;
- }
- case Category.GROUPS : {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.GROUP_ELEMENT_TAG, "Group")));
- CreateGroupAction groupAction = addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GROUP"), attributes, parent, relativeNode);
- groupAction.setIsGlobal(true);
- break;
- }
- case Category.ATTRIBUTES : {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ATTRIBUTE_ELEMENT_TAG, "GlobalAttribute")));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- Action action = addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GLOBAL_ATTRIBUTE"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- break;
- }
- case Category.ATTRIBUTE_GROUPS : {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, "AttributeGroup")));
- Action action = addCreateElementAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- break;
- }
- case Category.NOTATIONS : {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.NOTATION_ELEMENT_TAG, "Notation")));
- attributes.add(new DOMAttribute(XSDConstants.PUBLIC_ATTRIBUTE, ""));
- Action action = addCreateElementAction(manager, XSDConstants.NOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_NOTATION"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- break;
- }
- case Category.DIRECTIVES : {
- boolean b = true;
- NodeList children = parent.getChildNodes();
- int length = children.getLength();
- Node effectiveRelativeNode = parent.getFirstChild();
- for (int i = 0; i < length && b; i++)
- {
- Node child = children.item(i);
- if (child != null && child instanceof Element)
- {
- if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.INCLUDE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.IMPORT_ELEMENT_TAG, false)
- || XSDDOMHelper.inputEquals((Element) child, XSDConstants.REDEFINE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
- {
- effectiveRelativeNode = child;
- }
- else
- {
- b = false;
- }
- }
- }
- relativeNode = effectiveRelativeNode != null ? XSDDOMHelper.getNextElementNode(effectiveRelativeNode) : null;
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, ""));
- Action action = addCreateElementAction(manager, XSDConstants.INCLUDE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_INCLUDE"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- action = addCreateElementAction(manager, XSDConstants.IMPORT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_IMPORT"), null, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- action = addCreateElementAction(manager, XSDConstants.REDEFINE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_REDEFINE"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- break;
- }
- case Category.ANNOTATIONS : {
- Action action = addCreateElementAction(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), null, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- break;
- }
- }
-// manager.add(new Separator());
-// if (undoAction != null)
-// {
-// manager.add(undoAction);
-// manager.add(redoAction);
-// }
- return;
- }
- if (selectedElement != null)
- {
- // Add context menu items for selected element
- addContextItems(manager, selectedElement, null);
- manager.add(new Separator());
- //else
-// if (textEditor != null)
-// {
-// Document document = getXSDSchema().getDocument();
-// if (document != null)
-// {
-// Element docElement = getXSDSchema().getDocument().getDocumentElement();
-// if (!XSDDOMHelper.inputEquals(docElement, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-// // if (list.getLength() == 0)
-// {
-// // no schema tag. Enable the Add Schema action
-// AddSchemaNodeAction action = new AddSchemaNodeAction(XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SCHEMA_NODE"));
-// action.setEditor((XSDEditor) textEditor.getEditorPart());
-// manager.add(action);
-// }
-// }
-// }
- }
-// manager.add(new Separator());
-// if (undoAction != null)
-// {
-// manager.add(undoAction);
-// manager.add(redoAction);
-// }
-
- manager.add(new Separator());
- if (deleteAction != null)
- {
- manager.add(deleteAction);
- }
- }
-
- protected String getBuiltInStringQName()
- {
- String stringName = "string";
- if (getXSDSchema() != null)
- {
- String schemaForSchemaPrefix = getXSDSchema().getSchemaForSchemaQNamePrefix();
- if (schemaForSchemaPrefix != null && schemaForSchemaPrefix.length() > 0)
- {
- String prefix = getXSDSchema().getSchemaForSchemaQNamePrefix();
- if (prefix != null && prefix.length() > 0)
- {
- stringName = prefix + ":" + stringName;
- }
- }
- }
- return stringName;
- }
-
- /**
- * Method addContextItems.
- *
- * @param manager
- * @param parent -
- * menu items should be context sensitive to this node
- * @param relativeNode -
- * anything inserted, should be inserted before this node (which is a
- * child of the parent node. A value of null means add to the end
- */
- protected void addContextItems(IMenuManager manager, Element parent, Node relativeNode)
- {
- ArrayList attributes = null;
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- { //
- addSchemaElementItems(manager, parent, relativeNode);
- manager.add(new Separator());
- boolean b = true;
- NodeList children = parent.getChildNodes();
- Node effectiveRelativeNode = parent.getFirstChild();
- for (int i = 0; i < children.getLength() && b; i++)
- {
- Node child = children.item(i);
- if (child != null && child instanceof Element)
- {
- if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.INCLUDE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.IMPORT_ELEMENT_TAG, false)
- || XSDDOMHelper.inputEquals((Element) child, XSDConstants.REDEFINE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
- {
- effectiveRelativeNode = child;
- }
- else
- {
- b = false;
- }
- }
- }
- relativeNode = effectiveRelativeNode != null ? effectiveRelativeNode.getNextSibling() : null;
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, ""));
- addCreateElementAction(manager, XSDConstants.INCLUDE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_INCLUDE"), attributes, parent, relativeNode);
- addCreateElementAction(manager, XSDConstants.IMPORT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_IMPORT"), null, parent, relativeNode);
- addCreateElementAction(manager, XSDConstants.REDEFINE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_REDEFINE"), attributes, parent, relativeNode);
- attributes = null;
- addCreateAnnotationAction(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), null, parent, relativeNode);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
- { //
- addCreateElementAction(manager, XSDConstants.DOCUMENTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_DOC"), attributes, parent, null);
- addCreateElementAction(manager, XSDConstants.APPINFO_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_APP_INFO"), attributes, parent, null);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ELEMENT_ELEMENT_TAG, false))
- { //
- Element parentNode = (Element) parent.getParentNode();
- boolean isGlobalElement = false;
- if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- isGlobalElement = true;
- }
- boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
- parent.getFirstChild());
- boolean simpleTypeExists = elementExists(XSDConstants.SIMPLETYPE_ELEMENT_TAG, parent);
- boolean complexTypeExists = elementExists(XSDConstants.COMPLEXTYPE_ELEMENT_TAG, parent);
- manager.add(new Separator());
- if (annotationExists)
- {
- Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
- if (!(simpleTypeExists || complexTypeExists) && annotationNode != null)
- {
- //addCreateLocalSimpleTypeActionIfNotExist(manager,
- // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
- // attributes, parent, annotationNode.getNextSibling());
- //addCreateLocalComplexTypeActionIfNotExist(manager,
- // XSDConstants.COMPLEXTYPE_ELEMENT_TAG, "Add Local Complex Type",
- // attributes, parent, annotationNode.getNextSibling());
- manager.add(new Separator());
- }
- }
- else
- {
- // Should still be able to add the content models if the anonymous type
- // exists,
- // ie. with attributes
- // if (!(simpleTypeExists || complexTypeExists))
- // {
- //addCreateLocalSimpleTypeActionIfNotExist(manager,
- // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
- // attributes, parent, parent.getFirstChild());
- //addCreateLocalComplexTypeActionIfNotExist(manager,
- // XSDConstants.COMPLEXTYPE_ELEMENT_TAG, "Add Local Complex Type",
- // attributes, parent, parent.getFirstChild());
- XSDConcreteComponent concreteComponent = getXSDSchema().getCorrespondingComponent(parent);
- if (concreteComponent != null)
- {
- AddModelGroupAction addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.SEQUENCE_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.CHOICE_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.ALL_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- manager.add(new Separator());
- }
- // }
- }
-// attributes = new ArrayList();
-// attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_Unique"));
-// addCreateIdentityConstraintsAction(manager, XSDConstants.UNIQUE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_UNIQUE"), attributes, parent, null);
-// attributes = new ArrayList();
-// attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_Key"));
-// addCreateIdentityConstraintsAction(manager, XSDConstants.KEY_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_KEY"), attributes, parent, null);
-// attributes = new ArrayList();
-// attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_KeyRef"));
-// addCreateIdentityConstraintsAction(manager, XSDConstants.KEYREF_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_KEY_REF"), attributes, parent, null);
- XSDDOMHelper domHelper = new XSDDOMHelper();
- Element anonymousType = (Element) domHelper.getChildNode(parent, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- if (anonymousType != null)
- {
- manager.add(new Separator());
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("ComplexType")));
- addMoveAnonymousGlobal(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, anonymousType, null);
- attributes = null;
- }
- anonymousType = (Element) domHelper.getChildNode(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (anonymousType != null)
- {
- manager.add(new Separator());
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("SimpleType")));
- addMoveAnonymousGlobal(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, anonymousType, null);
- attributes = null;
- }
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.SEQUENCE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals(parent, XSDConstants.CHOICE_ELEMENT_TAG, false))
- { //
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- manager.add(new Separator());
- addCreateElementAction(manager, XSDConstants.CHOICE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CHOICE"), attributes, parent, null);
- addCreateElementAction(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SEQUENCE"), attributes, parent, null);
- addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, null);
- manager.add(new Separator());
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ELEMENT_ELEMENT_TAG, "Element", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ELEMENT"), attributes, parent, null);
- addCreateElementRefAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ELEMENT_REF"), parent, null);
- manager.add(new Separator());
- attributes = null;
- addCreateElementAction(manager, XSDConstants.ANY_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ELEMENT"), attributes, parent, null);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ALL_ELEMENT_TAG, false))
- { //
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- manager.add(new Separator());
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ELEMENT_ELEMENT_TAG, "Element", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ELEMENT"), attributes, parent, null);
- addCreateElementRefAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ELEMENT_REF"), parent, null);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false))
- { //
- boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
- parent.getFirstChild());
- boolean anyAttributeExists = elementExists(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, parent);
- Node anyAttributeNode = null;
- manager.add(new Separator());
- if (anyAttributeExists)
- {
- anyAttributeNode = getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
- }
- else
- {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
- }
- attributes = null;
- addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, null);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.NOTATION_ELEMENT_TAG, false))
- { //
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, null);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- { //
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- boolean restrictionExists = elementExists(XSDConstants.RESTRICTION_ELEMENT_TAG, parent);
- boolean unionExists = elementExists(XSDConstants.UNION_ELEMENT_TAG, parent);
- boolean listExists = elementExists(XSDConstants.LIST_ELEMENT_TAG, parent);
- if (!(restrictionExists || unionExists || listExists))
- {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementActionIfNotExist(manager, XSDConstants.RESTRICTION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_RESTRICTION"), attributes, parent, null);
- attributes = null;
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementActionIfNotExist(manager, XSDConstants.UNION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_UNION"), attributes, parent, null);
- attributes = null;
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementActionIfNotExist(manager, XSDConstants.LIST_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LIST"), attributes, parent, null);
- attributes = null;
- }
- if (XSDDOMHelper.inputEquals(parent.getParentNode(), XSDConstants.ELEMENT_ELEMENT_TAG, false))
- {
- manager.add(new Separator());
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("SimpleType")));
- addMoveAnonymousGlobal(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, parent, null);
- attributes = null;
- }
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.GROUP_ELEMENT_TAG, false))
- { //
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- addCreateElementActionIfNotExist(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, null);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
- { //
- boolean annotationExists = false;
- boolean contentExists = false;
- boolean complexOrSimpleContentExists = false;
- boolean anyAttributeExists = false;
- Node annotationNode = null;
- Node contentNode = null;
- Node anyAttributeNode = null;
- NodeList children = parent.getChildNodes();
- for (int i = 0; i < children.getLength(); i++)
- {
- Node child = children.item(i);
- if (child != null && child instanceof Element)
- {
- if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
- {
- annotationNode = child;
- annotationExists = true;
- }
- else if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.SEQUENCE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.ALL_ELEMENT_TAG, false)
- || XSDDOMHelper.inputEquals((Element) child, XSDConstants.CHOICE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.GROUP_ELEMENT_TAG, true)
- || XSDDOMHelper.inputEquals((Element) child, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- contentExists = true;
- contentNode = child;
- if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- complexOrSimpleContentExists = true;
- }
- }
- else if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false))
- {
- anyAttributeExists = true;
- anyAttributeNode = child;
- }
- }
- }
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- manager.add(new Separator());
- addSetBaseTypeAction(manager, parent);
- XSDConcreteComponent concreteComponent = getXSDSchema().getCorrespondingComponent(parent);
- if (annotationExists)
- {
- if (!contentExists)
- {
- // Add content model
- // addCreateElementAction(manager, XSDConstants.SEQUENCE_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"),
- // attributes, parent, annotationNode.getNextSibling());
- if (concreteComponent != null)
- {
- AddModelGroupAction addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.SEQUENCE_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.CHOICE_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.ALL_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- }
- // Temporarily remove this until we provide a graphical rep of these
- // components
- // addCreateSimpleContentAction(manager,
- // XSDConstants.SIMPLECONTENT_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_CONTENT"),
- // attributes,
- // parent, annotationNode.getNextSibling());
- // addCreateSimpleContentAction(manager,
- // XSDConstants.COMPLEXCONTENT_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_CONTENT"),
- // attributes,
- // parent, annotationNode.getNextSibling());
- addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, annotationNode.getNextSibling());
- attributes = null;
- }
- }
- else
- {
- if (!contentExists)
- {
- // Add content model
- // addCreateElementAction(manager, XSDConstants.SEQUENCE_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"),
- // attributes, parent, parent.getFirstChild());
- if (concreteComponent != null)
- {
- AddModelGroupAction addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.SEQUENCE_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.CHOICE_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.ALL_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- }
- // Temporarily remove this until we provide a graphical rep of these
- // components
- // addCreateSimpleContentAction(manager,
- // XSDConstants.SIMPLECONTENT_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_CONTENT"),
- // attributes,
- // parent, parent.getFirstChild());
- // addCreateSimpleContentAction(manager,
- // XSDConstants.COMPLEXCONTENT_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_CONTENT"),
- // attributes,
- // parent, parent.getFirstChild());
- addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, parent.getFirstChild());
- attributes = null;
- }
- }
- manager.add(new Separator());
- if (anyAttributeExists)
- {
- if (!complexOrSimpleContentExists)
- {
-// attributes = new ArrayList();
-// attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-// attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-// addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
-// attributes = null;
-// // ARE ATTRIBUTE GROUPS ALLOWED ?
-// // addCreateElementAction(manager,
-// // XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
-// // "_UI_ACTION_ADD_ATTRIBUTE_GROUP", attributes, parent,
-// // anyAttributeNode);
-// addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
-// addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
- }
- }
- else
- {
- if (!complexOrSimpleContentExists)
- {
-// attributes = new ArrayList();
-// attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-// attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-// addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-// attributes = null;
-// // ARE ATTRIBUTE GROUPS ALLOWED ?
-// // addCreateElementAction(manager,
-// // XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
-// // "_UI_ACTION_ADD_ATTRIBUTE_GROUP", attributes, parent,
-// // parent.getLastChild());
-// addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
-// addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
-// attributes = null;
-// addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- }
- }
- if (XSDDOMHelper.inputEquals(parent.getParentNode(), XSDConstants.ELEMENT_ELEMENT_TAG, false))
- {
- manager.add(new Separator());
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("ComplexType")));
- addMoveAnonymousGlobal(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, parent, null);
- attributes = null;
- }
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- { //
- XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
- Element derivedByNode = xsdDOMHelper.getDerivedByElement(parent);
- String derivedByName = xsdDOMHelper.getDerivedByName(parent);
- boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
- parent.getFirstChild());
- manager.add(new Separator());
- if (derivedByNode == null)
- {
- TypesHelper typesHelper = new TypesHelper(getXSDSchema());
- String firstType = "";
- List listOfCT = typesHelper.getUserComplexTypeNamesList();
- if (listOfCT.size() > 0)
- {
- firstType = (String) (listOfCT).get(0);
- }
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, firstType));
- addCreateElementActionIfNotExist(manager, XSDConstants.RESTRICTION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_RESTRICTION"), attributes, parent, null);
- addCreateElementActionIfNotExist(manager, XSDConstants.EXTENSION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_EXTENSION"), attributes, parent, null);
- }
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
- { //
- XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
- Element derivedByNode = xsdDOMHelper.getDerivedByElement(parent);
- String derivedByName = xsdDOMHelper.getDerivedByName(parent);
- boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
- parent.getFirstChild());
- manager.add(new Separator());
- if (derivedByNode == null)
- {
- TypesHelper typesHelper = new TypesHelper(getXSDSchema());
- String firstType = "";
- List listOfCT = typesHelper.getUserComplexTypeNamesList();
- if (listOfCT.size() > 0)
- {
- firstType = (String) (listOfCT).get(0);
- }
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, firstType));
- addCreateElementActionIfNotExist(manager, XSDConstants.RESTRICTION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_RESTRICTION"), attributes, parent, null);
- addCreateElementActionIfNotExist(manager, XSDConstants.EXTENSION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_EXTENSION"), attributes, parent, null);
- }
- /*
- * for combined SimpleContent and derivedBy nodes (but without
- * restrictions) XSDDOMHelper xsdDOMHelper = new XSDDOMHelper(); Element
- * derivedByNode = xsdDOMHelper.getDerivedByElement(parent); String
- * derivedByName = xsdDOMHelper.getDerivedByName(parent);
- *
- * if (derivedByNode != null) { if (derivedByName.equals("restriction")) {
- * addCreateElementActionIfNotExist(manager,
- * XSDConstants.SIMPLETYPE_ELEMENT_TAG, "_UI_ACTION_ADD_SIMPLE_TYPE",
- * attributes, derivedByNode, relativeNode); }
- * addCreateElementActionIfNotExist(manager,
- * XSDConstants.ANNOTATION_ELEMENT_TAG, "_UI_ACTION_ADD_ANNOTATION",
- * attributes, derivedByNode, relativeNode);
- * addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG,
- * "_UI_ACTION_ADD_ATTRIBUTE", attributes, derivedByNode, relativeNode);
- * attributes = new ArrayList(); attributes.add(new
- * DOMAttribute(XSDConstants.REF_ATTRIBUTE, ""));
- * addCreateElementAction(manager,
- * XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
- * "_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF", attributes, derivedByNode,
- * relativeNode); attributes = new ArrayList();
- * addCreateElementActionIfNotExist(manager,
- * XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, "_UI_ACTION_ADD_ANY_ATTRIBUTE",
- * attributes, derivedByNode, relativeNode); } else { TypesHelper
- * typesHelper = new TypesHelper(getXSDSchema()); String firstType =
- * (String)(typesHelper.getBuiltInTypeNamesList()).get(0); attributes =
- * new ArrayList(); attributes.add(new
- * DOMAttribute(XSDConstants.BASE_ATTRIBUTE, firstType));
- *
- * addCreateElementActionIfNotExist(manager,
- * XSDConstants.ANNOTATION_ELEMENT_TAG, "_UI_ACTION_ADD_ANNOTATION",
- * attributes, parent, relativeNode);
- * addCreateElementActionIfNotExist(manager,
- * XSDConstants.RESTRICTION_ELEMENT_TAG, "_UI_ACTION_ADD_RESTRICTION",
- * attributes, parent, relativeNode);
- * addCreateElementActionIfNotExist(manager,
- * XSDConstants.EXTENSION_ELEMENT_TAG, "_UI_ACTION_ADD_EXTENSION",
- * attributes, parent, relativeNode); }
- */
- // addCreateElementActionIfNotExist(manager,
- // XSDConstants.SEQUENCE_ELEMENT_TAG,
- // "_UI_ACTION_ADD_CONTENT_MODEL", attributes, parent, relativeNode);
- // attributes = new ArrayList();
- // attributes.add(new DOMAttribute(XSDConstants.REF_ATTRIBUTE, ""));
- // addCreateElementActionIfNotExist(manager,
- // XSDConstants.GROUP_ELEMENT_TAG,
- // "_UI_ADD_GROUP_REF", attributes, parent, relativeNode);
- // addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG,
- // "_UI_ACTION_ADD_ATTRIBUTE", attributes, parent, relativeNode);
- // attributes = new ArrayList();
- // attributes.add(new DOMAttribute(XSDConstants.REF_ATTRIBUTE, ""));
- // addCreateElementAction(manager,
- // XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
- // "_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF", attributes, parent,
- // relativeNode);
- // addCreateElementActionIfNotExist(manager,
- // XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, "_UI_ACTION_ADD_ANY_ATTRIBUTE",
- // attributes, parent, relativeNode);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false))
- {
- Element parentNode = (Element) parent.getParentNode();
- // <simpleContent>
- // <restriction>
- // ...
- if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
- {
- boolean annotationExists = false;
- boolean anyAttributeExists = false;
- Node anyAttributeNode = null;
- anyAttributeExists = elementExists(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, parent);
- annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent
- .getFirstChild());
- if (annotationExists)
- {
- Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
- //addCreateLocalSimpleTypeActionIfNotExist(manager,
- // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
- // attributes, parent, annotationNode.getNextSibling());
- }
- else
- {
- //addCreateLocalSimpleTypeActionIfNotExist(manager,
- // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
- // attributes, parent, parent.getFirstChild());
- }
- /*
- * addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG,
- * "_UI_ACTION_ADD_ATTRIBUTE", attributes, parent, relativeNode);
- * attributes = new ArrayList(); attributes.add(new
- * DOMAttribute(XSDConstants.REF_ATTRIBUTE, ""));
- * addCreateElementAction(manager,
- * XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
- * "_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF", attributes, parent,
- * relativeNode); attributes = new ArrayList();
- * addCreateElementActionIfNotExist(manager,
- * XSDConstants.ANYATTRIBUTE_ELEMENT_TAG,
- * "_UI_ACTION_ADD_ANY_ATTRIBUTE", attributes, parent, relativeNode);
- */
- manager.add(new Separator());
- if (anyAttributeExists)
- {
- anyAttributeNode = getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
- }
- else
- {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
- }
- attributes = null;
- addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- }
- // <simpleType>
- // <restriction>
- // ...
- else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
- boolean annotationExists = false;
- attributes = null;
- annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent
- .getFirstChild());
- if (annotationExists)
- {
- Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
- addCreateLocalSimpleTypeActionIfNotExist(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, annotationNode
- .getNextSibling());
- }
- else
- {
- addCreateLocalSimpleTypeActionIfNotExist(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, parent
- .getFirstChild());
- }
- manager.add(new Separator());
- addCreateElementAction(manager, XSDConstants.PATTERN_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_PATTERN"), attributes, parent, null);
- addCreateElementAction(manager, XSDConstants.ENUMERATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUM"), attributes, parent, null);
- addEnumsAction(manager, XSDConstants.ENUMERATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUMS"), attributes, parent, null);
- }
- // <complexContent>
- // <restriction>
- // ...
- else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- boolean annotationExists = false;
- boolean anyAttributeExists = false;
- Node anyAttributeNode = null;
- boolean sequenceExists = elementExists(XSDConstants.SEQUENCE_ELEMENT_TAG, parent);
- boolean choiceExists = elementExists(XSDConstants.CHOICE_ELEMENT_TAG, parent);
- boolean allExists = elementExists(XSDConstants.ALL_ELEMENT_TAG, parent);
- boolean groupExists = elementExists(XSDConstants.GROUP_ELEMENT_TAG, parent);
- anyAttributeExists = elementExists(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, parent);
- annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent
- .getFirstChild());
- manager.add(new Separator());
- if (annotationExists)
- {
- if (!(sequenceExists || choiceExists || allExists || groupExists))
- {
- Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
- addCreateElementActionIfNotExist(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, annotationNode
- .getNextSibling());
- // addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG,
- // "_UI_ACTION_ADD_GROUP", attributes, parent,
- // annotationNode.getNextSibling());
- addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, annotationNode.getNextSibling());
- }
- }
- else
- {
- if (!(sequenceExists || choiceExists || allExists || groupExists))
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, parent.getFirstChild());
- // addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG,
- // "_UI_ACTION_ADD_GROUP", attributes, parent,
- // parent.getFirstChild());
- addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, parent.getFirstChild());
- }
- }
- manager.add(new Separator());
- if (anyAttributeExists)
- {
- anyAttributeNode = getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
- }
- else
- {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
- }
- attributes = null;
- addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- }
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.EXTENSION_ELEMENT_TAG, false))
- { //
- Element parentNode = (Element) parent.getParentNode();
- // <simpleContent>
- // <extension>
- // ...
- if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
- {
- boolean annotationExists = false;
- boolean anyAttributeExists = false;
- Node anyAttributeNode = null;
- anyAttributeExists = elementExists(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, parent);
- annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent
- .getFirstChild());
- manager.add(new Separator());
- if (anyAttributeExists)
- {
- anyAttributeNode = getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
- }
- else
- {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
- }
- attributes = null;
- addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- }
- // <complexContent>
- // <extension>
- // ...
- else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- boolean annotationExists = false;
- boolean anyAttributeExists = false;
- Node anyAttributeNode = null;
- boolean sequenceExists = elementExists(XSDConstants.SEQUENCE_ELEMENT_TAG, parent);
- boolean choiceExists = elementExists(XSDConstants.CHOICE_ELEMENT_TAG, parent);
- boolean allExists = elementExists(XSDConstants.ALL_ELEMENT_TAG, parent);
- boolean groupExists = elementExists(XSDConstants.GROUP_ELEMENT_TAG, parent);
- anyAttributeExists = elementExists(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, parent);
- annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent
- .getFirstChild());
- manager.add(new Separator());
- if (annotationExists)
- {
- if (!(sequenceExists || choiceExists || allExists || groupExists))
- {
- Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
- addCreateElementActionIfNotExist(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, annotationNode
- .getNextSibling());
- // addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GROUP"), attributes,
- // parent,
- // annotationNode.getNextSibling());
- addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, annotationNode.getNextSibling());
- }
- }
- else
- {
- if (!(sequenceExists || choiceExists || allExists || groupExists))
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, parent.getFirstChild());
- // addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GROUP"), attributes,
- // parent,
- // parent.getFirstChild());
- addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, parent.getFirstChild());
- }
- }
- manager.add(new Separator());
- if (anyAttributeExists)
- {
- anyAttributeNode = getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
- }
- else
- {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
- }
- attributes = null;
- addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- }
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.REDEFINE_ELEMENT_TAG, false))
- { //
- addCreateElementAction(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, null);
- addCreateElementAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_TYPE"), attributes, parent, null);
- addCreateElementAction(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_TYPE"), attributes, parent, null);
- addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GROUP"), attributes, parent, null);
- addCreateElementAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP"), attributes, parent, null);
- manager.add(new Separator());
- addOpenSchemaAction(manager, XSDEditorPlugin.getXSDString("_UI_ACTION_OPEN_SCHEMA"), parent);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.LIST_ELEMENT_TAG, false))
- { //
- boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
- parent.getFirstChild());
- manager.add(new Separator());
- addCreateLocalSimpleTypeActionIfNotExist(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, null);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.UNION_ELEMENT_TAG, false))
- { //
- boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
- parent.getFirstChild());
- manager.add(new Separator());
- addCreateLocalSimpleTypeAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, null);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.UNIQUE_ELEMENT_TAG, false))
- { //
- boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
- parent.getFirstChild());
- manager.add(new Separator());
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
- if (annotationExists)
- {
- Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
- addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, annotationNode.getNextSibling());
- }
- else
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, parent.getFirstChild());
- }
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
- addCreateElementAction(manager, XSDConstants.FIELD_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_FIELD"), attributes, parent, null);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.KEYREF_ELEMENT_TAG, false))
- { //
- boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
- parent.getFirstChild());
- manager.add(new Separator());
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
- if (annotationExists)
- {
- Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
- addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, annotationNode.getNextSibling());
- }
- else
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, parent.getFirstChild());
- }
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
- addCreateElementAction(manager, XSDConstants.FIELD_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_FIELD"), attributes, parent, null);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.KEY_ELEMENT_TAG, false))
- { //
- boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
- parent.getFirstChild());
- manager.add(new Separator());
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
- if (annotationExists)
- {
- Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
- addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, annotationNode.getNextSibling());
- }
- else
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, parent.getFirstChild());
- }
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
- addCreateElementAction(manager, XSDConstants.FIELD_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_FIELD"), attributes, parent, null);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.IMPORT_ELEMENT_TAG, false))
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- manager.add(new Separator());
- addOpenSchemaAction(manager, XSDEditorPlugin.getXSDString("_UI_ACTION_OPEN_SCHEMA"), parent);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.SELECTOR_ELEMENT_TAG, false))
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.FIELD_ELEMENT_TAG, false))
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.INCLUDE_ELEMENT_TAG, false))
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- manager.add(new Separator());
- addOpenSchemaAction(manager, XSDEditorPlugin.getXSDString("_UI_ACTION_OPEN_SCHEMA"), parent);
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ANY_ELEMENT_TAG, false))
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false))
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
- {
- addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- addCreateLocalSimpleTypeActionIfNotExist(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, null);
- }
- // Facets all have optional annotation nodes
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MINEXCLUSIVE_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MININCLUSIVE_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MAXEXCLUSIVE_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MAXINCLUSIVE_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.TOTALDIGITS_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.FRACTIONDIGITS_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.LENGTH_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MINLENGTH_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MAXLENGTH_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ENUMERATION_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.WHITESPACE_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.PATTERN_ELEMENT_TAG, false))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
- {
- addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ELEMENT_ELEMENT_TAG, true))
- {
- // TODO common this up with the non-ref case
-// addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
- XSDConcreteComponent xsdConcreteComponent = (XSDConcreteComponent)getXSDSchema().getCorrespondingComponent(parent);
- if (xsdConcreteComponent instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)xsdConcreteComponent;
- XSDElementDeclaration resolvedElementDeclaration = xsdElementDeclaration.getResolvedElementDeclaration();
- if (resolvedElementDeclaration.getRootContainer() == xsdSchema)
- {
- parent = resolvedElementDeclaration.getElement();
-
- Element parentNode = (Element) parent.getParentNode();
-
- boolean isGlobalElement = false;
- if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- isGlobalElement = true;
- }
- boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
- parent.getFirstChild());
- boolean simpleTypeExists = elementExists(XSDConstants.SIMPLETYPE_ELEMENT_TAG, parent);
- boolean complexTypeExists = elementExists(XSDConstants.COMPLEXTYPE_ELEMENT_TAG, parent);
- manager.add(new Separator());
- if (annotationExists)
- {
- Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
- if (!(simpleTypeExists || complexTypeExists) && annotationNode != null)
- {
- //addCreateLocalSimpleTypeActionIfNotExist(manager,
- // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
- // attributes, parent, annotationNode.getNextSibling());
- //addCreateLocalComplexTypeActionIfNotExist(manager,
- // XSDConstants.COMPLEXTYPE_ELEMENT_TAG, "Add Local Complex Type",
- // attributes, parent, annotationNode.getNextSibling());
- manager.add(new Separator());
- }
- }
- else
- {
- // Should still be able to add the content models if the anonymous type
- // exists,
- // ie. with attributes
- // if (!(simpleTypeExists || complexTypeExists))
- // {
- //addCreateLocalSimpleTypeActionIfNotExist(manager,
- // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
- // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
- // attributes, parent, parent.getFirstChild());
- //addCreateLocalComplexTypeActionIfNotExist(manager,
- // XSDConstants.COMPLEXTYPE_ELEMENT_TAG, "Add Local Complex Type",
- // attributes, parent, parent.getFirstChild());
- XSDConcreteComponent concreteComponent = getXSDSchema().getCorrespondingComponent(parent);
- if (concreteComponent != null)
- {
- AddModelGroupAction addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.SEQUENCE_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.CHOICE_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.ALL_LITERAL);
- addModelGroupAction.setEnabled(!isReadOnly);
- manager.add(addModelGroupAction);
-
- manager.add(new Separator());
- }
- // }
- }
- // attributes = new ArrayList();
- // attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_Unique"));
- // addCreateIdentityConstraintsAction(manager, XSDConstants.UNIQUE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_UNIQUE"), attributes, parent, null);
- // attributes = new ArrayList();
- // attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_Key"));
- // addCreateIdentityConstraintsAction(manager, XSDConstants.KEY_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_KEY"), attributes, parent, null);
- // attributes = new ArrayList();
- // attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_KeyRef"));
- // addCreateIdentityConstraintsAction(manager, XSDConstants.KEYREF_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_KEY_REF"), attributes, parent, null);
- XSDDOMHelper domHelper = new XSDDOMHelper();
- Element anonymousType = (Element) domHelper.getChildNode(parent, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- if (anonymousType != null)
- {
- manager.add(new Separator());
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("ComplexType")));
- addMoveAnonymousGlobal(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, anonymousType, null);
- attributes = null;
- }
- anonymousType = (Element) domHelper.getChildNode(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (anonymousType != null)
- {
- manager.add(new Separator());
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("SimpleType")));
- addMoveAnonymousGlobal(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, anonymousType, null);
- attributes = null;
- }
- }
- }
- }
- /*
- * These have none else if (XSDDOMHelper.inputEquals(parent,
- * XSDConstants.DOCUMENTATION_ELEMENT_TAG, false)) { } else if
- * (XSDDOMHelper.inputEquals(parent, XSDConstants.APPINFO_ELEMENT_TAG,
- * false)) { }
- */
- }
-
- protected void addContextInsertItems(IMenuManager manager, Element parent, Element currentElement, Node relativeNode)
- {
- ArrayList attributes = null;
- if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.INCLUDE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals(currentElement, XSDConstants.IMPORT_ELEMENT_TAG, false)
- || XSDDOMHelper.inputEquals(currentElement, XSDConstants.REDEFINE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals(currentElement, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
- {
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, ""));
- addCreateElementAction(manager, XSDConstants.INCLUDE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_INCLUDE"), attributes, parent, relativeNode);
- addCreateElementAction(manager, XSDConstants.IMPORT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_IMPORT"), null, parent, relativeNode);
- addCreateElementAction(manager, XSDConstants.REDEFINE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_REDEFINE"), attributes, parent, relativeNode);
- attributes = null;
- addCreateElementAction(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), null, parent, relativeNode);
- }
- }
- else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- addSchemaElementItems(manager, parent, relativeNode);
- }
- // else if (XSDDOMHelper.inputEquals(parent,
- // XSDConstants.LIST_ELEMENT_TAG,
- // false))
- // {
- // addCreateElementAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG,
- // "_UI_ACTION_ADD_SIMPLE_TYPE", attributes, parent, relativeNode);
- // }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.UNION_ELEMENT_TAG, false))
- {
- addCreateLocalSimpleTypeAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, relativeNode);
- }
- }
- else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
- {
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- addSchemaElementItems(manager, parent, relativeNode);
- }
- }
- else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.GROUP_ELEMENT_TAG, false))
- {
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- addSchemaElementItems(manager, parent, relativeNode);
- }
- }
- else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false))
- {
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- addSchemaElementItems(manager, parent, relativeNode);
- }
- }
- else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.ELEMENT_ELEMENT_TAG, false))
- {
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- addSchemaElementItems(manager, parent, relativeNode);
- }
- }
- else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
- {
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- addSchemaElementItems(manager, parent, relativeNode);
- }
- }
- else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.NOTATION_ELEMENT_TAG, false))
- {
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- addSchemaElementItems(manager, parent, relativeNode);
- }
- }
- else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.DOCUMENTATION_ELEMENT_TAG, false))
- {
- addCreateElementAction(manager, XSDConstants.DOCUMENTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_DOC"), attributes, parent, relativeNode);
- addCreateElementAction(manager, XSDConstants.APPINFO_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_APP_INFO"), attributes, parent, relativeNode);
- }
- else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.APPINFO_ELEMENT_TAG, false))
- {
- addCreateElementAction(manager, XSDConstants.DOCUMENTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_DOC"), attributes, parent, relativeNode);
- addCreateElementAction(manager, XSDConstants.APPINFO_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_APP_INFO"), attributes, parent, relativeNode);
- }
- }
-
- protected String getNewGlobalName(String elementTag, String description)
- {
- return getNewGlobalName(elementTag, description, false);
- }
-
- protected String getNewGlobalTypeName(String description)
- {
- return getNewGlobalName(null, description, true);
- }
-
- protected String getNewGlobalName(String elementTag, String description, boolean isSimpleOrComplexType)
- {
- return getNewName(getXSDSchema().getDocument(), elementTag, description, isSimpleOrComplexType);
- }
-
- // TODO.. .we need to rewrite this code to me model driven... not document driven
- //
- protected String getNewName(Node parentNode, String elementTag, String description, boolean isSimpleOrComplexType)
- {
- NodeList list = null;
- NodeList typeList2 = null;
- // if the global name is for a simple or complex type, we ignore the
- // elementTag and populate 2 lists
- // one to look for all simple types and the other to look for all complex
- // types
- if (isSimpleOrComplexType)
- {
- if (parentNode instanceof Document)
- {
- list = ((Document) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- typeList2 = ((Document) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- }
- else if (parentNode instanceof Element)
- {
- list = ((Element) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- typeList2 = ((Element) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- }
- }
- else
- {
- if (parentNode instanceof Document)
- {
- list = ((Document) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, elementTag);
- }
- else if (parentNode instanceof Element)
- {
- list = ((Element) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, elementTag);
- }
- }
- String name = "New" + description;
- if (list == null || list.getLength() == 0 && (typeList2 != null && typeList2.getLength() == 0))
- {
- return name;
- }
- for (int i = 1; i < 100; i++)
- {
- boolean newName = false;
- for (int j = 0; j < list.getLength(); j++)
- {
- String currName = ((Element) list.item(j)).getAttribute(XSDConstants.NAME_ATTRIBUTE);
- if (currName == null || currName.length() == 0)
- {
- continue;
- }
- if (currName.equals(name))
- {
- name = "New" + description + String.valueOf(i);
- newName = true;
- break;
- }
- }
- // if there is another type list and we haven't created a new name, then
- // check the type list
- if (typeList2 != null && !newName)
- {
- for (int j = 0; j < typeList2.getLength(); j++)
- {
- String currName = ((Element) typeList2.item(j)).getAttribute(XSDConstants.NAME_ATTRIBUTE);
- if (currName == null || currName.length() == 0)
- {
- continue;
- }
- if (currName.equals(name))
- {
- name = "New" + description + String.valueOf(i);
- break;
- }
- }
- }
- }
- return name;
- }
-
- protected String getFirstGlobalElementTagName(String elementTag)
- {
- //XMLModel model = getXMLModel();
- //if (model != null)
- {
- String targetNamespace = "";
- XSDSchema schema = getXSDSchema();
- TypesHelper helper = new TypesHelper(schema);
- String prefix = "";
- if (schema != null)
- {
- prefix = helper.getPrefix(schema.getTargetNamespace(), true);
- }
- // get the schema node
- NodeList slist = schema.getDocument().getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.SCHEMA_ELEMENT_TAG);
- Node schemaNode = null;
- if (slist != null && slist.getLength() > 0)
- {
- schemaNode = slist.item(0);
- }
- NodeList list = null;
- // get the schema's direct children - hence, globals
- if (schemaNode != null)
- {
- list = schemaNode.getChildNodes();
- }
- String name = null;
- if (list != null)
- {
- // Performance issue perhaps?
- for (int i = 0; i < list.getLength(); i++)
- {
- if (list.item(i) instanceof Element)
- {
- if (list.item(i).getLocalName().equals(elementTag))
- {
- name = ((Element) list.item(i)).getAttribute(XSDConstants.NAME_ATTRIBUTE);
- if (name != null && name.length() > 0)
- {
- return prefix + name;
- }
- }
- }
- }
- }
- if (elementTag.equals(XSDConstants.ELEMENT_ELEMENT_TAG))
- {
- return helper.getGlobalElement(schema);
- }
- else if (elementTag.equals(XSDConstants.ATTRIBUTE_ELEMENT_TAG))
- {
- return helper.getGlobalAttribute(schema);
- }
- else if (elementTag.equals(XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG))
- {
- return helper.getGlobalAttributeGroup(schema);
- }
- else if (elementTag.equals(XSDConstants.GROUP_ELEMENT_TAG))
- {
- return helper.getModelGroup(schema);
- }
- }
- return null;
- }
-
- protected void addSchemaElementItems(IMenuManager manager, Element parent, Node relativeNode)
- {
- ArrayList attributes = null;
- // Add Edit Namespaces menu action
- //////////////// Externalize String below!!!!!
- XSDEditNamespacesAction nsAction = new XSDEditNamespacesAction(XSDEditorPlugin.getXSDString("_UI_ACTION_EDIT_NAMESPACES"), parent, relativeNode, getXSDSchema());
- manager.add(nsAction);
- manager.add(new Separator());
- DOMAttribute nameAttribute = new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("ComplexType"));
- attributes = new ArrayList();
- attributes.add(nameAttribute);
- Action action = addCreateElementAction(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_TYPE"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("SimpleType")));
- action = addCreateElementAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_TYPE"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ELEMENT_ELEMENT_TAG, "GlobalElement")));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- action = addCreateElementAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GLOBAL_ELEMENT"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ATTRIBUTE_ELEMENT_TAG, "GlobalAttribute")));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- action = addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GLOBAL_ATTRIBUTE"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, "AttributeGroup")));
- action = addCreateElementAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.GROUP_ELEMENT_TAG, "Group")));
- CreateGroupAction groupAction = addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GROUP"), attributes, parent, relativeNode);
- groupAction.setIsGlobal(true);
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.NOTATION_ELEMENT_TAG, "Notation")));
- attributes.add(new DOMAttribute(XSDConstants.PUBLIC_ATTRIBUTE, ""));
- action = addCreateElementAction(manager, XSDConstants.NOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_NOTATION"), attributes, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- action = addCreateElementAction(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), null, parent, relativeNode);
- ((CreateElementAction) action).setIsGlobal(true);
- }
-
- // returns whether element exists already
- protected boolean addCreateElementActionIfNotExist(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- // if
- // (!(parent.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
- // elementTag).getLength() > 0))
- // XSDDOMHelper helper = new XSDDOMHelper();
- // if (helper.getChildNode(parent, elementTag) == null)
- if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
- {
- addCreateElementAction(manager, elementTag, label, attributes, parent, relativeNode);
- return false;
- }
- return true;
- }
-
- protected Action addCreateElementAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- CreateElementAction action = new CreateElementAction(label);
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- action.setXSDSchema(getXSDSchema());
- action.setSelectionProvider(selectionProvider);
- action.setEnabled(!isReadOnly);
- manager.add(action);
- return action;
- }
-
- protected void addCreateElementAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode, boolean isEnabled)
- {
- Action action = addCreateElementAction(manager, elementTag, label, attributes, parent, relativeNode);
- action.setEnabled(isEnabled);
- }
-
- protected void addCreateElementRefAction(IMenuManager manager, String elementTag, String label, Element parent, Node relativeNode)
- {
- ArrayList attributes = new ArrayList();
- String ref = getFirstGlobalElementTagName(elementTag);
- attributes.add(new DOMAttribute(XSDConstants.REF_ATTRIBUTE, ref));
- Action action = addCreateElementAction(manager, elementTag, label, attributes, parent, relativeNode);
- action.setEnabled(ref != null);
- if (ref != null)
- {
- action.setEnabled(!isReadOnly);
- }
- }
-
- protected void addCreateSimpleContentAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- // if
- // (!(parent.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
- // elementTag).getLength() > 0))
- if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
- {
- CreateSimpleContentAction action = new CreateSimpleContentAction(label, getXSDSchema());
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- action.setEnabled(!isReadOnly);
- manager.add(action);
- }
- }
-
- protected CreateGroupAction addCreateGroupAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- CreateGroupAction action = new CreateGroupAction(label, getXSDSchema());
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- action.setXSDSchema(getXSDSchema());
- action.setSelectionProvider(selectionProvider);
- action.setEnabled(!isReadOnly);
- manager.add(action);
- return action;
- }
-
- protected void addCreateIdentityConstraintsAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- CreateIdentityConstraintsAction action = new CreateIdentityConstraintsAction(label, getXSDSchema());
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- action.setXSDSchema(getXSDSchema());
- action.setSelectionProvider(selectionProvider);
- action.setEnabled(!isReadOnly);
- manager.add(action);
- }
-
- protected void addEnumsAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- AddEnumsAction action = new AddEnumsAction(label);
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- action.setDescription(XSDEditorPlugin.getXSDString("_UI_ENUMERATIONS_DIALOG_TITLE"));
- action.setEnabled(!isReadOnly);
- manager.add(action);
- }
-
- protected Action addCreateSimpleTypeAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- CreateSimpleTypeAction action = new CreateSimpleTypeAction(label);
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- action.setXSDSchema(getXSDSchema());
- action.setSelectionProvider(selectionProvider);
- action.setEnabled(!isReadOnly);
- manager.add(action);
- return action;
- }
-
- protected boolean addCreateLocalSimpleTypeActionIfNotExist(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- // if
- // (!(parent.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
- // elementTag).getLength() > 0))
- // XSDDOMHelper helper = new XSDDOMHelper();
- // if (helper.getChildNode(parent, elementTag) == null)
- if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
- {
- addCreateLocalSimpleTypeAction(manager, elementTag, label, attributes, parent, relativeNode);
- return false;
- }
- return true;
- }
-
- protected void addSetBaseTypeAction(IMenuManager manager, Element element)
- {
- SetBaseTypeAction action = new SetBaseTypeAction(XSDEditorPlugin.getXSDString("_UI_ACTION_SET_BASE_TYPE"));// +
- // "...");
- action.setComplexTypeElement(element);
- action.setXSDSchema(getXSDSchema());
- action.setEnabled(!isReadOnly);
- manager.add(action);
- }
-
- protected void addCreateLocalSimpleTypeAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- CreateLocalSimpleTypeAction action = new CreateLocalSimpleTypeAction(label);
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- action.setXSDSchema(getXSDSchema());
- action.setSelectionProvider(selectionProvider);
- action.setEnabled(!isReadOnly);
- manager.add(action);
- }
-
- protected boolean addCreateLocalComplexTypeActionIfNotExist(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
- {
- addCreateLocalComplexTypeAction(manager, elementTag, label, attributes, parent, relativeNode);
- return false;
- }
- return true;
- }
-
- protected void addCreateLocalComplexTypeAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- CreateLocalComplexTypeAction action = new CreateLocalComplexTypeAction(label);
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- action.setXSDSchema(getXSDSchema());
- action.setSelectionProvider(selectionProvider);
- action.setEnabled(!isReadOnly);
- manager.add(action);
- }
-
- protected boolean addCreateAnnotationActionIfNotExist(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- // if
- // (!(parent.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
- // elementTag).getLength() > 0))
- // XSDDOMHelper helper = new XSDDOMHelper();
- // if (helper.getChildNode(parent, elementTag) == null)
- // CS... I comment the
- //
- //if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
- //{
- // addCreateAnnotationAction(manager,elementTag,label,attributes,parent,relativeNode);
- // return false;
- //}
- //return true;
- return false;
- }
-
- protected void addOpenSchemaAction(IMenuManager manager, String label, Element parent)
- {
- OpenSchemaAction openAction = new OpenSchemaAction(label, getXSDSchema().getCorrespondingComponent(parent));
- manager.add(openAction);
- }
-
- protected void addMoveAnonymousGlobal(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- MakeAnonymousGlobal action = new MakeAnonymousGlobal(label, parent, getXSDSchema());
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(getXSDSchema().getElement());
- action.setRelativeNode(relativeNode);
- action.setEnabled(!isReadOnly);
- manager.add(action);
- }
-
- protected void addCreateAnnotationAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- CreateAnnotationAction action = new CreateAnnotationAction(label);
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- action.setEnabled(!isReadOnly);
- manager.add(action);
- }
-
- protected Node getFirstChildNodeIfExists(Node parent, String elementTag, boolean isRef)
- {
- if (parent == null)
- return null;
- NodeList children = parent.getChildNodes();
- Node targetNode = null;
- for (int i = 0; i < children.getLength(); i++)
- {
- Node child = children.item(i);
- if (child != null && child instanceof Element)
- {
- if (XSDDOMHelper.inputEquals((Element) child, elementTag, isRef))
- {
- targetNode = child;
- break;
- }
- }
- }
- return targetNode;
- }
-
- protected boolean elementExists(String elementTag, Element parent)
- {
- if (!(parent.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, elementTag).getLength() > 0))
- {
- return false;
- }
- return true;
- }
-
- /**
- * Returns the deleteAction.
- *
- * @return DeleteAction
- */
- public DeleteAction getDeleteAction()
- {
- return deleteAction;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMultiPageEditorPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMultiPageEditorPart.java
deleted file mode 100644
index 0673533945..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMultiPageEditorPart.java
+++ /dev/null
@@ -1,726 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-
-import org.eclipse.core.internal.resources.ResourceException;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextInputListener;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IGotoMarker;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.MultiPageEditorSite;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.xml.core.XMLPreferenceNames;
-import org.eclipse.wst.xml.ui.StructuredTextEditorXML;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public class XSDMultiPageEditorPart extends MultiPageEditorPart implements IPropertyListener
-{
-
- /**
- *
- */
- public XSDMultiPageEditorPart()
- {
- super();
- }
-
- /**
- * Internal part activation listener
- */
- class PartListener extends ShellAdapter implements IPartListener {
- private IWorkbenchPart fActivePart;
- private boolean fIsHandlingActivation = false;
-
- private void handleActivation() {
-
- if (fIsHandlingActivation)
- return;
-
- if (fActivePart == XSDMultiPageEditorPart.this) {
- fIsHandlingActivation = true;
- try {
- safelySanityCheckState();
- }
- finally {
- fIsHandlingActivation = false;
- }
- }
- }
-
- /**
- * @see IPartListener#partActivated(IWorkbenchPart)
- */
- public void partActivated(IWorkbenchPart part) {
- fActivePart = part;
- handleActivation();
- }
-
- /**
- * @see IPartListener#partBroughtToTop(IWorkbenchPart)
- */
- public void partBroughtToTop(IWorkbenchPart part) {
- }
-
- /**
- * @see IPartListener#partClosed(IWorkbenchPart)
- */
- public void partClosed(IWorkbenchPart part) {
- }
-
- /**
- * @see IPartListener#partDeactivated(IWorkbenchPart)
- */
- public void partDeactivated(IWorkbenchPart part) {
- fActivePart = null;
- }
-
- /**
- * @see IPartListener#partOpened(IWorkbenchPart)
- */
- public void partOpened(IWorkbenchPart part) {
- }
-
- /*
- * @see ShellListener#shellActivated(ShellEvent)
- */
- public void shellActivated(ShellEvent e) {
- handleActivation();
- }
- }
-
- class TextInputListener implements ITextInputListener {
- public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) {
- }
-
- public void inputDocumentChanged(IDocument oldInput, IDocument newInput) {
- }
- }
-
- /** The source page index. */
- private int fSourcePageIndex;
- /** The text editor. */
- private StructuredTextEditor fTextEditor;
-
- private PartListener partListener;
-
-
- /*
- * This method is just to make firePropertyChanged accessbible from some
- * (anonomous) inner classes.
- */
- protected void _firePropertyChange(int property) {
- super.firePropertyChange(property);
- }
-
- /**
- * Adds the source page of the multi-page editor.
- */
- protected void addSourcePage() throws PartInitException {
- try {
- fSourcePageIndex = addPage(fTextEditor, getEditorInput());
- setPageText(fSourcePageIndex, XSDEditorPlugin.getXSDString("_UI_TAB_SOURCE")); //$NON-NLS-1$
- // the update's critical, to get viewer selection manager and
- // highlighting to work
- fTextEditor.update();
-
- firePropertyChange(PROP_TITLE);
-
- // Changes to the Text Viewer's document instance should also force an
- // input refresh
- fTextEditor.getTextViewer().addTextInputListener(new TextInputListener());
- }
- catch (PartInitException exception) {
- // dispose editor
- dispose();
-
- throw new SourceEditingRuntimeException(SSECorePlugin.getResourceString("An_error_has_occurred_when1_ERROR_")); //$NON-NLS-1$
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.MultiPageEditorPart#createPages()
- */
- protected void createPages()
- {
- try
- {
- // source page MUST be created before design page, now
- createSourcePage();
- addSourcePage();
- setActivePage();
-
- // future_TODO: add a catch block here for any exception the design
- // page throws and convert it into a more informative message.
- }
- catch (PartInitException e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * @see org.eclipse.ui.part.MultiPageEditorPart#createSite(org.eclipse.ui.IEditorPart)
- */
- protected IEditorSite createSite(IEditorPart editor) {
- IEditorSite site = null;
- if (editor == fTextEditor) {
- site = new MultiPageEditorSite(this, editor) {
- /**
- * @see org.eclipse.ui.part.MultiPageEditorSite#getActionBarContributor()
- */
- public IEditorActionBarContributor getActionBarContributor() {
- IEditorActionBarContributor contributor = super.getActionBarContributor();
- IEditorActionBarContributor multiContributor = XSDMultiPageEditorPart.this.getEditorSite().getActionBarContributor();
-// if (multiContributor instanceof XMLMultiPageEditorActionBarContributor) {
-// contributor = ((XMLMultiPageEditorActionBarContributor) multiContributor).sourceViewerActionContributor;
-// }
- return contributor;
- }
- };
- }
- else {
- site = super.createSite(editor);
- }
- return site;
- }
-
- /**
- * Creates the source page of the multi-page editor.
- */
- protected void createSourcePage() throws PartInitException {
- fTextEditor = createTextEditor();
- fTextEditor.setEditorPart(this);
-
- // Set the SourceViewerConfiguration now so the text editor won't use
- // the default configuration first
- // and switch to the StructuredTextViewerConfiguration later.
- // DMW removed setSourceViewerConfiguration 3/26/2003 since added
- // createPartControl to our text editor.
- // fTextEditor.setSourceViewerConfiguration();
- fTextEditor.addPropertyListener(this);
- }
-
- /**
- * Method createTextEditor.
- *
- * @return StructuredTextEditor
- */
- protected StructuredTextEditor createTextEditor() {
- return new StructuredTextEditorXML();
- }
-
- public void dispose()
- {
- IWorkbenchWindow window = getSite().getWorkbenchWindow();
- window.getPartService().removePartListener(partListener);
- window.getShell().removeShellListener(partListener);
-
- getSite().getPage().removePartListener(partListener);
- if (fTextEditor != null) {
- fTextEditor.removePropertyListener(this);
- }
-
- // moved to last when added window ... seems like
- // we'd be in danger of losing some data, like site,
- // or something.
- super.dispose();
- }
-
- /*
- * (non-Javadoc) Saves the contents of this editor. <p> Subclasses must
- * override this method to implement the open-save-close lifecycle for an
- * editor. For greater details, see <code> IEditorPart </code></p>
- *
- * @see IEditorPart
- */
- public void doSave(IProgressMonitor monitor) {
- fTextEditor.doSave(monitor);
- // // this is a temporary way to force validation.
- // // when the validator is a workbench builder, the following lines
- // can be removed
- // if (fDesignViewer != null)
- // fDesignViewer.saveOccurred();
-
- }
-
- /*
- * (non-Javadoc) Saves the contents of this editor to another object. <p>
- * Subclasses must override this method to implement the open-save-close
- * lifecycle for an editor. For greater details, see <code> IEditorPart
- * </code></p>
- *
- * @see IEditorPart
- */
- public void doSaveAs() {
- fTextEditor.doSaveAs();
- // 253619
- // following used to be executed here, but is
- // now called "back" from text editor (since
- // mulitiple paths to the performSaveAs in StructuredTextEditor.
- //doSaveAsForStructuredTextMulitPagePart();
- }
-
- private void editorInputIsAcceptable(IEditorInput input) throws PartInitException {
- if (input instanceof IFileEditorInput) {
- // verify that it can be opened
- CoreException[] coreExceptionArray = new CoreException[1];
- if (fileDoesNotExist((IFileEditorInput) input, coreExceptionArray)) {
- // todo use message formatter for {0}
- Throwable coreException = coreExceptionArray[0];
- if (coreException instanceof ResourceException) {
- // I'm assuming this is always 'does not exist'
- // we'll refresh local go mimic behavior of default
- // editor, where the
- // troublesome file is refreshed (and will cause it to
- // 'disappear' from Navigator.
- try {
- ((IFileEditorInput) input).getFile().refreshLocal(IResource.DEPTH_ZERO, new NullProgressMonitor());
- }
- catch (CoreException ce) {
- // very unlikely
-// Logger.logException(ce);
- }
- throw new PartInitException(SSECorePlugin.getResourceString("23concat_EXC_", (new Object[]{input.getName()}))); //$NON-NLS-1$
- //$NON-NLS-1$ = "Resource {0} does not exist."
- }
- else {
- throw new PartInitException(SSECorePlugin.getResourceString("32concat_EXC_", (new Object[]{input.getName()}))); //$NON-NLS-1$
- //$NON-NLS-1$ = "Editor could not be open on {0}"
- }
- }
- }
- else if (input instanceof IStorageEditorInput) {
- InputStream contents = null;
- try {
- contents = ((IStorageEditorInput) input).getStorage().getContents();
- }
- catch (CoreException noStorageExc) {
- }
- if (contents == null) {
- throw new PartInitException(SSECorePlugin.getResourceString("32concat_EXC_", (new Object[]{input.getName()}))); //$NON-NLS-1$
- }
- else {
- try {
- contents.close();
- }
- catch (IOException e) {
- }
- }
- }
- }
-
- // void doSaveAsForStructuredTextMulitPagePart() {
- // setPageText(getActivePage(), fTextEditor.getTitle());
- // setInput(fTextEditor.getEditorInput());
- // if (fDesignViewer != null) {
- // //fDesignViewer.setEditorInput(fTextEditor.getEditorInput());
- // fDesignViewer.setModel(getModel());
- // fDesignViewer.saveAsOccurred();
- // }
- // // even though we've set title etc., several times already!
- // // only now is all prepared for it.
- // firePropertyChange(IWorkbenchPart.PROP_TITLE);
- // firePropertyChange(PROP_DIRTY);
- // }
- /*
- * (non-Javadoc) Initializes the editor part with a site and input. <p>
- * Subclasses of <code> EditorPart </code> must implement this method.
- * Within the implementation subclasses should verify that the input type
- * is acceptable and then save the site and input. Here is sample code:
- * </p><pre> if (!(input instanceof IFileEditorInput)) throw new
- * PartInitException("Invalid Input: Must be IFileEditorInput");
- * setSite(site); setInput(editorInput); </pre>
- */
- protected boolean fileDoesNotExist(IFileEditorInput input, Throwable[] coreException) {
- boolean result = false;
- InputStream inStream = null;
- if ((!(input.exists())) || (!(input.getFile().exists()))) {
- result = true;
- }
- else {
- try {
- inStream = input.getFile().getContents(true);
- }
- catch (CoreException e) {
- // very likely to be file not found
- result = true;
- coreException[0] = e;
- }
- finally {
- if (input != null) {
- try {
- if (inStream != null) {
- inStream.close();
- }
- }
- catch (IOException e) {
-
- }
- }
- }
- }
- return result;
- }
-
- public Object getAdapter(Class key) {
- Object result = null;
-
- // DMW: I'm bullet-proofing this because
- // its been reported (on 4.03 version) a null pointer sometimes
- // happens here on startup, when an editor has been left
- // open when workbench shutdown.
- if (fTextEditor != null) {
- result = fTextEditor.getAdapter(key);
- }
- return result;
- }
-
- /**
- * IExtendedMarkupEditor method
- */
- public Node getCaretNode() {
- if (getTextEditor() == null)
- return null;
-
- return getTextEditor().getCaretNode();
- }
-
- /**
- * IExtendedSimpleEditor method
- */
- public int getCaretPosition() {
- if (getTextEditor() == null)
- return -1;
-
- return getTextEditor().getCaretPosition();
- }
-
- /**
- * IExtendedSimpleEditor method
- */
- public IDocument getDocument() {
- if (getTextEditor() == null)
- return null;
-
- return getTextEditor().getDocument();
- }
-
- /**
- * IExtendedMarkupEditor method
- */
- public Document getDOMDocument() {
- if (getTextEditor() == null)
- return null;
-
- return getTextEditor().getDOMDocument();
- }
-
- /**
- * IExtendedSimpleEditor method
- */
- public IEditorPart getEditorPart() {
- return this;
- }
-
- protected IStructuredModel getModel() {
- IStructuredModel model = null;
- if (fTextEditor != null)
- model = fTextEditor.getModel();
- return model;
- }
-
- protected IPreferenceStore getPreferenceStore() {
- return XSDEditorPlugin.getPlugin().getPreferenceStore();
- }
-
- /**
- * IExtendedMarkupEditor method
- */
- public List getSelectedNodes() {
- if (getTextEditor() == null)
- return null;
- return getTextEditor().getSelectedNodes();
- }
-
- /**
- * IExtendedSimpleEditor method
- */
- public Point getSelectionRange() {
- if (getTextEditor() == null)
- return new Point(-1, -1);
-
- return getTextEditor().getSelectionRange();
- }
-
- public StructuredTextEditor getTextEditor() {
- return fTextEditor;
- }
-
- /*
- * (non-Javadoc) Method declared on IWorkbenchPart.
- */
- public String getTitle() {
- String title = null;
- if (getTextEditor() == null) {
- if (getEditorInput() != null) {
- title = getEditorInput().getName();
- }
- }
- else {
- title = getTextEditor().getTitle();
- }
- if (title == null) {
- title = getPartName();
- }
- return title;
- }
-
- /*
- * (non-Javadoc) Sets the cursor and selection state for this editor to
- * the passage defined by the given marker. <p> Subclasses may override.
- * For greater details, see <code> IEditorPart </code></p>
- *
- * @see IEditorPart
- */
- public void gotoMarker(IMarker marker) {
- // (pa) 20020217 this was null when opening an editor that was
- // already open
- if (fTextEditor != null) {
- IGotoMarker markerGotoer = (IGotoMarker) fTextEditor.getAdapter(IGotoMarker.class);
- markerGotoer.gotoMarker(marker);
- }
- }
-
- public void init(IEditorSite site, IEditorInput input) throws PartInitException {
- editorInputIsAcceptable(input);
- try {
- super.init(site, input);
- if (partListener == null) {
- partListener = new PartListener();
- }
- //getSite().getPage().addPartListener(partListner);
- // we want to listen for our own activation
- IWorkbenchWindow window = getSite().getWorkbenchWindow();
- window.getPartService().addPartListener(partListener);
- window.getShell().addShellListener(partListener);
- }
- catch (Exception e) {
- if (e instanceof SourceEditingRuntimeException) {
- Throwable t = ((SourceEditingRuntimeException) e).getOriginalException();
- if (t instanceof IOException) {
- System.out.println(t);
- // file not found
- }
- }
- }
- setPartName(input.getName());
- }
-
- /*
- * (non-Javadoc) Returns whether the "save as" operation is supported by
- * this editor. <p> Subclasses must override this method to implement the
- * open-save-close lifecycle for an editor. For greater details, see
- * <code> IEditorPart </code></p>
- *
- * @see IEditorPart
- */
- public boolean isSaveAsAllowed() {
- return fTextEditor != null && fTextEditor.isSaveAsAllowed();
- }
-
- /*
- * (non-Javadoc) Returns whether the contents of this editor should be
- * saved when the editor is closed. <p> This method returns <code> true
- * </code> if and only if the editor is dirty ( <code> isDirty </code> ).
- * </p>
- */
- public boolean isSaveOnCloseNeeded() {
- // overriding super class since it does a lowly isDirty!
- if (fTextEditor != null)
- return fTextEditor.isSaveOnCloseNeeded();
- return isDirty();
- }
-
- /**
- * Notifies this multi-page editor that the page with the given id has
- * been activated. This method is called when the user selects a different
- * tab.
- *
- * @param newPageIndex
- * the index of the activated page
- */
- protected void pageChange(int newPageIndex) {
- super.pageChange(newPageIndex);
-
- saveLastActivePageIndex(newPageIndex);
- }
-
- /**
- * Posts the update code "behind" the running operation.
- */
- protected void postOnDisplayQue(Runnable runnable) {
- IWorkbench workbench = PlatformUI.getWorkbench();
- IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
- if (windows != null && windows.length > 0) {
- Display display = windows[0].getShell().getDisplay();
- display.asyncExec(runnable);
- }
- else
- runnable.run();
- }
-
- /**
- * Indicates that a property has changed.
- *
- * @param source
- * the object whose property has changed
- * @param propId
- * the id of the property which has changed; property ids are
- * generally defined as constants on the source class
- */
- public void propertyChanged(Object source, int propId) {
- switch (propId) {
- // had to implement input changed "listener" so that
- // strucutedText could tell it containing editor that
- // the input has change, when a 'resource moved' event is
- // found.
- case IEditorPart.PROP_INPUT :
- case IEditorPart.PROP_DIRTY : {
- if (source == fTextEditor) {
- if (fTextEditor.getEditorInput() != getEditorInput()) {
- setInput(fTextEditor.getEditorInput());
- // title should always change when input changes.
- // create runnable for following post call
- Runnable runnable = new Runnable() {
- public void run() {
- _firePropertyChange(IWorkbenchPart.PROP_TITLE);
- }
- };
- // Update is just to post things on the display queue
- // (thread). We have to do this to get the dirty
- // property to get updated after other things on the
- // queue are executed.
- postOnDisplayQue(runnable);
- }
- }
- break;
- }
- case IWorkbenchPart.PROP_TITLE : {
- // update the input if the title is changed
- if (source == fTextEditor) {
- if (fTextEditor.getEditorInput() != getEditorInput()) {
- setInput(fTextEditor.getEditorInput());
- }
- }
- break;
- }
- default : {
- // propagate changes. Is this needed? Answer: Yes.
- if (source == fTextEditor) {
- firePropertyChange(propId);
- }
- break;
- }
- }
-
- }
-
- protected void safelySanityCheckState() {
- // If we're called before editor is created, simply ignore since we
- // delegate this function to our embedded TextEditor
- if (getTextEditor() == null)
- return;
-
- getTextEditor().safelySanityCheckState(getEditorInput());
-
- }
-
- protected void saveLastActivePageIndex(int newPageIndex) {
- // save the last active page index to preference manager
- getPreferenceStore().setValue(XMLPreferenceNames.LAST_ACTIVE_PAGE, newPageIndex);
- }
-
- /**
- * Sets the currently active page.
- */
- protected void setActivePage() {
- // retrieve the last active page index from preference manager
- int activePageIndex = getPreferenceStore().getInt(XMLPreferenceNames.LAST_ACTIVE_PAGE);
-
- // We check this range since someone could hand edit the XML
- // preference file to an invalid value ... which I know from
- // experience :( ... if they do, we'll reset to default and continue
- // rather than throw an assertion error in the setActivePage(int)
- // method.
- if (activePageIndex < 0 || activePageIndex >= getPageCount()) {
- activePageIndex = fSourcePageIndex;
- }
- setActivePage(activePageIndex);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.part.EditorPart#setInput(org.eclipse.ui.IEditorInput)
- */
- protected void setInput(IEditorInput input) {
- // If driven from the Source page, it's "model" may not be up to date
- // with the input just yet. We'll rely on later notification from the
- // TextViewer to set us straight
- super.setInput(input);
- setPartName(input.getName());
- }
-
- /**
- * IExtendedMarkupEditor method
- */
- public IStatus validateEdit(Shell context) {
- if (getTextEditor() == null)
- return new Status(IStatus.ERROR, XSDEditorPlugin.PLUGIN_ID, IStatus.INFO, "", null); //$NON-NLS-1$
-
- return getTextEditor().validateEdit(context);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDSelectionManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDSelectionManager.java
deleted file mode 100644
index ad2673aed1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDSelectionManager.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-
-public class XSDSelectionManager implements ISelectionProvider, ISelectionChangedListener
-{
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
- */
- public void addSelectionChangedListener(ISelectionChangedListener listener)
- {
- listenerList.add(listener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
- */
- public ISelection getSelection()
- {
- return currentSelection;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
- */
- public void removeSelectionChangedListener(ISelectionChangedListener listener)
- {
- listenerList.remove(listener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection)
- */
- public void setSelection(ISelection selection)
- {
- setSelection(selection, this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
- */
- public void selectionChanged(SelectionChangedEvent event)
- {
- if (enableNotify)
- {
- setSelection(event.getSelection(), event.getSelectionProvider());
- }
- }
-
-
- protected List listenerList = new ArrayList();
- protected ISelection currentSelection;
- protected boolean enableNotify = true;
-
- public void setSelection(ISelection selection, ISelectionProvider source)
- {
- //System.out.println("SelectionManager.setSelection() " + selection + ", " + source);
- if (enableNotify)
- {
- currentSelection = selection;
- enableNotify = false;
- try
- {
- SelectionChangedEvent event = new SelectionChangedEvent(source, selection);
- List copyOfListenerList = new ArrayList(listenerList);
- for (Iterator i = copyOfListenerList.iterator(); i.hasNext(); )
- {
- ISelectionChangedListener listener = (ISelectionChangedListener)i.next();
- listener.selectionChanged(event);
- }
- }
- finally
- {
- enableNotify = true;
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java
deleted file mode 100644
index 7b7931e34a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.openon.OpenOnAction;
-import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.ui.StructuredTextEditorXML;
-import org.eclipse.wst.xsd.ui.internal.properties.section.XSDTabbedPropertySheetPage;
-import org.eclipse.wst.xsd.ui.internal.provider.CategoryAdapter;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDAdapterFactoryLabelProvider;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDContentProvider;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDModelAdapterFactoryImpl;
-import org.eclipse.wst.xsd.ui.internal.util.SelectionAdapter;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class XSDTextEditor extends StructuredTextEditorXML implements INodeSelectionListener, ISelectionChangedListener
-{
- protected XSDSelectionManager xsdSelectionManager;
- protected XSDModelAdapterFactoryImpl xsdModelAdapterFactory;
- protected static XSDAdapterFactoryLabelProvider adapterFactoryLabelProvider;
- protected InternalSelectionProvider internalSelectionProvider = new InternalSelectionProvider();
-
- public XSDTextEditor(XSDEditor xsdEditor)
- {
- super();
- xsdSelectionManager = xsdEditor.getSelectionManager();
- xsdSelectionManager.addSelectionChangedListener(this);
-
- setHelpContextId(XSDEditorContextIds.XSDE_SOURCE_VIEW);
-
- xsdModelAdapterFactory = new XSDModelAdapterFactoryImpl();
- adapterFactoryLabelProvider = new XSDAdapterFactoryLabelProvider(xsdModelAdapterFactory);
- }
-
- public void dispose()
- {
- super.dispose();
- xsdSelectionManager.removeSelectionChangedListener(this);
- }
-
- public XSDModelAdapterFactoryImpl getXSDModelAdapterFactory()
- {
- return xsdModelAdapterFactory;
- }
-
- public static XSDAdapterFactoryLabelProvider getLabelProvider()
- {
- return adapterFactoryLabelProvider;
- }
-
- public Object getAdapter(Class required) {
-
- if (IPropertySheetPage.class.equals(required))
- {
- fPropertySheetPage = new XSDTabbedPropertySheetPage(getXSDEditor());
-
- ((XSDTabbedPropertySheetPage)fPropertySheetPage).setXSDModelAdapterFactory(xsdModelAdapterFactory);
- ((XSDTabbedPropertySheetPage)fPropertySheetPage).setSelectionManager(getXSDEditor().getSelectionManager());
- ((XSDTabbedPropertySheetPage)fPropertySheetPage).setXSDSchema(getXSDSchema());
-
- return fPropertySheetPage;
- }
- else if (IContentOutlinePage.class.equals(required))
- {
- if (fOutlinePage == null || fOutlinePage.getControl() == null || fOutlinePage.getControl().isDisposed())
- {
- XSDContentOutlinePage outlinePage = new XSDContentOutlinePage(this);
- XSDContentProvider xsdContentProvider = new XSDContentProvider(xsdModelAdapterFactory);
- xsdContentProvider.setXSDSchema(getXSDSchema());
- outlinePage.setContentProvider(xsdContentProvider);
- outlinePage.setLabelProvider(adapterFactoryLabelProvider);
- outlinePage.setModel(getXSDSchema().getDocument());
-
- // Update outline selection from source editor selection:
- getViewerSelectionManager().addNodeSelectionListener(this);
- internalSelectionProvider.addSelectionChangedListener(getViewerSelectionManager());
- internalSelectionProvider.setEventSource(outlinePage);
-
- fOutlinePage = outlinePage;
- }
- return fOutlinePage;
- }
-
- return super.getAdapter(required);
- }
-
- XSDModelQueryContributor xsdModelQueryContributor = new XSDModelQueryContributor();
-
- protected XSDContentOutlinePage outlinePage;
-
- /*
- * @see StructuredTextEditor#getContentOutlinePage()
- */
- public IContentOutlinePage getContentOutlinePage()
- {
- return fOutlinePage;
- }
-
- // used to map selections from the outline view to the source view
- // this class thinks of selections in terms of DOM element
- class InternalSelectionProvider extends SelectionAdapter
- {
- protected Object getObjectForOtherModel(Object object)
- {
- Node node = null;
-
- if (object instanceof Node)
- {
- node = (Node)object;
- }
- else if (object instanceof XSDComponent)
- {
- node = ((XSDComponent)object).getElement();
- }
- else if (object instanceof CategoryAdapter)
- {
- node = ((CategoryAdapter)object).getXSDSchema().getElement();
- }
-
- // the text editor can only accept sed nodes!
- //
- if (!(node instanceof XMLNode))
- {
- node = null;
- }
- return node;
- }
- }
-
- public void selectionChanged(SelectionChangedEvent event)
- {
- // here we convert the model selection to a node selection req'd for the source view
- //
- internalSelectionProvider.setSelection(event.getSelection());
- }
-
- public void nodeSelectionChanged(NodeSelectionChangedEvent event)
- {
- // here we convert an node seleciton to a model selection as req'd by the other views
- //
- if (!event.getSource().equals(internalSelectionProvider) && getXSDEditor().getActiveEditorPage() != null)
- {
- Element element = null;
- List list = event.getSelectedNodes();
- for (Iterator i = list.iterator(); i.hasNext();)
- {
- Node node = (Node)i.next();
- if (node != null)
- {
- if (node.getNodeType() == Node.ELEMENT_NODE)
- {
- element = (Element)node;
- break;
- }
- else if (node.getNodeType() == Node.ATTRIBUTE_NODE)
- {
- element = ((Attr)node).getOwnerElement();
- break;
- }
- }
- }
-
- Object o = element;
- if (element != null)
- {
- Object modelObject = getXSDSchema().getCorrespondingComponent(element);
- if (modelObject != null)
- {
- o = modelObject;
- }
- }
-
- if (o != null)
- {
- xsdSelectionManager.setSelection(new StructuredSelection(o), internalSelectionProvider);
- }
- else
- {
- xsdSelectionManager.setSelection(new StructuredSelection(), internalSelectionProvider);
- }
- }
- }
-
-
- /*
- * @see ITextEditor#doRevertToSaved()
- */
- public void doRevertToSaved()
- {
- super.doRevertToSaved();
- }
-
- /*
- * @see StructuredTextEditor#update()
- */
- public void update()
- {
- super.update();
- if (outlinePage != null)
- outlinePage.setModel(getModel());
- }
-
- protected Composite client;
-
- protected void addOpenOnSelectionListener()
- {
- getTextViewer().getTextWidget().addKeyListener(new KeyAdapter()
- {
- /**
- * @see org.eclipse.swt.events.KeyListener#keyReleased(org.eclipse.swt.events.KeyEvent)
- */
- public void keyReleased(KeyEvent arg0)
- {
- if (arg0.keyCode == SWT.F3)
- {
- getXSDEditor().getOpenOnSelectionHelper().openOnSelection();
- }
- }
-
- });
- }
-
- // private static Color dividerColor;
-
- protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler verticalRuler, int styles) {
-
- fAnnotationAccess= createAnnotationAccess();
- fOverviewRuler= createOverviewRuler(getSharedColors());
-
- StructuredTextViewer sourceViewer = createStructedTextViewer(parent, verticalRuler, styles);
- initSourceViewer(sourceViewer);
-
- // end of super createSourceViewer
-
- //StructuredAnnotationAccess annotationAccess = new StructuredAnnotationAccess();
- // DefaultMarkerAnnotationAccess annotationAccess = new DefaultMarkerAnnotationAccess();
-
- // ISharedTextColors sharedColors = getTextColorsCache();
-//// fOverviewRuler = new OverviewRuler(annotationAccess, OVERVIEW_RULER_WIDTH, sharedColors);
- // fOverviewRuler = new OverviewRuler(createAnnotationAccess(), 12, sharedColors);
-
-// fOverviewRuler.addHeaderAnnotationType(StructuredAnnotationType.ERROR);
-// fOverviewRuler.addHeaderAnnotationType(StructuredAnnotationType.WARNING);
-
- // fSourceViewerDecorationSupport = new SourceViewerDecorationSupport(sourceViewer, fOverviewRuler, annotationAccess, sharedColors);
- //configureSourceViewerDecorationSupport(fSourceViewerDecorationSupport);
-
-// The following method was removed
-// sourceViewer.setEditor(this);
-
- return sourceViewer;
- }
-
- /*
- * @see StructuredTextEditor#setModel(IFileEditorInput)
- */
- public void setModel(IFileEditorInput input)
- {
- super.setModel(input);
- if (getModel() instanceof XMLModel)
- {
- xsdModelQueryContributor.setModel((XMLModel)getModel());
- }
- file = input.getFile();
- }
-
- protected IFile file;
-
-
- /**
- * Gets the xsdSchema.
- * @return Returns a XSDSchema
- */
- public XSDSchema getXSDSchema()
- {
- return ((XSDEditor)getEditorPart()).getXSDSchema();
- }
-
- public XSDEditor getXSDEditor()
- {
- return (XSDEditor)getEditorPart();
- }
-
- /**
- * @see org.eclipse.ui.texteditor.AbstractTextEditor#safelySanityCheckState(IEditorInput)
- */
- public void safelySanityCheckState(IEditorInput input)
- {
- super.safelySanityCheckState(input);
- }
-
- protected class WrappedOpenFileAction extends OpenOnAction
- {
- /**
- * Constructor for WrappedAction.
- * @param bundle
- * @param prefix
- * @param editor
- */
- public WrappedOpenFileAction(
- ResourceBundle bundle,
- String prefix,
- ITextEditor editor)
- {
- super(bundle, prefix, editor);
- }
-
- /**
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run()
- {
- if (!getXSDEditor().getOpenOnSelectionHelper().openOnSelection())
- {
- super.run();
- }
- }
- }
-
- protected WrappedOpenFileAction wrappedAction;
- private static final String DOT = "."; //$NON-NLS-1$
-
- /**
- * @see org.eclipse.ui.texteditor.AbstractTextEditor#createActions()
- */
- protected void createActions()
- {
- super.createActions();
- addOpenOnSelectionListener();
- ResourceBundle resourceBundle = SSECorePlugin.getDefault().getResourceBundle(); //ResourceBundle.getBundle(RESOURCE_BUNDLE_NAME);
-
- wrappedAction = new WrappedOpenFileAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE + DOT, this);
- setAction(StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE, wrappedAction);
-
- }
-
-
- class XSDModelQueryContributor extends AbstractXSDModelQueryContributor
- {
- public AbstractXSDDataTypeValueExtension createXSDDataTypeValueExtension(ModelQuery modelQuery)
- {
- return new XSDDataTypeValueExtension(modelQuery);
- }
- }
-
-
- class XSDDataTypeValueExtension extends AbstractXSDDataTypeValueExtension
- {
- public XSDDataTypeValueExtension(ModelQuery modelQuery)
- {
- super(modelQuery);
- }
-
- public String getId()
- {
- return "XSDDataTypeValueExtension";
- }
-
- protected XSDSchema getEnclosingXSDSchema(Element element)
- {
- return getXSDSchema();
- }
- }
-
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDURIConverter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDURIConverter.java
deleted file mode 100644
index 58f639bbdb..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDURIConverter.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.eclipse.wst.xml.uriresolver.util.IdResolverImpl;
-
-public class XSDURIConverter extends URIConverterImpl
-{
- IFile resourceFile;
- public XSDURIConverter(IFile resourceFile)
- {
- super();
- this.resourceFile = resourceFile;
- }
-
- /**
- * @see org.eclipse.emf.ecore.resource.URIConverter#createInputStream(URI)
- */
- public InputStream createInputStream(URI uri) throws IOException
- {
- String scheme = uri.scheme();
- URI mappedURI = uri;
- if (scheme != null && !scheme.equals("file") && !scheme.equals("platform"))
- // if ("http".equals(scheme))
- {
- String theURI = uri.toString();
- IdResolver idResolver = new IdResolverImpl(theURI);
- String result = idResolver.resolveId("/", null, theURI);
- if (result != null)
- {
- mappedURI = createURI(result);
- }
- }
- return super.createURLInputStream(mappedURI);
- }
-
- public static URI createURI(String uriString)
- {
- if (hasProtocol(uriString))
- return URI.createURI(uriString);
- else
- return URI.createFileURI(uriString);
- }
-
- private static boolean hasProtocol(String uri)
- {
- boolean result = false;
- if (uri != null)
- {
- int index = uri.indexOf(":");
- if (index != -1 && index > 2) // assume protocol with be length 3 so that the'C' in 'C:/' is not interpreted as a protocol
- {
- result = true;
- }
- }
- return result;
- }
-
- private String getRelativePathToSchema(String a, String b)
- {
- String result;
- if (b.startsWith(a))
- {
- result = b.substring(a.length() + 1);
- return result;
- }
- else
- {
- return b;
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AbstractAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AbstractAction.java
deleted file mode 100644
index b421416adf..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AbstractAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-public class AbstractAction extends Action
-{
- XSDConcreteComponent xsdConcreteComponent;
-
- /**
- * @param text
- */
- public AbstractAction(String text, XSDConcreteComponent xsdConcreteComponent)
- {
- super(text);
- this.xsdConcreteComponent = xsdConcreteComponent;
- }
-
- /**
- * @param text
- * @param image
- */
- public AbstractAction(String text, ImageDescriptor image, XSDConcreteComponent xsdConcreteComponent)
- {
- super(text, image);
- this.xsdConcreteComponent = xsdConcreteComponent;
- }
-
- /**
- * @param text
- * @param style
- */
- public AbstractAction(String text, int style)
- {
- super(text, style);
- }
-
- public DocumentImpl getDocument()
- {
- return (DocumentImpl) xsdConcreteComponent.getElement().getOwnerDocument();
- }
-
- public void beginRecording(String description)
- {
- getDocument().getModel().beginRecording(this, description);
- }
-
- public void endRecording()
- {
- DocumentImpl doc = (DocumentImpl) getDocument();
-
- doc.getModel().endRecording(this);
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddAttributeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddAttributeAction.java
deleted file mode 100644
index f1a9f3ffe3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddAttributeAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.commands.AddAttributeDeclarationCommand;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-public class AddAttributeAction extends AbstractAction
-{
- protected AddAttributeDeclarationCommand command;
-
- public AddAttributeAction(String text, XSDConcreteComponent parent)
- {
- super(text, parent);
- command = new AddAttributeDeclarationCommand(parent);
- }
-
- public AddAttributeAction(String text, ImageDescriptor image, XSDConcreteComponent parent)
- {
- super(text, image, parent);
- command = new AddAttributeDeclarationCommand(parent);
- }
-
- public void run()
- {
- beginRecording(getText());
- command.run();
-
- endRecording();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddEnumsAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddEnumsAction.java
deleted file mode 100644
index ecc2f4b9d4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddEnumsAction.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xsd.ui.internal.widgets.EnumerationsDialog;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-/**
- * Pattern is scoped to Enum Type
- */
-public class AddEnumsAction extends CreateElementAction
-{
- public AddEnumsAction(String label)
- {
- super(label);
- }
-
- public Element createAndAddNewChildElement(String token)
- {
- String prefix = parentNode.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
- Element childNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + elementTag);
- if (getAttributes() != null)
- {
- List attributes = getAttributes();
- for (int i = 0; i < attributes.size(); i++)
- {
- DOMAttribute attr = (DOMAttribute) attributes.get(i);
- childNode.setAttribute(attr.getName(), attr.getValue());
- }
- }
- if (getRelativeNode() == null)
- {
- parentNode.appendChild(childNode);
- }
- else
- {
- ((Element)parentNode).insertBefore(childNode,getRelativeNode());
- }
- childNode.setAttribute("value", token);
- return childNode;
- }
-
- public void run()
- {
- Display display = Display.getCurrent();
- // if it is null, get the default one
- display = display == null ? Display.getDefault() : display;
- Shell parentShell = display.getActiveShell();
- EnumerationsDialog dialog = new EnumerationsDialog(parentShell);
- dialog.setBlockOnOpen(true);
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- beginRecording(getDescription());
-
- String text = dialog.getText();
- String delimiter = dialog.getDelimiter();
- StringTokenizer tokenizer = new StringTokenizer(text, delimiter);
- while (tokenizer.hasMoreTokens())
- {
- String token = tokenizer.nextToken();
- if (dialog.isPreserveWhitespace() == false)
- {
- token = token.trim();
- }
-
- Element child = createAndAddNewChildElement(token);
- formatChild(child);
- }
- endRecording();
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddModelGroupAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddModelGroupAction.java
deleted file mode 100644
index ac31566cc2..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddModelGroupAction.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.commands.AddModelGroupCommand;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-
-public class AddModelGroupAction extends Action
-{
- protected AddModelGroupCommand command;
- protected XSDConcreteComponent parent;
-
- public static String getLabel(XSDCompositor compositor)
- {
- String result = XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SEQUENCE"); //$NON-NLS-1$
- if (compositor != null)
- {
- if (compositor == XSDCompositor.CHOICE_LITERAL)
- {
- result = XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CHOICE"); //$NON-NLS-1$
- }
- else if (compositor == XSDCompositor.ALL_LITERAL)
- {
- result = XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ALL");//$NON-NLS-1$
- }
- }
- return result;
- }
-
- public AddModelGroupAction(XSDConcreteComponent parent, XSDCompositor compositor)
- {
- command = new AddModelGroupCommand(parent, compositor);
- this.parent = parent;
- setText(getLabel(compositor));
- }
-
- public void run()
- {
- DocumentImpl doc = (DocumentImpl) parent.getElement().getOwnerDocument();
- doc.getModel().beginRecording(this, getText());
- command.run();
- doc.getModel().endRecording(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddSchemaNodeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddSchemaNodeAction.java
deleted file mode 100644
index 31a89501c6..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddSchemaNodeAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-
-
-public class AddSchemaNodeAction extends Action
-{
- /**
- * Constructor for AddSchemaNodeAction.
- */
- public AddSchemaNodeAction()
- {
- super();
- }
-
- /**
- * Constructor for AddSchemaNodeAction.
- * @param text
- */
- public AddSchemaNodeAction(String text)
- {
- super(text);
- }
-
- /**
- * Constructor for AddSchemaNodeAction.
- * @param text
- * @param image
- */
- public AddSchemaNodeAction(String text, ImageDescriptor image)
- {
- super(text, image);
- }
-
- public void setEditor(XSDEditor editor)
- {
- this.editor = editor;
- }
-
- protected XSDEditor editor;
-
- /**
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run()
- {
- editor.createDefaultSchemaNode();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/BackAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/BackAction.java
deleted file mode 100644
index 0ab518d244..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/BackAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphViewer;
-import org.eclipse.xsd.XSDSchema;
-
-/**
- * @author kchong
- *
- * <a href="mailto:kchong@ca.ibm.com">kchong@ca.ibm.com</a>
- *
- */
-public class BackAction extends Action
-{
- ISelectionProvider selectionProvider;
- XSDGraphViewer xsdGraphViewer;
- XSDSchema xsdSchema;
-
- /**
- *
- */
- public BackAction()
- {
- super();
- }
-
- /**
- * @param text
- */
- public BackAction(String text)
- {
- super(text);
- }
-
- public BackAction(String text, XSDGraphViewer viewer)
- {
- super(text);
- xsdGraphViewer = viewer;
- }
-
- /**
- * @param text
- * @param image
- */
- public BackAction(String text, ImageDescriptor image)
- {
- super(text, image);
- }
-
- /**
- * @param text
- * @param style
- */
- public BackAction(String text, int style)
- {
- super(text, style);
- }
-
- public void setSelectionProvider(ISelectionProvider selectionProvider)
- {
- this.selectionProvider = selectionProvider;
- }
-
- public void setXSDSchema(XSDSchema xsdSchema)
- {
- this.xsdSchema = xsdSchema;
- }
-
- /*
- * @see IAction#run()
- */
- public void run()
- {
- StructuredSelection selection = new StructuredSelection(xsdSchema);
- selectionProvider.setSelection(selection);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAnnotationAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAnnotationAction.java
deleted file mode 100644
index 698d433eea..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAnnotationAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class CreateAnnotationAction extends CreateElementAction
-{
- XSDSchema xsdSchema;
- Element documentationNode;
-
- public CreateAnnotationAction()
- {
- super();
- }
-
- public CreateAnnotationAction(String text)
- {
- super(text);
- }
-
- public CreateAnnotationAction(String text, ImageDescriptor image)
- {
- super(text, image);
- }
-
- public Element createAndAddNewChildElement()
- {
- Element childNode = super.createAndAddNewChildElement();
-
- String prefix = parentNode.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
- documentationNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.DOCUMENTATION_ELEMENT_TAG);
- childNode.appendChild(documentationNode);
-
- formatChild(childNode);
- formatChild(documentationNode);
- formatChild(childNode);
-
- return childNode;
- }
-
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAttributeAndRequired.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAttributeAndRequired.java
deleted file mode 100644
index 6a634e2b88..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAttributeAndRequired.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-
-/*
- * Class which creates an Attribute and necessary Elements required before
- * an Attribute can be added. For example, if we wish to add an Attribute
- * to a GlobalElement without a ComplexType, a ComplexType will be created.
- */
-public class CreateAttributeAndRequired extends Action {
- String elementTag;
- String label;
- List attributes;
- XSDSchema xsdSchema;
- ISelectionProvider selectionProvider;
- Object parent;
-
- public CreateAttributeAndRequired(String elementTag, String label, List attributes, XSDSchema xsdSchema, ISelectionProvider selProvider, Object parent) {
- super(label);
-
- this.elementTag = elementTag;
- this.label = label;
- this.attributes = attributes;
- this.xsdSchema = xsdSchema;
- this.selectionProvider = selProvider;
- this.parent = parent;
- }
-
- public void run() {
- if (parent instanceof XSDElementDeclaration) {
- XSDElementDeclaration ed = (XSDElementDeclaration) parent;
- beginRecording(ed.getElement());
- ed.setTypeDefinition(null);
- XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
- ed.setAnonymousTypeDefinition(td);
-
- CreateElementAction action = new CreateElementAction(label);
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(td.getElement());
- action.setRelativeNode(null);
- action.setXSDSchema(xsdSchema);
- action.setSelectionProvider(selectionProvider);
- action.run();
-
- formatChild(td.getElement());
- if (td.getAttributeContents().size() > 0)
- {
- selectObject(td.getAttributeContents().get(0));
- }
- endRecording(ed.getElement());
- }
- }
-
- protected void beginRecording(Element element) {
- ((DocumentImpl) element.getOwnerDocument()).getModel().beginRecording(this, getText());
- }
-
- protected void endRecording(Element element) {
- ((DocumentImpl) element.getOwnerDocument()).getModel().endRecording(this);
- }
-
- public void selectObject(Object object) {
- if (selectionProvider != null)
- {
- selectionProvider.setSelection(new StructuredSelection(object));
- }
- }
-
- protected void formatChild(Element child)
- {
- if (child instanceof XMLNode)
- {
- XMLModel model = ((XMLNode)child).getModel();
- try
- {
- // tell the model that we are about to make a big model change
- model.aboutToChangeModel();
-
- IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
- formatProcessor.formatNode(child);
- }
- finally
- {
- // tell the model that we are done with the big model change
- model.changedModel();
- }
- }
- }
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java
deleted file mode 100644
index b3b34e76e2..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-public class CreateElementAction extends Action
-{
- protected String description;
- protected Element parentNode;
-
- protected ISelectionProvider selectionProvider;
- protected XSDSchema xsdSchema;
-
- /**
- * Constructor for CreateElementAction.
- */
- public CreateElementAction()
- {
- super();
- }
- /**
- * Constructor for CreateElementAction.
- * @param text
- */
- public CreateElementAction(String text)
- {
- super(text);
- }
- /**
- * Constructor for CreateElementAction.
- * @param text
- * @param image
- */
- public CreateElementAction(String text, ImageDescriptor image)
- {
- super(text, image);
- }
-
- public void setXSDSchema(XSDSchema xsdSchema)
- {
- this.xsdSchema = xsdSchema;
- }
-
- public void setSelectionProvider(ISelectionProvider selectionProvider)
- {
- this.selectionProvider = selectionProvider;
- }
-
- /**
- * Gets the parentNode.
- * @return Returns a Element
- */
- public Element getParentNode()
- {
- return parentNode;
- }
-
- /**
- * Sets the parentNode.
- * @param parentNode The parentNode to set
- */
- public void setParentNode(Element parentNode)
- {
- this.parentNode = parentNode;
- }
-
- boolean isGlobal = false;
-
- public void setIsGlobal(boolean isGlobal)
- {
- this.isGlobal = isGlobal;
- }
-
- public boolean getIsGlobal()
- {
- return isGlobal;
- }
-
- protected Node relativeNode;
- protected String elementTag;
- public void setElementTag(String elementTag)
- {
- this.elementTag = elementTag;
- }
-
- public DocumentImpl getDocument()
- {
- return (DocumentImpl) getParentNode().getOwnerDocument();
- }
-
- public void beginRecording(String description)
- {
- getDocument().getModel().beginRecording(this, description);
- }
-
- public void endRecording()
- {
- DocumentImpl doc = (DocumentImpl) getDocument();
-
- doc.getModel().endRecording(this);
- }
-
- public Element createAndAddNewChildElement()
- {
- String prefix = parentNode.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
- Element childNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + elementTag);
- if (getAttributes() != null)
- {
- List attributes = getAttributes();
- for (int i = 0; i < attributes.size(); i++)
- {
- DOMAttribute attr = (DOMAttribute) attributes.get(i);
- childNode.setAttribute(attr.getName(), attr.getValue());
- }
- }
- if (getRelativeNode() == null)
- {
- parentNode.appendChild(childNode);
- }
- else
- {
- ((Element)parentNode).insertBefore(childNode,getRelativeNode());
- }
-
- if (isGlobal && getRelativeNode() == null)
- {
- Text textNode = getDocument().createTextNode("\n\n");
- parentNode.appendChild(textNode);
- }
- else if (isGlobal && getRelativeNode() != null)
- {
- Text textNode = getDocument().createTextNode("\n\n");
- parentNode.insertBefore(textNode, getRelativeNode());
- }
-
- formatChild(childNode);
-
- return childNode;
- }
-
- protected void formatChild(Element child)
- {
- if (child instanceof XMLNode)
- {
- XMLModel model = ((XMLNode)child).getModel();
- try
- {
- // tell the model that we are about to make a big model change
- model.aboutToChangeModel();
-
- IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
- formatProcessor.formatNode(child);
- }
- finally
- {
- // tell the model that we are done with the big model change
- model.changedModel();
- }
- }
- }
- /*
- * @see IAction#run()
- */
- public void run()
- {
- beginRecording(getDescription());
- Element child = createAndAddNewChildElement();
- endRecording();
-
- if (selectionProvider != null)
- {
- final XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(child);
-// selectionProvider.setSelection(new StructuredSelection(comp));
-
- Runnable runnable = new Runnable()
- {
- public void run()
- {
- selectionProvider.setSelection(new StructuredSelection(comp));
- }
- };
- Display.getDefault().timerExec(50,runnable);
-
- }
- }
-
- /**
- * Gets the relativeNode.
- * @return Returns a Element
- */
- public Node getRelativeNode()
- {
- return relativeNode;
- }
-
- /**
- * Sets the relativeNode.
- * @param relativeNode The relativeNode to set
- */
- public void setRelativeNode(Node relativeNode)
- {
- this.relativeNode = relativeNode;
- }
-
- /**
- * Gets the description.
- * @return Returns a String
- */
- public String getDescription()
- {
- if (description == null)
- {
- return getText();
- }
- return description;
- }
-
- /**
- * Sets the description.
- * @param description The description to set
- */
- public void setDescription(String description)
- {
- this.description = description;
- }
-
- protected List attributes;
- /**
- * Gets the nameAttribute.
- * @return Returns a String
- */
- public List getAttributes()
- {
- return attributes;
- }
-
- /**
- * Sets the attributes.
- * @param attributes The attributes to set
- */
- public void setAttributes(List attributes)
- {
- this.attributes = attributes;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateGroupAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateGroupAction.java
deleted file mode 100644
index f9eadae541..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateGroupAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class CreateGroupAction extends CreateElementAction
-{
- XSDSchema xsdSchema;
-
- /**
- * Constructor for CreateGroupAction.
- */
- public CreateGroupAction()
- {
- super();
- }
- /**
- * Constructor for CreateGroupAction.
- * @param text
- */
- public CreateGroupAction(String text)
- {
- super(text);
- }
- /**
- * Constructor for CreateGroupAction.
- * @param text
- * @param XSDSchema
- */
- public CreateGroupAction(String text, XSDSchema xsdSchema)
- {
- super(text);
- this.xsdSchema = xsdSchema;
- }
- /**
- * Constructor for CreateGroupAction.
- * @param text
- * @param image
- */
- public CreateGroupAction(String text, ImageDescriptor image)
- {
- super(text, image);
- }
-
- public Element createAndAddNewChildElement()
- {
- XSDConcreteComponent xsdComp = xsdSchema.getCorrespondingComponent(parentNode);
- Element childNode = super.createAndAddNewChildElement();
-
- String prefix = parentNode.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
- Element contentModelNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SEQUENCE_ELEMENT_TAG);
- childNode.appendChild(contentModelNode);
-
- formatChild(childNode);
-
- xsdComp.setElement(parentNode);
-
- return childNode;
- }
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateIdentityConstraintsAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateIdentityConstraintsAction.java
deleted file mode 100644
index ca933f334e..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateIdentityConstraintsAction.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class CreateIdentityConstraintsAction extends CreateElementAction
-{
- XSDSchema xsdSchema;
-
- /**
- * Constructor for CreateIdentityConstraintsAction.
- */
- public CreateIdentityConstraintsAction()
- {
- super();
- }
- /**
- * Constructor for CreateIdentityConstraintsAction.
- * @param text
- */
- public CreateIdentityConstraintsAction(String text)
- {
- super(text);
- }
- /**
- * Constructor for CreateIdentityConstraintsAction.
- * @param text
- * @param XSDSchema
- */
- public CreateIdentityConstraintsAction(String text, XSDSchema xsdSchema)
- {
- super(text);
- this.xsdSchema = xsdSchema;
- }
- /**
- * Constructor for CreateIdentityConstraintsAction.
- * @param text
- * @param image
- */
- public CreateIdentityConstraintsAction(String text, ImageDescriptor image)
- {
- super(text, image);
- }
-
- public Element createAndAddNewChildElement()
- {
- Element childNode = super.createAndAddNewChildElement();
-
- String prefix = parentNode.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
- Element selectorNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SELECTOR_ELEMENT_TAG);
-
- DOMAttribute attr = new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, "");
- selectorNode.setAttribute(attr.getName(), attr.getValue());
-
- childNode.appendChild(selectorNode);
-
- return childNode;
- }
-
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalComplexTypeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalComplexTypeAction.java
deleted file mode 100644
index e8b0cd027a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalComplexTypeAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class CreateLocalComplexTypeAction extends CreateElementAction
-{
- /**
- * Constructor for CreateLocalComplexTypeAction.
- */
- public CreateLocalComplexTypeAction()
- {
- super();
- }
- /**
- * Constructor for CreateLocalComplexTypeAction.
- * @param text
- */
- public CreateLocalComplexTypeAction(String text)
- {
- super(text);
- }
- /**
- * Constructor for CreateLocalComplexTypeAction.
- * @param text
- * @param image
- */
- public CreateLocalComplexTypeAction(String text, ImageDescriptor image)
- {
- super(text, image);
- }
-
- public Element createAndAddNewChildElement()
- {
- XSDConcreteComponent xsdComp = xsdSchema.getCorrespondingComponent(parentNode);
-
- Element childNode = super.createAndAddNewChildElement();
-
- if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.ELEMENT_ELEMENT_TAG, false))
- {
- parentNode.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
- }
-
- String prefix = parentNode.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
- childNode.appendChild(getDocument().createElement(prefix + XSDConstants.SEQUENCE_ELEMENT_TAG));
-
- formatChild(childNode);
-
- xsdComp.setElement(parentNode);
-
- return childNode;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalSimpleTypeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalSimpleTypeAction.java
deleted file mode 100644
index d2e1065c41..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalSimpleTypeAction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class CreateLocalSimpleTypeAction extends CreateElementAction
-{
- XSDSchema xsdSchema;
-
- /**
- * Constructor for CreateLocalSimpleTypeAction.
- */
- public CreateLocalSimpleTypeAction()
- {
- super();
- }
- /**
- * Constructor for CreateLocalSimpleTypeAction.
- * @param text
- */
- public CreateLocalSimpleTypeAction(String text)
- {
- super(text);
- }
-
- /**
- * Constructor for CreateLocalSimpleTypeAction.
- * @param text
- * @param image
- */
- public CreateLocalSimpleTypeAction(String text, ImageDescriptor image)
- {
- super(text, image);
- }
-
- public Element createAndAddNewChildElement()
- {
- Element childNode = super.createAndAddNewChildElement();
-
- if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.UNION_ELEMENT_TAG, false))
- {
-// parentNode.removeAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- }
- else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.LIST_ELEMENT_TAG, false))
- {
- parentNode.removeAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
- }
- else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
- {
- parentNode.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
- }
- else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.RESTRICTION_ELEMENT_TAG, false))
- {
- Node parent = parentNode.getParentNode();
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
- parentNode.removeAttribute(XSDConstants.BASE_ATTRIBUTE);
- }
- }
- else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.ELEMENT_ELEMENT_TAG, false))
- {
- parentNode.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
- }
-
- formatChild(childNode);
-
- return childNode;
- }
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleContentAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleContentAction.java
deleted file mode 100644
index 9c49936348..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleContentAction.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * @version 1.0
- * @author
- */
-public class CreateSimpleContentAction extends CreateElementAction
-{
- XSDSchema xsdSchema;
- //IDocument document;
-
- /**
- * Constructor for CreateSimpleContentAction.
- */
- public CreateSimpleContentAction()
- {
- super();
- }
- /**
- * Constructor for CreateSimpleContentAction.
- * @param text
- */
- public CreateSimpleContentAction(String text)
- {
- super(text);
- }
- /**
- * Constructor for CreateSimpleContentAction.
- * @param text
- * @param XSDSchema
- */
- public CreateSimpleContentAction(String text, XSDSchema xsdSchema)
- {
- super(text);
- this.xsdSchema = xsdSchema;
- }
- /**
- * Constructor for CreateSimpleContentAction.
- * @param text
- * @param image
- */
- public CreateSimpleContentAction(String text, ImageDescriptor image)
- {
- super(text, image);
- }
-
- public Element createAndAddNewChildElement()
- {
- Element childNode = super.createAndAddNewChildElement();
-
- String prefix = parentNode.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
- Element derivedByNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + "restriction");
- childNode.appendChild(derivedByNode);
- Element sequence = null;
-
- if (XSDDOMHelper.inputEquals(childNode, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- sequence = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + "sequence");
- derivedByNode.appendChild(sequence);
- }
-
- // now add the required base attribute for the derived by node
- TypesHelper typesHelper = new TypesHelper(xsdSchema);
- List listOfCT = typesHelper.getUserComplexTypeNamesList();
- String firstType = "";
- if (listOfCT.size() > 0)
- {
- firstType = (String)(listOfCT).get(0);
- }
- DOMAttribute attr = new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, firstType);
- derivedByNode.setAttribute(attr.getName(), attr.getValue());
-
- formatChild(derivedByNode);
- if (sequence != null)
- {
- formatChild(sequence);
- formatChild(derivedByNode);
- }
- formatChild(childNode);
-
-
- return childNode;
- }
-
- /*
- * @see IAction#run()
- */
- public void run()
- {
- ArrayList message = new ArrayList();
- beginRecording(getDescription());
-
- Element child = createAndAddNewChildElement();
- endRecording();
-
- NodeList children = parentNode.getChildNodes();
-/*
- for (int i=0; i < children.getLength(); i++)
- {
- Node aChild = children.item(i);
- if (aChild != null && aChild instanceof Element)
- {
- if (XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
- {
- // REMOVE ATTRIBUTES AND ATTRIBUTE GROUP REFS FROM COMPLEX TYPES LIST OF CHILDREN
- message.addElement(new ModelMessage
- (XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_FROM") +
- " <" + parentNode.getAttribute("name") + ">", aChild));
- }
- }
- }
- domainModel.createMarkers(message);
-*/
- for (int i=0; i < children.getLength(); i++)
- {
- Node aChild = children.item(i);
- if (aChild != null && aChild instanceof Element)
- {
- if (XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true) ||
- XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
- {
- // REMOVE ATTRIBUTES AND ATTRIBUTE GROUP REFS FROM COMPLEX TYPES LIST OF CHILDREN
-// KCPort TODO
-// ErrorMessage aTask = new ErrorMessage();
-// Node parent = aChild;
-// if (parent instanceof NodeImpl)
-// {
-// aTask.setModelObject(parent);
-// }
-// aTask.setLocalizedMessage(XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_FROM") + " <" + parentNode.getAttribute("name") + ">");
-// message.add(aTask);
- }
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleTypeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleTypeAction.java
deleted file mode 100644
index 5e5c29cce1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleTypeAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-public class CreateSimpleTypeAction extends CreateElementAction
-{
- /**
- *
- */
- public CreateSimpleTypeAction()
- {
- super();
- }
-
- /**
- * @param text
- */
- public CreateSimpleTypeAction(String text)
- {
- super(text);
- }
-
- public CreateSimpleTypeAction(String text, XSDSchema xsdSchema)
- {
- super(text);
- this.xsdSchema = xsdSchema;
- }
-
- /**
- * @param text
- * @param image
- */
- public CreateSimpleTypeAction(String text, ImageDescriptor image)
- {
- super(text, image);
- }
-
- public Element createAndAddNewChildElement()
- {
- XSDConcreteComponent xsdComp = xsdSchema.getCorrespondingComponent(parentNode);
- Element childNode = super.createAndAddNewChildElement();
-
- String prefix = parentNode.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
- Element contentModelNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.RESTRICTION_ELEMENT_TAG);
- contentModelNode.setAttribute(XSDConstants.BASE_ATTRIBUTE, prefix + "string");
- childNode.appendChild(contentModelNode);
-
- formatChild(childNode);
-
- xsdComp.setElement(parentNode);
-
- return childNode;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DOMAttribute.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DOMAttribute.java
deleted file mode 100644
index 5580b40fc4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DOMAttribute.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-// TODO Remove this
-
-/**
- * @version 1.0
- * @author
- */
-public class DOMAttribute
-{
- /**
- * Constructor for DOMAttribute.
- */
- public DOMAttribute()
- {
- super();
- }
-
- /**
- * Constructor for DOMAttribute.
- */
- public DOMAttribute(String name, String value)
- {
- super();
- this.name = name;
- this.value = value;
- }
-
- protected String name, value;
- /**
- * Gets the value.
- * @return Returns a String
- */
- public String getValue()
- {
- return value;
- }
-
- /**
- * Sets the value.
- * @param value The value to set
- */
- public void setValue(String value)
- {
- this.value = value;
- }
-
- /**
- * Gets the name.
- * @return Returns a String
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Sets the name.
- * @param name The name to set
- */
- public void setName(String name)
- {
- this.name = name;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DeleteAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DeleteAction.java
deleted file mode 100644
index 097a4a3fae..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DeleteAction.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.BaseGlobalCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.GlobalAttributeCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.GlobalAttributeGroupCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.GlobalElementCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.GlobalGroupCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.GlobalSimpleOrComplexTypeCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.XSDExternalFileCleanup;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Node;
-
-
-public class DeleteAction extends SelectionListenerAction
-{
- protected IEditorPart editor;
- protected XSDSchema xsdSchema;
- protected ISelectionProvider selectionProvider;
- protected XSDConcreteComponent parentXSDComponent;
-
- /**
- * Constructor for DeleteAction.
- * @param text
- */
- public DeleteAction(String text, IEditorPart editor, XSDSchema xsdSchema)
- {
- super(text);
- this.editor = editor;
- this.xsdSchema = xsdSchema;
- }
-
- public void setSelectionProvider(ISelectionProvider selectionProvider)
- {
- this.selectionProvider = selectionProvider;
- }
-
- public IEditorPart getEditor()
- {
- return editor;
- }
-
- public XSDSchema getSchema()
- {
- return xsdSchema;
- }
-
- public void setXSDSchema(XSDSchema xsdSchema)
- {
- this.xsdSchema = xsdSchema;
- }
-
- /*
- * @see IAction#run()
- */
- public void run()
- {
- IStructuredSelection selection = getStructuredSelection();
-
- if (selection.isEmpty())
- {
- return;
- }
-
- Iterator iter = selection.iterator();
- DocumentImpl doc = null;
- while (iter.hasNext())
- {
- Object obj = iter.next();
- Node node = null;
- if (obj instanceof Node)
- {
- node = (Node)obj;
- }
- else if (obj instanceof XSDConcreteComponent)
- {
- xsdSchema = ((XSDConcreteComponent)obj).getSchema();
-
- node = ((XSDConcreteComponent)obj).getElement();
- if (node instanceof XMLNode)
- {
- parentXSDComponent = ((XSDConcreteComponent)obj).getContainer();
-
- if (parentXSDComponent instanceof XSDParticle)
- {
- // need to get the modelGroup
- parentXSDComponent = parentXSDComponent.getContainer();
- }
- }
-
- }
- if (!XSDDOMHelper.inputEquals(node, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- if (node instanceof XMLNode)
- {
- if (doc == null)
- {
- doc = (DocumentImpl) node.getOwnerDocument();
- doc.getModel().beginRecording(this, XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_NODES"));
- }
-
- boolean refresh = cleanupReferences(node);
- if (node != null)
- {
- XSDDOMHelper.removeNodeAndWhitespace(node);
- }
-
- // Workaround to reset included elements in XSD model
- if (refresh)
- {
- // getEditor().reparseSchema();
- // getEditor().getGraphViewer().setSchema(getEditor().getXSDSchema());
- }
- }
- }
- }
-
- if (parentXSDComponent != null && selectionProvider != null)
- {
- selectionProvider.setSelection(new StructuredSelection(parentXSDComponent));
- }
-
- if (doc != null)
- {
- doc.getModel().endRecording(this);
- }
- }
-
- protected boolean cleanupReferences(Node deletedNode)
- {
- boolean refresh = false;
- XSDConcreteComponent comp = getSchema().getCorrespondingComponent(deletedNode);
-
- if (comp instanceof XSDInclude ||
- comp instanceof XSDImport ||
- comp instanceof XSDRedefine)
- {
- XSDSchema resolvedSchema = ((XSDSchemaDirective)comp).getResolvedSchema();
- XSDSchema referencedSchema = null;
- if (comp instanceof XSDInclude)
- {
- referencedSchema = ((XSDInclude)comp).getIncorporatedSchema();
- refresh = true;
- }
- else if (comp instanceof XSDRedefine)
- {
- referencedSchema = ((XSDRedefine)comp).getIncorporatedSchema();
- refresh = true;
- }
- else if (comp instanceof XSDImport)
- {
- XSDImport imp = (XSDImport)comp;
- referencedSchema = ((XSDImport)comp).getResolvedSchema();
- refresh = true;
- }
-
- if (referencedSchema != null)
- {
- XSDExternalFileCleanup cleanHelper = new XSDExternalFileCleanup(referencedSchema);
- cleanHelper.visitSchema(getSchema());
- // populate messages
-// TODO getEditor().createTasksInTaskList(cleanHelper.getMessages());
- }
- if (comp instanceof XSDImport)
- {
- TypesHelper typesHelper = new TypesHelper(getSchema());
- typesHelper.updateMapAfterDelete((XSDImport)comp);
- }
- }
- else if (getSchema().equals(comp.getContainer()))
- {
- BaseGlobalCleanup cleanHelper = null;
- // Only need to clean up references if the component being deleted is global scoped
- if (comp instanceof XSDElementDeclaration)
- {
- cleanHelper = new GlobalElementCleanup(comp);
- }
- else if (comp instanceof XSDModelGroupDefinition)
- {
- cleanHelper = new GlobalGroupCleanup(comp);
- }
- else if (comp instanceof XSDTypeDefinition)
- {
- cleanHelper = new GlobalSimpleOrComplexTypeCleanup(comp);
- }
- else if (comp instanceof XSDAttributeDeclaration)
- {
- cleanHelper = new GlobalAttributeCleanup(comp);
- }
- else if (comp instanceof XSDAttributeGroupDefinition)
- {
- cleanHelper = new GlobalAttributeGroupCleanup(comp);
- }
-
-
- if (cleanHelper != null)
- {
- cleanHelper.visitSchema(getSchema());
- }
- }
- return refresh;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ISchemaEditorActionConstants.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ISchemaEditorActionConstants.java
deleted file mode 100644
index 6033b722de..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ISchemaEditorActionConstants.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-public interface ISchemaEditorActionConstants
-{
- public static final String RETARGET_VALIDATE_SCHEMA_ACTION_ID = "retargetValidateSchemaAction"; //$NON-NLS-1$
- public static final String RETARGET_RELOAD_DEPENDENCIES_ACTION_ID = "retargetReloadDependenciesAction"; //$NON-NLS-1$
- public static final String RETARGET_GENERATE_JAVA_ACTION_ID = "retargetGenerateJavaAction"; //$NON-NLS-1$
- public static final String RETARGET_GENERATE_DTD_ACTION_ID = "retargetGenerateDtdAction"; //$NON-NLS-1$
- public static final String RETARGET_GENERATE_XML_ACTION_ID = "retargetGenerateXMLAction"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MakeAnonymousGlobal.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MakeAnonymousGlobal.java
deleted file mode 100644
index 9a9638a03f..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MakeAnonymousGlobal.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class MakeAnonymousGlobal extends CreateElementAction
-{
- XSDSchema xsdSchema;
- Element type;
-
- public MakeAnonymousGlobal(String text, Element type, XSDSchema xsdSchema)
- {
- super(text);
- this.xsdSchema = xsdSchema;
- this.type = type;
- isGlobal = true;
- }
-
- public Element createAndAddNewChildElement()
- {
- // create the new global type
- Element childNode = super.createAndAddNewChildElement();
- // add the anonymous type's children to the new global type
- if (type.hasChildNodes())
- {
- NodeList nodes = type.getChildNodes();
- // use clones so we don't have a refresh problem
- for (int i = 0; i < nodes.getLength(); i++)
- {
- Node node = nodes.item(i);
- childNode.appendChild(node.cloneNode(true));
- }
- }
-
- // clean up the element whose type was anonymous
- // and set its type attribute to the new global type
- TypesHelper helper = new TypesHelper(xsdSchema);
- String prefix = helper.getPrefix(xsdSchema.getTargetNamespace(), true);
- helper = null;
-
- Element parentElementOfAnonymousType = (Element)type.getParentNode();
-
- parentElementOfAnonymousType.removeChild(type);
- parentElementOfAnonymousType.setAttribute(XSDConstants.TYPE_ATTRIBUTE, prefix + childNode.getAttribute(XSDConstants.NAME_ATTRIBUTE));
-
- formatChild(childNode);
-
- return childNode;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ModelMessage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ModelMessage.java
deleted file mode 100644
index aa30618d02..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ModelMessage.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.w3c.dom.Node;
-
-public class ModelMessage
-{
- protected String message;
- protected Node node;
-
- public ModelMessage(String message, Node node)
- {
- this.message = message;
- this.node = node;
- }
-
- public String getMessage()
- {
- return message;
- }
-
- public Node getNode()
- {
- return node;
- }
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MoveAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MoveAction.java
deleted file mode 100644
index 741f7d0dd2..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MoveAction.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-public class MoveAction extends Action
-{
- protected List selectedNodes;
- protected Node parentNode;
- protected Node refChild;
-
- /**
- * Constructor for DeleteAction.
- * @param text
- */
- public MoveAction(Node parentNode, List selectedNodes, Node refChild)
- {
- this.parentNode = parentNode;
- this.selectedNodes = selectedNodes;
- this.refChild = refChild;
- }
-
- public MoveAction(XSDConcreteComponent parentComponent, List selectedComponents, XSDConcreteComponent refChildComponent)
- {
- selectedNodes = new ArrayList(selectedComponents.size());
- for (Iterator i = selectedComponents.iterator(); i.hasNext(); )
- {
- XSDConcreteComponent concreteComponent = (XSDConcreteComponent)i.next();
- selectedNodes.add(concreteComponent.getElement());
- }
- parentNode = parentComponent.getElement();
- refChild = refChildComponent != null ? refChildComponent.getElement() : null;
- }
-
- public boolean canMove()
- {
- // TODO... there are likely more restriction to consider here
- boolean result = true;
- for (Iterator i = selectedNodes.iterator(); i.hasNext(); )
- {
- Node child = (Node)i.next();
- if (isDecendantOrSelf(child, parentNode))
- {
- result = false;
- break;
- }
- }
- return result;
- }
-
- protected boolean isDecendantOrSelf(Node potentialParent, Node node)
- {
- boolean result = false;
- while (node != null)
- {
- if (node == potentialParent)
- {
- result = true;
- break;
- }
- node = node.getParentNode();
- }
- return result;
- }
-
-
- protected void beginRecording()
- {
- XMLModel model = getModel();
- if (model != null)
- {
- model.beginRecording(this, "Move");
- }
- }
-
- protected void endRecording()
- {
- XMLModel model = getModel();
- if (model != null)
- {
- model.endRecording(this);
- }
- }
-
- protected XMLModel getModel()
- {
- XMLModel model = null;
- if (parentNode instanceof XMLNode)
- {
- model = ((XMLNode)parentNode).getModel();
- }
- return model;
- }
-
-
-
- /*
- * @see IAction#run()
- */
- public void run()
- {
- beginRecording();
- try
- {
- for (Iterator i = selectedNodes.iterator(); i.hasNext(); )
- {
- Node child = (Node)i.next();
- repositionBefore(parentNode, child, refChild);
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- endRecording();
- }
-
-
- public void repositionBefore(Node parent, Node child, Node refChild)
- {
- // TODO... when the refChild (inserting as the last element) we need to
- // special case the way we preserve indentation
- Node oldParent = child.getParentNode();
- if (oldParent != null && refChild != child)
- {
- // consider any indentation text node that preceeds the child
- //
- Node textNode = isWhitespaceTextNode(child.getPreviousSibling()) ? child.getPreviousSibling() : null;
-
- // remove the child
- //
- oldParent.removeChild(child);
-
- // Instead of inserting the child immediatlely infront of the refChild, we first check to see if there
- // is an indentation text node preceeding the refChild. If we find such a node, we perform the insertion
- // so that the child is inserted before the indentation text node.
- Node adjustedRefChild = refChild;
- if (refChild != null && isWhitespaceTextNode(refChild.getPreviousSibling()))
- {
- adjustedRefChild = refChild.getPreviousSibling();
- }
-
- // reposition the child and any indentation text node
- //
- parent.insertBefore(child, adjustedRefChild);
- if (textNode != null)
- {
- oldParent.removeChild(textNode);
- parent.insertBefore(textNode, child);
- }
- }
- }
-
-
- protected static boolean isWhitespaceTextNode(Node node)
- {
- boolean result = false;
- if (node != null && node.getNodeType() == Node.TEXT_NODE)
- {
- String data = ((Text)node).getData();
- result = (data == null || data.trim().length() == 0);
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/OpenSchemaAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/OpenSchemaAction.java
deleted file mode 100644
index 6ba1ee9e9d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/OpenSchemaAction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.util.OpenOnSelectionHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.impl.XSDImportImpl;
-import org.w3c.dom.Node;
-
-
-public class OpenSchemaAction extends Action
-{
- XSDConcreteComponent component;
- public OpenSchemaAction(String label, XSDConcreteComponent component)
- {
- super(label);
- this.component = component;
- }
-
- public void run()
- {
- if (component != null)
- {
- revealObject();
- }
- }
-
- boolean lastResult = false;
- protected boolean revealObject()
- {
- Node element = component.getElement();
- String schemaLocation = "";
- XSDSchemaDirective dir;
- if (component instanceof XSDSchemaDirective)
- {
- dir = (XSDSchemaDirective)component;
- // force load of imported schema
- if (dir instanceof XSDImportImpl)
- {
- ((XSDImportImpl)dir).importSchema();
- }
- if (dir.getResolvedSchema() != null)
- {
- schemaLocation = URIHelper.removePlatformResourceProtocol(dir.getResolvedSchema().getSchemaLocation());
- if (schemaLocation != null)
- {
- OpenOnSelectionHelper.openXSDEditor(schemaLocation);
- }
- }
- }
- return lastResult;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ReloadDependenciesAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ReloadDependenciesAction.java
deleted file mode 100644
index 73e239f2f1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ReloadDependenciesAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-
-
-public class ReloadDependenciesAction extends Action
-{
- /**
- * Constructor for ReloadDependenciesAction.
- */
- public ReloadDependenciesAction()
- {
- super();
- }
-
- /**
- * Constructor for ReloadDependenciesAction.
- * @param text
- */
- public ReloadDependenciesAction(String text)
- {
- super(text);
- }
-
- /**
- * Constructor for ReloadDependenciesAction.
- * @param text
- * @param image
- */
- public ReloadDependenciesAction(String text, ImageDescriptor image)
- {
- super(text, image);
- }
-
- public void setEditor(XSDEditor editor)
- {
- this.editor = editor;
- }
-
- protected XSDEditor editor;
-
- public void run()
- {
- editor.reparseSchema();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetBaseTypeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetBaseTypeAction.java
deleted file mode 100644
index 27bbabbee7..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetBaseTypeAction.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.wst.xsd.ui.internal.widgets.SetBaseTypeDialog;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class SetBaseTypeAction extends Action
-{
- XSDSchema xsdSchema;
- Element element;
- String type = "";
- String derivedByString = "";
- XSDDOMHelper domHelper;
-
- /**
- * Constructor for SetBaseTypeAction.
- */
- public SetBaseTypeAction()
- {
- super();
- domHelper = new XSDDOMHelper();
- }
- /**
- * Constructor for SetBaseTypeAction.
- * @param arg0
- */
- public SetBaseTypeAction(String arg0)
- {
- super(arg0);
- domHelper = new XSDDOMHelper();
- }
- /**
- * Constructor for SetBaseTypeAction.
- * @param arg0
- * @param arg1
- */
- public SetBaseTypeAction(String arg0, ImageDescriptor arg1)
- {
- super(arg0, arg1);
- domHelper = new XSDDOMHelper();
- }
- /**
- * Constructor for SetBaseTypeAction.
- * @param arg0
- * @param arg1
- */
- public SetBaseTypeAction(String arg0, int arg1)
- {
- super(arg0, arg1);
- domHelper = new XSDDOMHelper();
- }
-
-
- public void setXSDSchema(XSDSchema schema)
- {
- this.xsdSchema = schema;
- }
-
- public void setComplexTypeElement(Element element)
- {
- this.element = element;
- }
-
- public void setType(String type)
- {
- this.type = type;
- }
-
- public void setDerivedBy(String derivedByString)
- {
- this.derivedByString = derivedByString;
- }
-
- public void run()
- {
- Display display = Display.getCurrent();
- // if it is null, get the default one
- display = display == null ? Display.getDefault() : display;
- Shell parentShell = display.getActiveShell();
-
- SetBaseTypeDialog dialog = new SetBaseTypeDialog(parentShell, xsdSchema, element);
- dialog.setBlockOnOpen(true);
-
- Element contentModelElement = domHelper.getContentModelFromParent(element);
- if (contentModelElement != null)
- {
- // to set the current values to show in the dialog
- if (XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
- {
- Element derivedByElement = domHelper.getDerivedByElementFromComplexType(element);
- if (derivedByElement != null)
- {
- String currentBaseType = derivedByElement.getAttribute(XSDConstants.BASE_ATTRIBUTE);
- dialog.setCurrentBaseType(currentBaseType);
- dialog.setCurrentDerivedBy(derivedByElement.getLocalName());
- }
- else
- {
- dialog.setCurrentBaseType("");
- dialog.setCurrentDerivedBy("");
- }
- }
- }
-
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- type = dialog.getBaseType();
- derivedByString = dialog.getDerivedBy();
- performAction();
- }
- }
-
- XSDTypeDefinition newTypeDefinition = null;
- public XSDTypeDefinition getXSDTypeDefinition()
- {
- return newTypeDefinition;
- }
-
- public void performAction()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
-
- XSDConcreteComponent xsdComp = xsdSchema.getCorrespondingComponent(element);
-
- Element contentModelElement = domHelper.getContentModelFromParent(element);
- boolean contentModelExists = true;
- if (contentModelElement == null)
- {
- contentModelExists = false;
- }
-
-// get XSD component of the new type chosen
- newTypeDefinition = null;
- for (Iterator i = xsdSchema.getTypeDefinitions().iterator(); i.hasNext(); )
- {
- XSDTypeDefinition typeDef = (XSDTypeDefinition)i.next();
- if (typeDef.getQName().equals(type))
- {
- newTypeDefinition = typeDef;
- break;
- }
- }
-
- boolean needsComplexContent = false;
- boolean needsSimpleContent = false;
-
- if (helper.getBuiltInTypeNamesList().contains(type) ||
- helper.getUserSimpleTypeNamesList().contains(type))
-// if (newTypeDefinition instanceof XSDSimpleTypeDefinition)
- {
- needsSimpleContent = true;
- }
- else if (newTypeDefinition instanceof XSDComplexTypeDefinition)
- {
- needsComplexContent = true;
-// XSDComplexTypeDefinition newCTObj = (XSDComplexTypeDefinition)newTypeDefinition;
-// XSDContentTypeCategory category = newCTObj.getContentTypeCategory();
- }
-
- beginRecording(XSDEditorPlugin.getXSDString("_UI_LABEL_SET_BASE_TYPE"), element);
- String prefix = element.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
-
- DOMAttribute attr = new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, type);
- boolean hasChildrenElements = domHelper.hasElementChildren(element);
- if (!contentModelExists) // if no content model exists, then add the new nodes
- {
- if (helper.getBuiltInTypeNamesList().contains(type) ||
- helper.getUserSimpleTypeNamesList().contains(type))
- {
- updateModelAndDerivedByKind(prefix + XSDConstants.SIMPLECONTENT_ELEMENT_TAG, prefix + XSDConstants.EXTENSION_ELEMENT_TAG, attr);
- }
- else if (helper.getUserComplexTypeNamesList().contains(type))
- {
- if (derivedByString.equals("")) // default
- {
- derivedByString = XSDConstants.EXTENSION_ELEMENT_TAG;
- }
- Element derivedByElement = updateModelAndDerivedByKind(prefix + XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, prefix + derivedByString, attr);
- Element newModelGroupElement = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SEQUENCE_ELEMENT_TAG);
- derivedByElement.appendChild(newModelGroupElement);
- formatChild(derivedByElement);
- }
- }
- else // else there is a content model
- {
- if (type.equals("")) // the chosen type is blank, ie. there is no base type
- {
- Element derivedByElement = domHelper.getDerivedByElementFromComplexType(element);
- Element sourceContentModelElement = domHelper.getContentModelFromParent(derivedByElement);
- // Retain the content model if there is one from the complex or simple content derive by element
- if (XSDDOMHelper.inputEquals(sourceContentModelElement, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(sourceContentModelElement, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(sourceContentModelElement, XSDConstants.ALL_ELEMENT_TAG, false))
- {
- Element newNode = domHelper.cloneElement(element, sourceContentModelElement);
- element.replaceChild(newNode, contentModelElement);
- formatChild(element);
- }
- else // otherwise just add the nodes
- {
- XSDDOMHelper.removeNodeAndWhitespace(contentModelElement);
- Element newSequenceElement = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SEQUENCE_ELEMENT_TAG);
- element.appendChild(newSequenceElement);
- formatChild(newSequenceElement);
- }
- }
- else // a base type is specified
- {
- Element sequenceChoiceOrAllElement = null; // copy the model to reposition it off of the new derived by element
- if (XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.ALL_ELEMENT_TAG, false))
- {
- sequenceChoiceOrAllElement = domHelper.cloneElement(element, contentModelElement);
- }
-
- if (needsComplexContent)
- {
- if (!(XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false)))
- {
- domHelper.changeContentModel(element, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, sequenceChoiceOrAllElement);
- contentModelElement = domHelper.getContentModelFromParent(element);
- }
- }
- if (needsSimpleContent)
- {
- if (!(XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false)))
- {
- // we don't want to append the element content to a simple content
- sequenceChoiceOrAllElement = null;
- domHelper.changeContentModel(element, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, sequenceChoiceOrAllElement);
- contentModelElement = domHelper.getContentModelFromParent(element);
- }
- }
-
- Element derivedByElement = domHelper.getDerivedByElementFromComplexType(element);
- if (derivedByElement == null)
- {
- if (derivedByString == null || (derivedByString != null && derivedByString.equals("")))
- {
- derivedByString = XSDConstants.EXTENSION_ELEMENT_TAG; // since there is no derivedByElement
- }
- derivedByElement = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, derivedByString);
- contentModelElement.appendChild(derivedByElement);
- formatChild(contentModelElement);
- if (sequenceChoiceOrAllElement != null)
- {
- derivedByElement.appendChild(sequenceChoiceOrAllElement);
- formatChild(derivedByElement);
- }
- }
- else
- {
- if (helper.getBuiltInTypeNamesList().contains(type) ||
- helper.getUserSimpleTypeNamesList().contains(type))
- {
- derivedByString = XSDConstants.EXTENSION_ELEMENT_TAG;
- Element aContentModelElement = domHelper.getContentModelFromParent(derivedByElement);
- if (aContentModelElement != null)
- {
- XSDDOMHelper.removeNodeAndWhitespace(aContentModelElement);
- }
- }
- domHelper.changeDerivedByType(contentModelElement, derivedByString, type);
- }
- derivedByElement.setAttribute(attr.getName(), attr.getValue());
- }
- }
-
- xsdComp.setElement(element);
- endRecording(element);
- }
-
- private Element updateModelAndDerivedByKind(String modelType, String derivedByKind, DOMAttribute attr)
- {
- Element newContentModelElement = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, modelType);
- element.appendChild(newContentModelElement);
-
- Element newDerivedByElement = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, derivedByKind);
- newContentModelElement.appendChild(newDerivedByElement);
-
- newDerivedByElement.setAttribute(attr.getName(), attr.getValue());
-
- NodeList children = element.getChildNodes();
- int length = children.getLength();
- ArrayList nodesToRemove = new ArrayList();
- for (int i = 0; i < length; i++)
- {
- Node node = children.item(i);
- if (XSDDOMHelper.inputEquals(node, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(node, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true) ||
- XSDDOMHelper.inputEquals(node, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true) ||
- XSDDOMHelper.inputEquals(node, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false))
- {
- newDerivedByElement.appendChild(node.cloneNode(true));
- nodesToRemove.add(node);
- }
- }
- for (Iterator i = nodesToRemove.iterator(); i.hasNext(); )
- {
- XSDDOMHelper.removeNodeAndWhitespace((Node)i.next());
- }
-
- formatChild(newContentModelElement);
-
- return newDerivedByElement;
- }
-
- protected void formatChild(Element child)
- {
- if (child instanceof XMLNode)
- {
- XMLModel model = ((XMLNode)child).getModel();
- try
- {
- // tell the model that we are about to make a big model change
- model.aboutToChangeModel();
-
- IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
- formatProcessor.formatNode(child);
- }
- finally
- {
- // tell the model that we are done with the big model change
- model.changedModel();
- }
- }
-
- }
-
- public DocumentImpl getDocument(Element element)
- {
- return (DocumentImpl) element.getOwnerDocument();
- }
-
- public void beginRecording(String description, Element element)
- {
- getDocument(element).getModel().beginRecording(this, description);
- }
-
- public void endRecording(Element element)
- {
- DocumentImpl doc = (DocumentImpl) getDocument(element);
-
- doc.getModel().endRecording(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/XSDEditNamespacesAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/XSDEditNamespacesAction.java
deleted file mode 100644
index 640355ba23..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/XSDEditNamespacesAction.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceInfoManager;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xml.ui.actions.ReplacePrefixAction;
-import org.eclipse.wst.xml.ui.util.XMLCommonResources;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.SchemaPrefixChangeHandler;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.TargetNamespaceChangeHandler;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.wst.xsd.ui.internal.widgets.XSDEditSchemaInfoDialog;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class XSDEditNamespacesAction extends Action {
- private Element element;
- private Node node;
- private String resourceLocation;
- private XSDSchema xsdSchema;
- private DOMNamespaceInfoManager namespaceInfoManager = new DOMNamespaceInfoManager();
-
- public XSDEditNamespacesAction(String label, Element element, Node node) {
- super();
- setText(label);
-
- this.element = element;
- this.node = node;
- ///////////////////// This needs to be changed....
- this.resourceLocation = "dummy";
- }
-
- public XSDEditNamespacesAction(String label, Element element, Node node, XSDSchema schema) {
- this (label, element, node);
- xsdSchema = schema;
- }
-
- public void run() {
- if (element != null)
- {
- Shell shell = XMLCommonResources.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
- String targetNamespace = null;
- if (xsdSchema != null) {
- targetNamespace = xsdSchema.getTargetNamespace();
- }
- XSDEditSchemaInfoDialog dialog = new XSDEditSchemaInfoDialog(shell, new Path(resourceLocation), targetNamespace);
-
- List namespaceInfoList = namespaceInfoManager.getNamespaceInfoList(element);
- List oldNamespaceInfoList = NamespaceInfo.cloneNamespaceInfoList(namespaceInfoList);
-
- // here we store a copy of the old info for each NamespaceInfo
- // this info will be used in createPrefixMapping() to figure out how to update the document
- // in response to these changes
- for (Iterator i = namespaceInfoList.iterator(); i.hasNext(); )
- {
- NamespaceInfo info = (NamespaceInfo)i.next();
- NamespaceInfo oldCopy = new NamespaceInfo(info);
- info.setProperty("oldCopy", oldCopy);
- }
-
- dialog.setNamespaceInfoList(namespaceInfoList);
- dialog.create();
- //dialog.getShell().setSize(500, 300);
- dialog.getShell().setText(XMLCommonResources.getInstance().getString("_UI_MENU_EDIT_SCHEMA_INFORMATION_TITLE"));
- dialog.setBlockOnOpen(true);
- dialog.open();
- String xsdPrefix = "";
-
- if (dialog.getReturnCode() == Window.OK)
- {
- Element xsdSchemaElement = xsdSchema.getElement();
- DocumentImpl doc = (DocumentImpl) xsdSchemaElement.getOwnerDocument();
-
- List newInfoList = dialog.getNamespaceInfoList();
-
- // see if we need to rename any prefixes
- Map prefixMapping = createPrefixMapping(oldNamespaceInfoList, namespaceInfoList);
-
- Map map2 = new Hashtable();
- String xsdNS = "";
- for (Iterator iter = newInfoList.iterator(); iter.hasNext(); )
- {
- NamespaceInfo ni = (NamespaceInfo)iter.next();
- String pref = ni.prefix;
- String uri = ni.uri;
- if (pref == null) pref = "";
- if (uri == null) uri = "";
- if (XSDConstants.isSchemaForSchemaNamespace(uri))
- {
- xsdPrefix = pref;
- }
- map2.put(pref, uri);
- }
-
- if (map2.size() > 0)
- {
- try {
-
- doc.getModel().beginRecording(this, XSDEditorPlugin.getXSDString("_UI_NAMESPACE_CHANGE"));
-
- if (xsdPrefix != null && xsdPrefix.length() == 0)
- {
- xsdSchema.setSchemaForSchemaQNamePrefix(null);
- }
- else
- {
- xsdSchema.setSchemaForSchemaQNamePrefix(xsdPrefix);
- }
-
- SchemaPrefixChangeHandler spch = new SchemaPrefixChangeHandler(xsdSchema, xsdPrefix);
- spch.resolve();
-
- xsdSchema.setTargetNamespace(dialog.getTargetNamespace());
-
- namespaceInfoManager.removeNamespaceInfo(element);
- namespaceInfoManager.addNamespaceInfo(element, newInfoList, false);
-
-// manager.getModel().aboutToChangeModel();
- ReplacePrefixAction replacePrefixAction = new ReplacePrefixAction(null, element, prefixMapping);
- replacePrefixAction.run();
-
- TargetNamespaceChangeHandler targetNamespaceChangeHandler = new TargetNamespaceChangeHandler(xsdSchema, targetNamespace, dialog.getTargetNamespace());
- targetNamespaceChangeHandler.resolve();
-
- } finally {
-// manager.getModel().changedModel();
-
- XSDSchemaHelper.updateElement(xsdSchema);
- doc.getModel().endRecording(this);
- }
- }
- }
-
- }
- }
-
- protected Map createPrefixMapping(List oldList, List newList)
- {
- Map map = new Hashtable();
-
- Hashtable oldURIToPrefixTable = new Hashtable();
- for (Iterator i = oldList.iterator(); i.hasNext(); )
- {
- NamespaceInfo oldInfo = (NamespaceInfo)i.next();
- oldURIToPrefixTable.put(oldInfo.uri, oldInfo);
- }
-
- for (Iterator i = newList.iterator(); i.hasNext(); )
- {
- NamespaceInfo newInfo = (NamespaceInfo)i.next();
- NamespaceInfo oldInfo = (NamespaceInfo)oldURIToPrefixTable.get(newInfo.uri != null ? newInfo.uri : "");
-
-
- // if oldInfo is non null ... there's a matching URI in the old set
- // we can use its prefix to detemine out mapping
- //
- // if oldInfo is null ... we use the 'oldCopy' we stashed away
- // assuming that the user changed the URI and the prefix
- if (oldInfo == null)
- {
- oldInfo = (NamespaceInfo)newInfo.getProperty("oldCopy");
- }
-
- if (oldInfo != null)
- {
- String newPrefix = newInfo.prefix != null ? newInfo.prefix : "";
- String oldPrefix = oldInfo.prefix != null ? oldInfo.prefix : "";
- if (!oldPrefix.equals(newPrefix))
- {
- map.put(oldPrefix, newPrefix);
- }
- }
- }
- return map;
- }
-
-// private void updateAllNodes(Element element, String prefix)
-// {
-// element.setPrefix(prefix);
-// NodeList list = element.getChildNodes();
-// if (list != null)
-// {
-// for (int i=0; i < list.getLength(); i++)
-// {
-// Node child = list.item(i);
-// if (child != null && child instanceof Element)
-// {
-// child.setPrefix(prefix);
-// if (child.hasChildNodes())
-// {
-// updateAllNodes((Element)child, prefix);
-// }
-// }
-// }
-// }
-// }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AbstractCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AbstractCommand.java
deleted file mode 100644
index 9d8c0a1e09..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AbstractCommand.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.commands;
-
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-
-public abstract class AbstractCommand
-{
- private XSDConcreteComponent parent;
- private XSDConcreteComponent model;
-
- protected AbstractCommand(XSDConcreteComponent parent)
- {
- this.parent = parent;
- }
-
- public abstract void run();
-
- protected XSDConcreteComponent getParent()
- {
- return parent;
- }
-
- public XSDConcreteComponent getModelObject()
- {
- return model;
- }
-
- protected void setModelObject(XSDConcreteComponent model)
- {
- this.model = model;
- }
-
- // Establish part-whole relationship
- protected abstract boolean adopt(XSDConcreteComponent model);
-
- protected void formatChild(Element child)
- {
- if (child instanceof XMLNode)
- {
- XMLModel model = ((XMLNode)child).getModel();
- try
- {
- // tell the model that we are about to make a big model change
- model.aboutToChangeModel();
-
- IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
- formatProcessor.formatNode(child);
- }
- finally
- {
- // tell the model that we are done with the big model change
- model.changedModel();
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java
deleted file mode 100644
index 7be73f07d1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.commands;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-public class AddAttributeDeclarationCommand extends AbstractCommand
-{
- XSDAttributeDeclaration refAttribute = null;
- /**
- * @param parent
- */
- public AddAttributeDeclarationCommand(XSDConcreteComponent parent)
- {
- super(parent);
- }
-
- public AddAttributeDeclarationCommand(XSDConcreteComponent parent, XSDAttributeDeclaration ref)
- {
- super(parent);
- this.refAttribute = ref;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.xsd.ui.internal.commands.AbstractCommand#run()
- */
- public void run()
- {
- XSDConcreteComponent parent = getParent();
- if (parent instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)parent;
-
- XSDAttributeDeclaration attribute = XSDFactory.eINSTANCE.createXSDAttributeDeclaration();
- attribute.setName(getNewName("Attribute")); //$NON-NLS-1$
- attribute.setTypeDefinition(ct.getSchema().getSchemaForSchema().resolveSimpleTypeDefinition("string")); //$NON-NLS-1$
-
- XSDAttributeUse attributeUse = XSDFactory.eINSTANCE.createXSDAttributeUse();
- attributeUse.setAttributeDeclaration(attribute);
- attributeUse.setContent(attribute);
-
- if (ct.getAttributeContents() != null)
- {
- ct.getAttributeContents().add(attributeUse);
- formatChild(attribute.getElement());
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.xsd.ui.internal.commands.AbstractCommand#adopt(org.eclipse.xsd.XSDConcreteComponent)
- */
- protected boolean adopt(XSDConcreteComponent model)
- {
- return false;
- }
-
- ArrayList names;
-
- protected String getNewName(String description)
- {
- String candidateName = "New" + description; //$NON-NLS-1$
- StringBuffer candidateNameSB = new StringBuffer("New" + description); //$NON-NLS-1$
- XSDConcreteComponent parent = getParent();
- names = new ArrayList();
- int i = 1;
- if (parent instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)parent;
- walkUpInheritance(ct);
-
- boolean ready = false;
- while (!ready)
- {
- ready = true;
- for (Iterator iter = names.iterator(); iter.hasNext(); )
- {
- String attrName = (String)iter.next();
- if (candidateName.equals(attrName))
- {
- ready = false;
- candidateName = "New" + description + String.valueOf(i); //$NON-NLS-1$
- i++;
- }
- }
- }
- }
- return candidateName;
- }
-
- private void walkUpInheritance(XSDComplexTypeDefinition ct)
- {
- updateNames(ct);
- XSDTypeDefinition typeDef = ct.getBaseTypeDefinition();
- if (ct != ct.getRootType())
- {
- if (typeDef instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ct2 = (XSDComplexTypeDefinition)typeDef;
- walkUpInheritance(ct2);
- }
- }
- }
-
- private void updateNames(XSDComplexTypeDefinition ct)
- {
- Iterator iter = ct.getAttributeContents().iterator();
- while (iter.hasNext())
- {
- Object obj = iter.next();
- if (obj instanceof XSDAttributeUse)
- {
- XSDAttributeUse use = (XSDAttributeUse)obj;
- XSDAttributeDeclaration attr = use.getAttributeDeclaration();
- String attrName = attr.getName();
- if (attrName != null)
- {
- names.add(attrName);
- }
- }
- }
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddComplexTypeDefinitionCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddComplexTypeDefinitionCommand.java
deleted file mode 100644
index 72da36a17a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddComplexTypeDefinitionCommand.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.commands;
-
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSchema;
-
-public final class AddComplexTypeDefinitionCommand extends AbstractCommand
-{
- private String name;
-
- public AddComplexTypeDefinitionCommand
- (XSDConcreteComponent parent,
- String name)
- {
- super(parent);
- this.name = name; // this may be null for anonymous type
- }
-
- public void run()
- {
- XSDComplexTypeDefinition typeDef =
- XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
- typeDef.setName(name);
-
- if (adopt(typeDef))
- setModelObject(typeDef);
- }
-
- protected boolean adopt(XSDConcreteComponent model)
- {
- XSDConcreteComponent parent = getParent();
- if (parent instanceof XSDSchema)
- ((XSDSchema)parent).getTypeDefinitions().add(model);
- else if (parent instanceof XSDElementDeclaration)
- ((XSDElementDeclaration)parent).setAnonymousTypeDefinition((XSDComplexTypeDefinition)model);
- else
- return false; // invalid parent
-
- return true;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddElementDeclarationCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddElementDeclarationCommand.java
deleted file mode 100644
index cf161ec268..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddElementDeclarationCommand.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.commands;
-
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-
-public final class AddElementDeclarationCommand extends AbstractCommand
-{
- private String name; // element name
-
- public AddElementDeclarationCommand
- (XSDConcreteComponent parent,
- String name)
- {
- super(parent);
- this.name = name;
- }
-
- public void run()
- {
- XSDElementDeclaration elementDecl =
- XSDFactory.eINSTANCE.createXSDElementDeclaration();
- elementDecl.setName(name);
-
- if (adopt(elementDecl))
- setModelObject(elementDecl);
- }
-
- protected boolean adopt(XSDConcreteComponent model)
- {
- XSDConcreteComponent parent = getParent();
- if (parent instanceof XSDSchema)
- ((XSDSchema)parent).getElementDeclarations().add(model);
- else if (parent instanceof XSDParticle)
- ((XSDParticle)parent).setContent((XSDElementDeclaration)model);
- else
- return false; // invalid parent
-
- return true;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddModelGroupCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddModelGroupCommand.java
deleted file mode 100644
index f5518e2dd4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddModelGroupCommand.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.commands;
-
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-public class AddModelGroupCommand extends AbstractCommand
-{
- protected XSDCompositor compositor;
-
- public AddModelGroupCommand(XSDConcreteComponent parent, XSDCompositor compositor)
- {
- super(parent);
- this.compositor = compositor;
- }
-
- public void run()
- {
- XSDConcreteComponent parent = getParent();
- XSDConcreteComponent owner = null;
- if (parent instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration ed = (XSDElementDeclaration)parent;
- if (ed.getTypeDefinition() != null)
- {
- if (ed.getAnonymousTypeDefinition() == null)
- {
- ed.setTypeDefinition(null);
- XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
- ed.setAnonymousTypeDefinition(td);
- owner = ed.getTypeDefinition();
- }
- else
- {
- XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
- ed.setAnonymousTypeDefinition(td);
- owner = td;
- }
- }
- else if (ed.getAnonymousTypeDefinition() == null)
- {
- XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
- ed.setAnonymousTypeDefinition(td);
- owner = td;
- }
- else if (ed.getAnonymousTypeDefinition() instanceof XSDComplexTypeDefinition)
- {
- owner = ed.getAnonymousTypeDefinition();
- }
- else if (ed.getAnonymousTypeDefinition() instanceof XSDSimpleTypeDefinition)
- {
- XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
- ed.setAnonymousTypeDefinition(td);
- owner = td;
- }
- }
- else if (parent instanceof XSDModelGroup)
- {
- ((XSDModelGroup) parent).getContents().add(createModelGroup());
- }
- else if (parent instanceof XSDComplexTypeDefinition)
- {
- owner = ((XSDComplexTypeDefinition)parent);
- }
- if (owner != null)
- {
- XSDParticle particle = XSDFactory.eINSTANCE.createXSDParticle();
- XSDModelGroup modelGroup = createModelGroup();
- particle.setContent(modelGroup);
-
- XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)owner;
- ctd.setContent(particle);
- formatChild(parent.getElement());
- }
- }
-
- protected boolean adopt(XSDConcreteComponent model)
- {
- return false;
- }
-
- protected XSDModelGroup createModelGroup()
- {
- XSDModelGroup modelGroup = XSDFactory.eINSTANCE.createXSDModelGroup();
- modelGroup.setCompositor(compositor);
- return modelGroup;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddSimpleTypeDefinitionCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddSimpleTypeDefinitionCommand.java
deleted file mode 100644
index b0c347b430..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddSimpleTypeDefinitionCommand.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.commands;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-public final class AddSimpleTypeDefinitionCommand extends AbstractCommand
-{
- private String name;
-
- public AddSimpleTypeDefinitionCommand
- (XSDConcreteComponent parent,
- String name)
- {
- super(parent);
- this.name = name; // this may be null for anonymous type
- }
-
- public void run()
- {
- XSDSimpleTypeDefinition typeDef =
- XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
- typeDef.setName(name);
-
- if (adopt(typeDef))
- setModelObject(typeDef);
- }
-
- protected boolean adopt(XSDConcreteComponent model)
- {
- XSDConcreteComponent parent = getParent();
- if (parent instanceof XSDSchema)
- ((XSDSchema)parent).getTypeDefinitions().add(model);
- else if (parent instanceof XSDElementDeclaration)
- ((XSDElementDeclaration)parent).setAnonymousTypeDefinition((XSDSimpleTypeDefinition)model);
- else if (parent instanceof XSDAttributeDeclaration)
- ((XSDAttributeDeclaration)parent).setAnonymousTypeDefinition((XSDSimpleTypeDefinition)model);
- else
- return false; // invalid parent
-
- return true;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/BaseDragNodesCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/BaseDragNodesCommand.java
deleted file mode 100644
index 142d4ed02d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/BaseDragNodesCommand.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.dnd;
-
-import java.util.Collection;
-
-import org.eclipse.wst.common.ui.dnd.DefaultDragAndDropCommand;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Node;
-
-
-public abstract class BaseDragNodesCommand extends DefaultDragAndDropCommand
-{
- /**
- * Constructor for BaseDragNodesCommand.
- * @param target
- * @param location
- * @param operations
- * @param operation
- * @param sources
- */
- public BaseDragNodesCommand(
- Object target,
- float location,
- int operations,
- int operation,
- Collection sources)
- {
- super(target, location, operations, operation, sources);
- }
-
- protected boolean isDirectSchemaChild(Node node)
- {
- Node parent = node.getParentNode();
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false) &&
- parent.getParentNode().equals(parent.getOwnerDocument()))
- {
- return true;
- }
- return false;
- }
-
- protected boolean isSiblingNodes(Node first, Node second)
- {
- if (first.getParentNode() != null)
- {
- return first.getParentNode().equals(second.getParentNode());
- }
- return false;
- }
-
- protected void beginRecording()
- {
- if (target != null)
- {
- XMLModel model = getModel((Node)target);
-
- if (model != null)
- {
- model.beginRecording(this, "Move");
- }
- }
- }
-
- protected void endRecording()
- {
- if (target != null)
- {
- XMLModel model = getModel((Node)target);
-
- if (model != null)
- {
- model.endRecording(this);
- }
- }
- }
- protected XMLModel getModel(Node node)
- {
- Object object = node.getOwnerDocument();
- if (object instanceof DocumentImpl)
- {
- return ((DocumentImpl) object).getModel();
- }
- return null;
- }
-
- protected void moveNode(Node referenceNode, Node nodeToMove, boolean isBefore)
- {
- XSDDOMHelper.moveNode(referenceNode, nodeToMove, isBefore);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/DragNodesCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/DragNodesCommand.java
deleted file mode 100644
index b3692cffb3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/DragNodesCommand.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.dnd;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.NodeFormatter;
-import org.w3c.dom.Node;
-
-public class DragNodesCommand extends BaseDragNodesCommand
-{
- /**
- * Constructor for DragNodesCommand.
- * @param target
- * @param location
- * @param operations
- * @param operation
- * @param sources
- */
- public DragNodesCommand(
- Object target,
- float location,
- int operations,
- int operation,
- Collection sources)
- {
- super(target, location, operations, operation, sources);
- }
-
- /**
- * @see org.eclipse.wst.common.ui.dnd.DragAndDropCommand#canExecute()
- */
- public boolean canExecute()
- {
- if (sources.size() > 0)
- {
- Node firstSource = (Node) sources.toArray()[0];
- return isSiblingNodes((Node) target, firstSource);
- }
- return false;
-// return isDirectSchemaChild((Node)target);
- }
-
-
- /**
- * @see org.eclipse.wst.common.ui.dnd.DragAndDropCommand#execute()
- */
- public void execute()
- {
- NodeFormatter formatProcessor = new NodeFormatter();
- Node referenceNode = (Node) target;
- Iterator iter = sources.iterator();
- beginRecording();
-
- while (iter.hasNext())
- {
- Node node = (Node) iter.next();
- if (isSiblingNodes(referenceNode,node))
- {
- moveNode(referenceNode, node, !isAfter());
- formatProcessor.format((XMLNode)node);
- }
- }
-// formatProcessor.format((XMLNode)referenceNode.getParentNode());
- endRecording();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/XSDDragAndDropManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/XSDDragAndDropManager.java
deleted file mode 100644
index b00c642e19..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/XSDDragAndDropManager.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.dnd;
-
-import java.util.Collection;
-
-import org.eclipse.wst.common.ui.dnd.DragAndDropCommand;
-import org.eclipse.wst.common.ui.dnd.DragAndDropManager;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Node;
-
-public class XSDDragAndDropManager implements DragAndDropManager
-{
- /**
- * Constructor for XSDDragAndDropManager.
- */
- public XSDDragAndDropManager()
- {
- }
-
- protected boolean isDirectSchemaChild(Node node)
- {
- Node parent = node.getParentNode();
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false) &&
- parent.getParentNode().equals(parent.getOwnerDocument()))
- {
- return true;
- }
- return false;
- }
-
- /**
- * @see org.eclipse.wst.common.ui.dnd.DragAndDropManager#createCommand(Object, float, int, int, Collection)
- */
- public DragAndDropCommand createCommand(
- Object target,
- float location,
- int operations,
- int operation,
- Collection source)
- {
- if (target instanceof Node)
- {
- Node node = (Node) target;
-// if (isDirectSchemaChild(node))
-// {
- return new DragNodesCommand(target, location, operations, operation, source);
-// }
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/editparts/AbstractComponentViewerRootEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/editparts/AbstractComponentViewerRootEditPart.java
deleted file mode 100644
index caef3974c8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/editparts/AbstractComponentViewerRootEditPart.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.gef.util.editparts;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Panel;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.ContainerLayout;
-
-
-public abstract class AbstractComponentViewerRootEditPart extends AbstractGraphicalEditPart
-{
- protected final static String MESSAGE_PLACE_HOLDER = "MESSAGE_PLACE_HOLDER";
- protected Object input;
-
- public void setInput(Object input)
- {
- this.input = input;
- refreshChildren();
- }
-
- protected IFigure createFigure()
- {
- Panel panel = new Panel();
- ContainerLayout layout = new ContainerLayout();
- layout.setBorder(60);
- panel.setLayoutManager(layout);
- return panel;
- }
-
-
- protected List getModelChildren()
- {
- List list = new ArrayList();
- if (input != null)
- {
- list.add(input);
- }
- else
- {
- list.add(MESSAGE_PLACE_HOLDER);
- }
- return list;
- }
-
- protected abstract EditPart createChild(Object model);
-
- protected void createEditPolicies()
- {
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectedEditPartFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectedEditPartFigure.java
deleted file mode 100644
index f25f67787d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectedEditPartFigure.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.gef.util.figures;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-
-
-public class ConnectedEditPartFigure extends ContainerFigure implements IConnectedEditPartFigure
-{
- protected EditPart editPart;
- protected boolean childConnectionsEnabled = true;
- protected List connectedFigures = new ArrayList();
- protected int connectionType = RIGHT_CONNECTION;
-
- public ConnectedEditPartFigure(EditPart editPart)
- {
- this.editPart = editPart;
- }
-
- public void setChildConnectionsEnabled(boolean enabled)
- {
- childConnectionsEnabled = enabled;
- }
-
- protected IConnectedEditPartFigure getParentGraphNodeFigure()
- {
- IConnectedEditPartFigure result = null;
- for (EditPart parentEditPart = editPart.getParent(); parentEditPart != null; parentEditPart = parentEditPart.getParent())
- {
- IFigure figure = ((AbstractGraphicalEditPart)parentEditPart).getFigure();
- if (figure instanceof IConnectedEditPartFigure)
- {
- IConnectedEditPartFigure graphNodeFigure = (IConnectedEditPartFigure)figure;
- if (graphNodeFigure.getConnectionFigure() != null)
- {
- result = graphNodeFigure;
- break;
- }
- }
- }
- return result;
- }
-
- public void addNotify()
- {
- super.addNotify();
- if (getConnectionFigure() != null)
- {
- IConnectedEditPartFigure parentGraphNodeFigure = getParentGraphNodeFigure();
- if (parentGraphNodeFigure != null)
- {
- parentGraphNodeFigure.addConnectedFigure(this);
- }
- }
- }
-
- public void removeNotify()
- {
- super.removeNotify();
- if (getConnectionFigure() != null)
- {
- IConnectedEditPartFigure parentGraphNodeFigure = getParentGraphNodeFigure();
- if (parentGraphNodeFigure != null)
- {
- parentGraphNodeFigure.removeConnectedFigure(this);
- }
- }
- }
-
- public void addConnectedFigure(IConnectedEditPartFigure figure)
- {
- if (childConnectionsEnabled)
- {
- // this test is required since we sometimes receive the 'addNotify' call twice
- //
- if (!connectedFigures.contains(figure))
- {
- connectedFigures.add(figure);
- }
- }
- }
-
- public void removeConnectedFigure(IConnectedEditPartFigure figure)
- {
- if (childConnectionsEnabled)
- {
- connectedFigures.remove(figure);
- }
- }
-
- public IFigure getSelectionFigure()
- {
- return this;
- }
-
- public IFigure getConnectionFigure()
- {
- return this;
- }
-
- public List getConnectedFigures(int type)
- {
- List list = new ArrayList();
- for (Iterator i = connectedFigures.iterator(); i.hasNext(); )
- {
- IConnectedEditPartFigure figure = (IConnectedEditPartFigure)i.next();
- //if (type == 0 || type == figure.getConnectionType())
- {
- list.add(figure);
- }
- }
- return list;
- }
-
- public int getConnectionType()
- {
- return connectionType;
- }
-
- public void setConnectionType(int type)
- {
- connectionType = type;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectionRenderingFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectionRenderingFigure.java
deleted file mode 100644
index 7192108cd9..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectionRenderingFigure.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.gef.util.figures;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-
-
-public class ConnectionRenderingFigure extends RectangleFigure
-{
- protected boolean isOutlined = true;
- protected IFigure primaryLayer;
-
- public ConnectionRenderingFigure(IFigure primaryLayer)
- {
- setOpaque(false);
- this.primaryLayer = primaryLayer;
- //setFocusTraversable(false);
- //setEnabled(false);
- }
-
- protected boolean isMouseEventTarget()
- {
- return false;
- }
-
- public boolean containsPoint(int x, int y)
- {
- return false;
- }
-
- protected void fillShape(Graphics graphics)
- {
- graphics.setForegroundColor(ColorConstants.black);
- drawLines(graphics, primaryLayer);
- }
-
- protected void outlineShape(Graphics graphics)
- {
- if (isOutlined)
- {
- super.outlineShape(graphics);
- }
- }
-
- protected void drawLines(Graphics graphics, IFigure figure)
- {
- if (figure instanceof IConnectedEditPartFigure)
- {
- IConnectedEditPartFigure graphNodeFigure = (IConnectedEditPartFigure)figure;
- List connectedFigures = graphNodeFigure.getConnectedFigures(IConnectedEditPartFigure.RIGHT_CONNECTION);
- int connectedFiguresSize = connectedFigures.size();
-
- if (connectedFiguresSize > 0)
- {
- IConnectedEditPartFigure firstGraphNodeFigure = (IConnectedEditPartFigure)connectedFigures.get(0);
- Rectangle r = graphNodeFigure.getConnectionFigure().getBounds();
-
- int x1 = r.x + r.width;
- int y1 = r.y + r.height/2;
-
- int startOfChildBox = firstGraphNodeFigure.getConnectionFigure().getBounds().x;
- int x2 = x1 + (startOfChildBox - x1) / 3;
- int y2 = y1;
-
- if (connectedFiguresSize == 1)
- {
- graphics.drawLine(x1, y1, startOfChildBox, y2);
- }
- else // (connectedFigures.length > 1)
- {
- graphics.drawLine(x1, y1, x2, y2);
-
- int minY = Integer.MAX_VALUE;
- int maxY = -1;
-
- for (Iterator i = connectedFigures.iterator(); i.hasNext(); )
- {
- IConnectedEditPartFigure connectedFigure = (IConnectedEditPartFigure)i.next();
- Rectangle childConnectionRectangle = connectedFigure.getConnectionFigure().getBounds();
- int y = childConnectionRectangle.y + childConnectionRectangle.height / 2;
- minY = Math.min(minY, y);
- maxY = Math.max(maxY, y);
- graphics.drawLine(x2, y, childConnectionRectangle.x, y);
- }
- graphics.drawLine(x2, minY, x2, maxY);
- }
- }
- }
-
- //boolean visitChildren = true;
- List children = figure.getChildren();
- for (Iterator i = children.iterator(); i.hasNext(); )
- {
- IFigure child = (IFigure)i.next();
- drawLines(graphics, child);
- }
- }
-
- // This method supports the preview connection line function related to drag and drop
- //
- public PointList getConnectionPoints(GraphicalEditPart parentEditPart, GraphicalEditPart childRefEditPart, Rectangle draggedFigureBounds)
- {
- PointList pointList = new PointList();
- int[] data = new int[1];
- Point a = getConnectionPoint(parentEditPart, childRefEditPart, data);
- if (a != null)
- {
- int draggedFigureBoundsY = draggedFigureBounds.y + draggedFigureBounds.height/2;
-
- pointList.addPoint(a);
- //pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
-
- if (data[0] == 0) // insert between 2 items
- {
- int x = a.x + (draggedFigureBounds.x - a.x)/2;
- pointList.addPoint(new Point(x, a.y));
- pointList.addPoint(new Point(x, draggedFigureBoundsY));
- pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
- }
- else // insert at first or last position
- {
- pointList.addPoint(new Point(a.x, draggedFigureBoundsY));
- pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
- }
- }
- return pointList;
- }
-
-
- // This method supports the preview connection line function related to drag and drop
- //
- protected Point getConnectionPoint(GraphicalEditPart parentEditPart, GraphicalEditPart childRefEditPart, int[] data)
- {
- Point point = null;
- List childList = parentEditPart.getChildren();
-
- if (parentEditPart.getFigure() instanceof IConnectedEditPartFigure && childList.size() > 0)
- {
- point = new Point();
-
- GraphicalEditPart prev = null;
- GraphicalEditPart next = null;
-
- for (Iterator i = childList.iterator(); i.hasNext(); )
- {
- Object o = i.next();
- if (o instanceof GraphicalEditPart)
- {
- GraphicalEditPart childEditPart = (GraphicalEditPart)o;
- if (childEditPart.getFigure() instanceof IConnectedEditPartFigure)
- {
- if (childEditPart == childRefEditPart)
- {
- next = childEditPart;
- break;
- }
- prev = childEditPart;
- }
- }
- }
-
-
- if (next != null && prev != null)
- {
- int ya = getConnectedEditPartConnectionBounds(prev).getCenter().y;
- int yb = getConnectedEditPartConnectionBounds(next).getCenter().y;
- point.y = ya + (yb - ya)/2;
- data[0] = 0;
- }
- else if (prev != null) // add it last
- {
- point.y = getConnectedEditPartConnectionBounds(prev).getCenter().y;
- data[0] = 1;
- }
- else if (next != null) // add it first!
- {
- point.y = getConnectedEditPartConnectionBounds(next).getCenter().y;
- data[0] = -1;
- }
-
- if (next != null || prev != null)
- {
- GraphicalEditPart child = prev != null ? prev : next;
- int startOfChildBox = getConnectedEditPartConnectionBounds(child).x;
- Rectangle r = getConnectedEditPartConnectionBounds(parentEditPart);
- int x1 = r.x + r.width;
- point.x = x1 + (startOfChildBox - x1) / 3;
- }
- }
- return point;
- }
-
- protected Rectangle getConnectedEditPartConnectionBounds(GraphicalEditPart editPart)
- {
- return ((IConnectedEditPartFigure)editPart.getFigure()).getConnectionFigure().getBounds();
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerFigure.java
deleted file mode 100644
index d7a77ac685..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerFigure.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.gef.util.figures;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.RectangleFigure;
-
-public class ContainerFigure extends RectangleFigure implements IExpandable
-{
- protected boolean isOutlined = false;
- protected boolean isExpanded = true;
-
- public ContainerFigure()
- {
- setLayoutManager(new ContainerLayout());
- setFill(false);
- }
-
- public void doLayout()
- {
- layout();
- setValid(true);
- }
-
- public ContainerLayout getContainerLayout()
- {
- return (ContainerLayout)getLayoutManager();
- }
-
- public void setOutlined(boolean isOutlined)
- {
- this.isOutlined = isOutlined;
- }
-
- protected void outlineShape(Graphics graphics)
- {
- if (isOutlined)
- {
- super.outlineShape(graphics);
- }
- }
-
- public boolean isExpanded()
- {
- return isExpanded;
- }
-
- public void setExpanded(boolean isExpanded)
- {
- this.isExpanded = isExpanded;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerLayout.java
deleted file mode 100644
index 12f654bd5b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerLayout.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.gef.util.figures;
-
-import java.util.List;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-
-public class ContainerLayout extends AbstractLayout
-{
- protected boolean isHorizontal;
- protected int spacing = 0;
- protected int border = 0;
-
- public ContainerLayout()
- {
- this(true, 0);
- }
-
- public ContainerLayout(boolean isHorizontal, int spacing)
- {
- this.isHorizontal = isHorizontal;
- this.spacing = spacing;
- }
-
- public void setHorizontal(boolean isHorizontal)
- {
- this.isHorizontal = isHorizontal;
- }
-
- public void setSpacing(int spacing)
- {
- this.spacing = spacing;
- }
-
- public void setBorder(int border)
- {
- this.border = border;
- }
-
- protected int alignFigure(IFigure parent, IFigure child)
- {
- return -1;
- }
-
- /**
- * Calculates and returns the preferred size of the container
- * given as input.
- *
- * @param figure Figure whose preferred size is required.
- * @return The preferred size of the passed Figure.
- * @since 2.0
- */
- protected Dimension calculatePreferredSizeHelper(IFigure parent)
- {
- Dimension preferred = new Dimension();
- List children = parent.getChildren();
-
- for (int i=0; i < children.size(); i++)
- {
- IFigure child = (IFigure)children.get(i);
-
- Dimension childSize = child.getPreferredSize();
-
- if (isHorizontal)
- {
- preferred.width += childSize.width;
- preferred.height = Math.max(preferred.height, childSize.height);
- }
- else
- {
- preferred.height += childSize.height;
- preferred.width = Math.max(preferred.width, childSize.width);
- }
- }
-
- int childrenSize = children.size();
- if (childrenSize > 1)
- {
- if (isHorizontal)
- {
- preferred.width += spacing * (childrenSize - 1);
- }
- else
- {
- preferred.height += spacing * (childrenSize - 1);
- }
- }
-
- preferred.width += border * 2;
- preferred.height += border * 2;
- preferred.width += parent.getInsets().getWidth();
- preferred.height += parent.getInsets().getHeight();
-
- return preferred;
- }
-
- protected Dimension calculatePreferredSize(IFigure parent, int width, int height)
- {
- Dimension preferred = null;
-
- // Here we ensure that an unexpanded container is given a size of (0,0)
- //
- if (parent instanceof IExpandable)
- {
- IExpandable expandableFigure = (IExpandable)parent;
- if (!expandableFigure.isExpanded())
- {
- preferred = new Dimension();
- }
- }
-
- if (preferred == null)
- {
- preferred = calculatePreferredSizeHelper(parent);
- }
-
- return preferred;
- }
-
-
- protected void adjustLayoutLocation(IFigure parent, Dimension dimension)
- {
- }
-
- public void layout(IFigure parent)
- {
- List children = parent.getChildren();
-
- int rx = 0;
- Dimension dimension = new Dimension();
-
-
- for (int i=0; i < children.size(); i++)
- {
- IFigure child = (IFigure)children.get(i);
- Dimension childSize = child.getPreferredSize();
- if (isHorizontal)
- {
- dimension.height = Math.max(dimension.height, childSize.height);
- rx += childSize.width;
- }
- else
- {
- dimension.width = Math.max(dimension.width, childSize.width);
- }
- }
-
- //dimension.width += parent.getInsets().left;
- //dimension.height += parent.getInsets().top;
-
- if (isHorizontal)
- {
- dimension.height += border*2;
- dimension.width += border;
- }
- else
- {
- dimension.width += border*2;
- dimension.height += border;
- }
- adjustLayoutLocation(parent, dimension);
-
- for (int i=0; i < children.size(); i++)
- {
- IFigure child = (IFigure)children.get(i);
- Dimension childSize = child.getPreferredSize();
-
- if (isHorizontal)
- {
- int y = -1;
-
- y = alignFigure(parent, child);
-
- if (y == -1)
- {
- y = (dimension.height - childSize.height) / 2;
- }
-
- Rectangle rectangle = new Rectangle(dimension.width, y, childSize.width, childSize.height);
- rectangle.translate(parent.getClientArea().getLocation());
-
-
- child.setBounds(rectangle);
- dimension.width += childSize.width;
- dimension.width += spacing;
-
- if (child instanceof SpacingFigure)
- {
- int availableHorizontalSpace = parent.getClientArea().width - rx;
- dimension.width += availableHorizontalSpace;
- }
- }
- else
- {
- Rectangle rectangle = new Rectangle(0, dimension.height, childSize.width, childSize.height);
- rectangle.translate(parent.getClientArea().getLocation());
-
-
- child.setBounds(rectangle);
- dimension.height += childSize.height;
- dimension.height += spacing;
- }
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/FillLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/FillLayout.java
deleted file mode 100644
index 1b2976b64e..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/FillLayout.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.gef.util.figures;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-
-public class FillLayout extends AbstractLayout
-{
- protected boolean isHorizontal = false;
- protected int spacing = 0;
- public Dimension min;
-
- public FillLayout(){}
-
- public FillLayout(int spacing)
- {
- this.spacing = spacing;
- }
-
- public void setHorizontal(boolean isHorizontal)
- {
- this.isHorizontal = isHorizontal;
- }
-
- /**
- * Calculates and returns the preferred size of the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- *
- * @param figure Container figure for which preferred size is required.
- * @return The preferred size of the input figure.
- * @since 2.0
- */
-
- protected Dimension calculatePreferredSize(IFigure figure, int width, int height)
- {
- Dimension d = calculatePreferredClientAreaSize(figure);
- d.expand(figure.getInsets().getWidth(),
- figure.getInsets().getHeight());
- d.union(getBorderPreferredSize(figure));
- return d;
- }
-
- protected Dimension calculatePreferredClientAreaSize(IFigure figure)
- {
- Dimension d = new Dimension();
- List children = figure.getChildren();
-
-
- for (Iterator i = children.iterator(); i.hasNext(); )
- {
- IFigure child = (IFigure)i.next();
- Dimension childSize = child.getPreferredSize();
-
- if (isHorizontal)
- {
- d.width += childSize.width;
- d.height = Math.max(childSize.height, d.height);
- }
- else
- {
- d.height += childSize.height;
- d.width = Math.max(childSize.width, d.width);
- }
- }
-
-
- int childrenSize = children.size();
- if (childrenSize > 0)
- {
- if (isHorizontal)
- {
- d.width += spacing * (childrenSize - 1);
- }
- else
- {
- d.height += spacing * (childrenSize - 1);
- }
- }
-
- if (min != null)
- {
- d.width = Math.max(d.width, min.width);
- d.height = Math.max(d.height, min.height);
- }
- return d;
- }
-
- /*
- * Returns the minimum size required by the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- */
- public Dimension getMinimumSize(IFigure figure, int width, int height)
- {
- Dimension d = new Dimension();
- List children = figure.getChildren();
- IFigure child;
-
- for (int i=0; i < children.size(); i++)
- {
- child = (IFigure)children.get(i);
- d.union(child.getMinimumSize());
- }
- d.expand(figure.getInsets().getWidth(),
- figure.getInsets().getHeight());
- return d;
- }
-
- public Dimension getPreferredSize(IFigure figure, int width, int height)
- {
- return calculatePreferredSize(figure, width, height);
- }
-
- /*
- * Lays out the children on top of each other with
- * their sizes equal to that of the available
- * paintable area of the input container figure.
- */
- public void layout(IFigure figure)
- {
- Dimension preferredSize = calculatePreferredClientAreaSize(figure);
- Rectangle r = figure.getClientArea().getCopy();
- List children = figure.getChildren();
-
- int nChildren = children.size();
- int extraHorizontalSpace = r.width - preferredSize.width;
-
- for (Iterator i = children.iterator(); i.hasNext(); )
- {
- IFigure child = (IFigure)i.next();
- Dimension preferredChildSize = child.getPreferredSize();
-
- if (isHorizontal)
- {
- int w = preferredChildSize.width + (extraHorizontalSpace / nChildren);
- child.setBounds(new Rectangle(r.x, r.y, w, Math.max(preferredSize.height, r.height)));
- r.x += w + spacing;
- }
- else
- {
- child.setBounds(new Rectangle(r.x, r.y, Math.max(preferredSize.width, r.width), preferredChildSize.height));
- r.y += preferredChildSize.height + spacing;
- }
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedEditPartFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedEditPartFigure.java
deleted file mode 100644
index 4c778d7e20..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedEditPartFigure.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.gef.util.figures;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-
-public interface IConnectedEditPartFigure extends IConnectedFigure
-{
- public static final int UP_CONNECTION = 1;
- public static final int DOWN_CONNECTION = 2;
- public static final int LEFT_CONNECTION = 3;
- public static final int RIGHT_CONNECTION = 4;
-
- public IFigure getSelectionFigure();
- public IFigure getConnectionFigure();
- public List getConnectedFigures(int type);
- public int getConnectionType();
- public void addConnectedFigure(IConnectedEditPartFigure figure);
- public void removeConnectedFigure(IConnectedEditPartFigure figure);
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedFigure.java
deleted file mode 100644
index 4a6d7ded2c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedFigure.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.gef.util.figures;
-
-import org.eclipse.draw2d.IFigure;
-
-public interface IConnectedFigure extends IFigure
-{
- public IFigure getConnectionFigure();
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectionRenderingViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectionRenderingViewer.java
deleted file mode 100644
index 6ed611d9d7..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectionRenderingViewer.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.gef.util.figures;
-
-public interface IConnectionRenderingViewer
-{
- public ConnectionRenderingFigure getConnectionRenderingFigure();
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IExpandable.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IExpandable.java
deleted file mode 100644
index 161581bb00..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IExpandable.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.gef.util.figures;
-
-import org.eclipse.draw2d.IFigure;
-
-public interface IExpandable extends IFigure
-{
- boolean isExpanded();
- void setExpanded(boolean isExpanded);
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/SpacingFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/SpacingFigure.java
deleted file mode 100644
index e245d6960c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/SpacingFigure.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.gef.util.figures;
-
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-
-public class SpacingFigure extends RectangleFigure
-{
- public SpacingFigure()
- {
- setFill(false);
- setPreferredSize(new Dimension(0, 0));
- }
-
- //protected void outlineShape(Graphics graphics)
- //{
- //}
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/BaseGraphicalViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/BaseGraphicalViewer.java
deleted file mode 100644
index f471d52d60..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/BaseGraphicalViewer.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import java.util.Iterator;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.StackLayout;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditDomain;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.KeyHandler;
-import org.eclipse.gef.LayerConstants;
-import org.eclipse.gef.editparts.ScalableRootEditPart;
-import org.eclipse.gef.tools.SelectionTool;
-import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.XSDMenuListener;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.ConnectionRenderingFigure;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.IConnectionRenderingViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.CenterLayout;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-
-/**
- * @author ernest
- *
- * To change this generated comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public abstract class BaseGraphicalViewer extends ScrollingGraphicalViewer implements IConnectionRenderingViewer
-{
- protected FigureCanvasKeyboardHandler figureCanvasKeyboardHandler;
-
- protected EditDomain editDomain;
-
- protected boolean isInputEnabled = true;
-
- protected boolean isSelectionEnabled = true;
-
- protected ISelectionProvider menuSelectionProvider;
-
- protected GraphContextMenuProvider menuProvider;
-
- protected XSDEditor editor;
-
- protected XSDConcreteComponent input;
-
- protected ConnectionRenderingFigure connectionRenderingFigure;
-
- public BaseGraphicalViewer(XSDEditor editor, ISelectionProvider selectionProvider)
- {
- super();
- this.editor = editor;
- menuSelectionProvider = selectionProvider;
- }
-
- public ConnectionRenderingFigure getConnectionRenderingFigure()
- {
- return connectionRenderingFigure;
- }
-
- public void setInputEnabled(boolean enabled)
- {
- isInputEnabled = enabled;
- }
-
- public void setSelectionEnabled(boolean enabled)
- {
- isSelectionEnabled = enabled;
- }
-
- public XSDMenuListener getMenuListener()
- {
- return menuProvider.getMenuListener();
- }
-
- protected static Color white = null;
- protected void hookControl()
- {
- super.hookControl();
-
- if (white == null)
- {
- white = new Color(getControl().getDisplay(), 255, 255, 255);
- }
- getControl().setBackground(white);
-
- editDomain = new DefaultEditDomain(null);
- ((DefaultEditDomain)editDomain).setDefaultTool(new SelectionTool());
- editDomain.loadDefaultTool();
- editDomain.addViewer(this);
-
- //jvh - gef port - moved this from below so it is available when adding context menu below
- menuProvider = new GraphContextMenuProvider(this, menuSelectionProvider, editor.getXSDTextEditor());
- setContextMenu(menuProvider);
-
- // add context menu to the graph
- MenuManager manager = new MenuManager();
- manager.addMenuListener(getMenuListener()); //jvh - gef port
- manager.setRemoveAllWhenShown(true);
- Menu menu = manager.createContextMenu(getControl());
- getControl().setMenu(menu);
-
- KeyAdapter keyListener = new KeyAdapter()
- {
- /**
- * @see org.eclipse.swt.events.KeyAdapter#keyReleased(KeyEvent)
- */
- public void keyReleased(KeyEvent e)
- {
- if (e.character == SWT.DEL)
- {
- getMenuListener().getDeleteAction().run();
- }
- }
- };
-
- setKeyHandler(new XSDGraphicalViewerKeyHandler(this).setParent(new KeyHandler()));
-
-// getControl().addKeyListener(keyListener);
-
- figureCanvasKeyboardHandler = new FigureCanvasKeyboardHandler(this);
- getFigureCanvas().addKeyListener(figureCanvasKeyboardHandler);
-
- getRootEditPart().activate();
-
- ScalableRootEditPart graphicalRootEditPart = (ScalableRootEditPart)getRootEditPart();
-
- // set the layout for the primary layer so that the children are always centered
- //
- graphicalRootEditPart.getLayer(LayerConstants.PRIMARY_LAYER).setLayoutManager(new CenterLayout());
-
- // add the ConnectionRenderingFigure which is responsible for drawing all of the lines in the view
- //
- IFigure figure = graphicalRootEditPart.getLayer(LayerConstants.HANDLE_LAYER);
- figure.setLayoutManager(new StackLayout());
- connectionRenderingFigure = new ConnectionRenderingFigure(graphicalRootEditPart.getLayer(LayerConstants.PRIMARY_LAYER));
- figure.add(connectionRenderingFigure);
-
- figure.validate();
- }
-
- public XSDConcreteComponent getInput()
- {
- return input;
- }
-
- protected EditPart getEditPart(EditPart parent, Object object)
- {
- EditPart result = null;
- for (Iterator i = parent.getChildren().iterator(); i.hasNext(); )
- {
- EditPart editPart = (EditPart)i.next();
- if (editPart.getModel() == object)
- {
- result = editPart;
- break;
- }
- }
-
- if (result == null)
- {
- for (Iterator i = parent.getChildren().iterator(); i.hasNext(); )
- {
- EditPart editPart = getEditPart((EditPart)i.next(), object);
- if (editPart != null)
- {
- result = editPart;
- break;
- }
- }
- }
-
- return result;
- }
-
- public abstract void setInput(XSDConcreteComponent comp);
-
- public abstract void setSelection(XSDConcreteComponent comp);
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/FigureCanvasKeyboardHandler.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/FigureCanvasKeyboardHandler.java
deleted file mode 100644
index 012e15eedd..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/FigureCanvasKeyboardHandler.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import org.eclipse.draw2d.FigureCanvas;
-import org.eclipse.draw2d.RangeModel;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.CategoryEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
-
-public class FigureCanvasKeyboardHandler extends KeyAdapter
-{
- public static final int H_SCROLL_INCREMENT = 5;
- public static final int V_SCROLL_INCREMENT = 30;
-
- BaseGraphicalViewer viewer;
-
- /**
- * Constructor for FigureCanvasKeyboardHandler.
- */
- public FigureCanvasKeyboardHandler(BaseGraphicalViewer viewer)
- {
- super();
- this.viewer = viewer;
- }
-
- public void keyPressed(KeyEvent e)
- {
- Widget w = e.widget;
- if (w instanceof FigureCanvas)
- {
- processKey(e.keyCode, (FigureCanvas)w);
- update();
- }
- }
-
- private void processKey(int keyCode, FigureCanvas figureCanvas)
- {
- switch (keyCode)
- {
- case SWT.ARROW_DOWN :
- scrollVertical(figureCanvas, false);
- break;
- case SWT.ARROW_UP :
- scrollVertical(figureCanvas, true);
- break;
- case SWT.ARROW_LEFT :
- scrollHorizontal(figureCanvas, true);
- break;
- case SWT.ARROW_RIGHT :
- scrollHorizontal(figureCanvas, false);
- break;
- case SWT.PAGE_UP :
- scrollPage(figureCanvas, true);
- break;
- case SWT.PAGE_DOWN :
- scrollPage(figureCanvas, false);
- break;
- }
- }
-
- private int verifyScrollBarOffset(RangeModel model, int value)
- {
- value = Math.max(model.getMinimum(), value);
- return Math.min(model.getMaximum() - model.getExtent(), value);
- }
-
- private void scrollVertical(FigureCanvas figureCanvas, boolean up)
- {
- Point location = figureCanvas.getViewport().getViewLocation();
- int vOffset = up ? -V_SCROLL_INCREMENT : V_SCROLL_INCREMENT;
- int x = verifyScrollBarOffset(figureCanvas.getViewport().getHorizontalRangeModel(), location.x);
- int y = verifyScrollBarOffset(figureCanvas.getViewport().getVerticalRangeModel(), location.y + vOffset);
- figureCanvas.scrollSmoothTo(x, y);
- }
-
- private void scrollHorizontal(FigureCanvas figureCanvas, boolean left)
- {
- Point location = figureCanvas.getViewport().getViewLocation();
- int hOffset = left ? -H_SCROLL_INCREMENT : H_SCROLL_INCREMENT;
- int x = verifyScrollBarOffset(figureCanvas.getViewport().getHorizontalRangeModel(), location.x + hOffset);
- int y = verifyScrollBarOffset(figureCanvas.getViewport().getVerticalRangeModel(), location.y);
- figureCanvas.scrollSmoothTo(x, y);
- }
-
- private void scrollPage(FigureCanvas figureCanvas, boolean up)
- {
- Rectangle clientArea = figureCanvas.getClientArea();
- int increment = up ? -clientArea.height : clientArea.height;
- Point location = figureCanvas.getViewport().getViewLocation();
- int x = verifyScrollBarOffset(figureCanvas.getViewport().getHorizontalRangeModel(), location.x);
- int y = verifyScrollBarOffset(figureCanvas.getViewport().getVerticalRangeModel(), location.y + increment);
- figureCanvas.scrollSmoothTo(x, y);
- }
-
- private void update()
- {
- StructuredSelection s = (StructuredSelection)viewer.getSelection();
- Object newSelectedEditPart = s.getFirstElement();
-
- if (newSelectedEditPart instanceof TopLevelComponentEditPart)
- {
- TopLevelComponentEditPart topLevel = (TopLevelComponentEditPart) newSelectedEditPart;
- CategoryEditPart categoryEP = (CategoryEditPart) topLevel.getParent();
- categoryEP.scrollTo(topLevel);
- viewer.reveal((TopLevelComponentEditPart)newSelectedEditPart);
- }
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphContextMenuProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphContextMenuProvider.java
deleted file mode 100644
index cc092cff1b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphContextMenuProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import org.eclipse.gef.ContextMenuProvider;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.wst.xsd.ui.internal.XSDMenuListener;
-import org.eclipse.wst.xsd.ui.internal.XSDTextEditor;
-
-
-public class GraphContextMenuProvider extends ContextMenuProvider
-{
-
- XSDMenuListener xsdMenuListener;
-
- /**
- * Constructor for GraphContextMenuProvider.
- * @param selectionProvider
- * @param editor
- */
- public GraphContextMenuProvider(
- EditPartViewer viewer,
- ISelectionProvider selectionProvider,
- XSDTextEditor editor)
- {
- super(viewer);
- this.viewer = viewer;
- xsdMenuListener = new XSDMenuListener(selectionProvider);
- }
-
- public XSDMenuListener getMenuListener()
- {
- return xsdMenuListener;
- }
-
-
- /**
- * @see org.eclipse.gef.ui.parts.ContextMenuProvider#buildContextMenu(org.eclipse.jface.action.IMenuManager, org.eclipse.gef.EditPartViewer)
- */
- public void buildContextMenu(IMenuManager arg0)
- {
- xsdMenuListener.menuAboutToShow(arg0);
- }
-
- protected EditPartViewer viewer;
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphicsConstants.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphicsConstants.java
deleted file mode 100644
index 691996dec0..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphicsConstants.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * A collection of color-related constants.
- */
-public interface GraphicsConstants
-{
- public final static Display display = Display.getDefault();
- public final static Color categoryBorderColor = new Color(null, 118, 134, 164);
- public final static Color elementBorderColor = new Color(null, 138, 154, 184);
- public final static Color elementBackgroundColor = new Color(null, 236, 242, 252);
- public final static Color elementLabelColor = new Color(null, 80, 96, 144);
- public final static Color readOnlyBorderColor = new Color(null, 164, 164, 164);
-
- public final static Color readOnlyBackgroundColor = ColorConstants.white;
-
- public final static Font smallFont = new Font(Display.getCurrent(), "Small Fonts", 6, SWT.NONE);
- public final static Font medium = new Font(Display.getCurrent(), "Tahoma", 8, SWT.NONE);
- public final static Font mediumBoldFont = new Font(Display.getCurrent(), "Tahoma", 8, SWT.BOLD);
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/LinkedGraphViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/LinkedGraphViewer.java
deleted file mode 100644
index 09645a1830..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/LinkedGraphViewer.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-
-
-
-public class LinkedGraphViewer
-{
-
- protected ISelectionProvider menuSelectionProvider;
- protected XSDEditor editor;
- protected BaseGraphicalViewer majorViewer, minorViewer;
-
- /**
- *
- */
- public LinkedGraphViewer(XSDEditor editor, ISelectionProvider selectionProvider)
- {
- menuSelectionProvider = selectionProvider;
- this.editor = editor;
- }
-
- public void setMajorViewer(BaseGraphicalViewer majorViewer)
- {
- this.majorViewer = majorViewer;
- }
-
- public void setMinorViewer(BaseGraphicalViewer minorViewer)
- {
- this.minorViewer = minorViewer;
- }
-
- protected Composite control;
- protected SashForm sashForm;
-
- public Control createControl(Composite parent)
- {
- //control = new Composite(parent, SWT.DEFAULT);
-
- control = sashForm = new SashForm(parent, SWT.VERTICAL | SWT.BORDER);
- sashForm.setLayoutData(ViewUtility.createFill());
-
- majorViewer.createControl(sashForm);
- minorViewer.createControl(sashForm);
-// control.setLayout(new GridLayout());
-// control.setLayoutData(ViewUtility.createFill());
- return control;
- }
-
- public void addSelectionChangedListener(ISelectionChangedListener selectionListener)
- {
- if (majorViewer != null)
- {
- majorViewer.addSelectionChangedListener(selectionListener);
- majorViewer.addSelectionChangedListener(majorViewerListener);
- }
- if (minorViewer != null)
- {
- minorViewer.addSelectionChangedListener(selectionListener);
- }
- }
-
- /**
- * @return Composite
- */
- public Composite getControl()
- {
- return control;
- }
-
- /**
- *
- */
- protected XSDConcreteComponent getInput()
- {
- return majorViewer.getInput();
- }
-
- /**
- * @param schema
- */
- protected void setInput(XSDConcreteComponent input)
- {
- majorViewer.setInput(input);
- minorViewer.setInput(input);
- }
-
- /**
- * @param component
- */
- public void setSelection(XSDConcreteComponent component)
- {
- majorViewer.setSelection(component);
- }
-
- protected MajorViewerSelectionChangedListener majorViewerListener = new MajorViewerSelectionChangedListener();
-
- private class MajorViewerSelectionChangedListener implements ISelectionChangedListener
- {
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
- */
- public void selectionChanged(SelectionChangedEvent event)
- {
- ISelection editPartSelection = event.getSelection();
- List nodeList = new ArrayList();
- if (editPartSelection instanceof IStructuredSelection)
- {
- for (Iterator i = ((IStructuredSelection)editPartSelection).iterator(); i.hasNext(); )
- {
- EditPart editPart = (EditPart)i.next();
- if (editPart != null)
- {
- Object model = editPart.getModel();
- if (model instanceof XSDConcreteComponent)
- {
- Element element = ((XSDConcreteComponent)model).getElement();
-
- // this test ensures that we don't attempt to select an element for an external schema
- //
- if (element instanceof XMLNode)
- {
- // now update the minor viewer based on the selected component in the major viewer
- minorViewer.setInput((XSDConcreteComponent)model);
- minorViewer.setSelection((XSDConcreteComponent)model);
- }
- }
- }
- }
- }
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/PrintGraphAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/PrintGraphAction.java
deleted file mode 100644
index 53df913a12..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/PrintGraphAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.printing.PrintDialog;
-import org.eclipse.swt.printing.Printer;
-import org.eclipse.swt.printing.PrinterData;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-
-public class PrintGraphAction extends Action
-{
- protected XSDComponentViewer componentViewer;
-
- public PrintGraphAction(XSDComponentViewer componentViewer)
- {
- super("Print");
- this.componentViewer = componentViewer;
- }
-
- public void run()
- {
- try
- {
- PrintDialog dialog = new PrintDialog(Display.getCurrent().getActiveShell());
- PrinterData data = dialog.open();
- Printer printer = new Printer(data);
-
- Control control = componentViewer.getControl();
- Display display = Display.getCurrent();
- Image graphImage = new Image(display, control.getSize().x, control.getSize().y);
- GC graphGC = new GC(control);
- graphGC.copyArea(graphImage, 0, 0);
-
- ImageData graphImageData = graphImage.getImageData();
- graphImageData.transparentPixel = -1;
-
- Point screenDPI = display.getDPI();
- Point printerDPI = printer.getDPI();
- int scaleFactor = printerDPI.x / screenDPI.x;
- Rectangle trim = printer.computeTrim(0, 0, 0, 0);
- if (printer.startJob("Print XML Schema Graph"))
- {
- GC gc = new GC(printer);
- if (printer.startPage())
- {
- gc.drawImage(
- graphImage,
- 0,
- 0,
- graphImageData.width,
- graphImageData.height,
- -trim.x,
- -trim.y,
- scaleFactor * graphImageData.width,
- scaleFactor * graphImageData.height);
- printer.endPage();
- }
- printer.endJob();
- }
- printer.dispose();
- graphGC.dispose();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDChildUtility.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDChildUtility.java
deleted file mode 100644
index 887889cc36..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDChildUtility.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.util.XSDSwitch;
-
-
-public class XSDChildUtility
-{
- static public List getModelChildren(Object model)
- {
- XSDChildVisitor visitor = new XSDChildVisitor(model);
- visitor.visitXSDObject(model);
- return visitor.list;
- }
-
- static public List getImmediateDerivedTypes(XSDComplexTypeDefinition complexType)
- {
- ArrayList typesDerivedFrom = new ArrayList();
-
- // A handy convenience method quickly gets all
- // typeDefinitions within our schema; note that
- // whether or not this returns types in included,
- // imported, or redefined schemas is subject to change
- List typedefs = complexType.getSchema().getTypeDefinitions();
-
- for (Iterator iter = typedefs.iterator(); iter.hasNext(); )
- {
- XSDTypeDefinition typedef = (XSDTypeDefinition)iter.next();
- // Walk the baseTypes from this typedef seeing if any
- // of them match the requested one
- if (complexType.equals(typedef.getBaseType()))
- {
- // We found it, return the original one and continue
- typesDerivedFrom.add(typedef);
- }
- }
- return typesDerivedFrom;
- }
- // TODO... use the XSDVisitor defined in xsdeditor.util instead
- //
- public static class XSDChildVisitor extends XSDVisitor
- {
- Object root;
- List list = new ArrayList();
-
- public XSDChildVisitor(Object root)
- {
- this.root = root;
- }
-
- public void visitXSDModelGroup(XSDModelGroup xsdModelGroup)
- {
- if (xsdModelGroup != root)
- {
- list.add(xsdModelGroup);
- }
- else
- {
- super.visitXSDModelGroup(xsdModelGroup);
- }
- }
-
- public void visitXSDModelGroupDefinition(XSDModelGroupDefinition xsdModelGroupDefinition)
- {
- if (xsdModelGroupDefinition != root)
- {
- list.add(xsdModelGroupDefinition);
- }
- else
- {
- super.visitXSDModelGroupDefinition(xsdModelGroupDefinition);
- }
- }
-
- public void visitXSDElementDeclaration(XSDElementDeclaration xsdElementDeclaration)
- {
- if (xsdElementDeclaration != root)
- {
- list.add(xsdElementDeclaration);
- }
- else
- {
- super.visitXSDElementDeclaration(xsdElementDeclaration);
- }
- }
-
- public void visitXSDComplexTypeDefinition(XSDComplexTypeDefinition xsdComplexTypeDefinition)
- {
- if (xsdComplexTypeDefinition != root)
- {
- if (xsdComplexTypeDefinition.getName() != null || getModelChildren(xsdComplexTypeDefinition).size() > 0)
- {
- list.add(xsdComplexTypeDefinition);
- }
- }
- else
- {
- super.visitXSDComplexTypeDefinition(xsdComplexTypeDefinition);
- }
- }
-
- public void visitXSDWildcard(XSDWildcard xsdWildCard)
- {
- if (xsdWildCard != root)
- {
- list.add(xsdWildCard);
- }
- else
- {
- super.visitXSDWildcard(xsdWildCard);
- }
- }
- }
-
-
- public static class XSDVisitor
- {
- int indent = 0;
-
- public void visitXSDObject(Object object)
- {
- if (object == null)
- return;
-
- XSDSwitch theSwitch = new XSDSwitch()
- {
- public Object caseXSDComplexTypeDefinition(XSDComplexTypeDefinition object)
- {
- visitXSDComplexTypeDefinition(object);
- return null;
- }
-
- public Object caseXSDAttributeUse(XSDAttributeUse object)
- {
- visitXSDAttributeUse(object);
- return null;
- }
-
- public Object caseXSDElementDeclaration(XSDElementDeclaration object)
- {
- visitXSDElementDeclaration(object);
- return null;
- }
-
- public Object caseXSDModelGroupDefinition(XSDModelGroupDefinition object)
- {
- visitXSDModelGroupDefinition(object);
- return super.caseXSDModelGroupDefinition(object);
- }
-
- public Object caseXSDModelGroup(XSDModelGroup object)
- {
- visitXSDModelGroup(object);
- return super.caseXSDModelGroup(object);
- }
-
- public Object caseXSDParticle(XSDParticle object)
- {
- visitXSDParticle(object);
- return null;
- }
-
- public Object caseXSDSchema(XSDSchema object)
- {
- visitXSDSchema(object);
- return null;
- }
-
- public Object caseXSDWildcard(XSDWildcard object)
- {
- visitXSDWildcard(object);
- return null;
- }
- };
- theSwitch.doSwitch((EObject)object);
- }
-
- public void visitXSDAttributeUse(XSDAttributeUse xsdAttributeUse)
- {
-// printIndented("@" + xsdAttributeUse.getAttributeDeclaration().getName());
- }
-
- public void visitXSDSchema(XSDSchema xsdSchema)
- {
-// printIndented("XSDSchema");
- indent += 2;
- for (Iterator iterator = xsdSchema.getElementDeclarations().iterator(); iterator.hasNext(); )
- {
- visitXSDObject(iterator.next());
- }
- indent -= 2;
- }
-
- public void visitXSDElementDeclaration(XSDElementDeclaration xsdElementDeclaration)
- {
-// printIndented(xsdElementDeclaration.getName());
- indent += 2;
- XSDTypeDefinition td = xsdElementDeclaration.getTypeDefinition();
- if (td == null)
- {
- td = xsdElementDeclaration.getAnonymousTypeDefinition();
- }
- visitXSDObject(td);
- indent -= 2;
- }
-
- public void visitXSDComplexTypeDefinition(XSDComplexTypeDefinition xsdComplexTypeDefinition)
- {
-// printIndented("XSDComplexTypeDefinition : " + xsdComplexTypeDefinition.getContent());
- indent += 2;
- for (Iterator i = xsdComplexTypeDefinition.getAttributeUses().iterator(); i.hasNext(); )
- {
- visitXSDObject((XSDAttributeUse)i.next());
- }
- visitXSDObject(xsdComplexTypeDefinition.getContent());
- indent -= 2;
- }
-
- public void visitXSDModelGroup(XSDModelGroup xsdModelGroup)
- {
-// printIndented("XSDModelGroup");
- indent += 2;
- for (Iterator iterator = xsdModelGroup.getContents().iterator(); iterator.hasNext(); )
- {
- visitXSDObject(iterator.next());
- }
- indent -= 2;
- }
-
- public void visitXSDModelGroupDefinition(XSDModelGroupDefinition xsdModelGroupDefinition)
- {
-// printIndented("XSDModelGroupDefinition");
- indent += 2;
- visitXSDObject(xsdModelGroupDefinition.getResolvedModelGroupDefinition().getModelGroup());
- indent -= 2;
- }
-
- public void visitXSDParticle(XSDParticle xsdParticle)
- {
-// printIndented("XSDParticle");
- indent += 2;
- if (xsdParticle.getContent() != null)
- visitXSDObject(xsdParticle.getContent());
- indent -= 2;
- }
-
- public void visitXSDWildcard(XSDWildcard object)
- {
-// printIndented("XSDWildcard");
- }
-
- public void printIndented(String string)
- {
- //String spaces = "";
- //for (int i = 0; i < indent; i++)
- //{
- // spaces += " ";
- //}
- //System.out.println(spaces + string);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDComponentViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDComponentViewer.java
deleted file mode 100644
index c5aa0b2a6d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDComponentViewer.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ComponentViewerRootEditPart;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-
-
-public class XSDComponentViewer extends BaseGraphicalViewer
-{
- protected ComponentViewerRootEditPart componentViewerRootEditPart;
- public XSDComponentViewer(XSDEditor editor, ISelectionProvider menuSelectionProvider)
- {
- super(editor, menuSelectionProvider);
- }
-
- public void setInput(XSDConcreteComponent component)
- {
- if (isInputEnabled)
- {
- input = null;
-
- if (component instanceof XSDElementDeclaration ||
- component instanceof XSDSchema ||
- component instanceof XSDModelGroup ||
- component instanceof XSDModelGroupDefinition ||
- component instanceof XSDComplexTypeDefinition)
- {
- input = component;
- }
-
- componentViewerRootEditPart.setInput(input);
- if (!(input instanceof XSDSchema))
- {
- editor.getGraphViewer().backButton.setEnabled(true);
- }
- }
- }
-
- public void setSelection(XSDConcreteComponent component)
- {
- if (isSelectionEnabled)
- {
- //System.out.println("XSDComponentViewer.setSelection(" + component + ")");
- List editPartList = new ArrayList();
- StructuredSelection selection = new StructuredSelection();
- if (component instanceof XSDElementDeclaration ||
- component instanceof XSDSchema ||
- component instanceof XSDModelGroup ||
- component instanceof XSDModelGroupDefinition ||
- component instanceof XSDComplexTypeDefinition)
- {
- if (component != null)
- {
- EditPart editPart = getEditPart(componentViewerRootEditPart, component);
- if (editPart != null)
- {
- // TODO ... take a look at this to figure our why a newly added component
- // seems to have the wrong bounds at this point... is this a layout issue?
- // As a temp hack I'm ignoring the selection of component with bounds (x, y) == (0, 0)
- // Perhaps a delayed selection is required?
- Rectangle bounds = ((GraphicalEditPart)editPart).getFigure().getBounds();
- if (bounds.x > 0 || bounds.y > 0)
- {
- editPartList.add(editPart);
- }
- }
- }
- }
- setSelection(new StructuredSelection(editPartList));
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#hookControl()
- */
- protected void hookControl()
- {
- super.hookControl();
- componentViewerRootEditPart = new ComponentViewerRootEditPart();
- setContents(componentViewerRootEditPart);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphUtil.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphUtil.java
deleted file mode 100644
index a19f20b5c4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphUtil.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-
-
-public class XSDGraphUtil
-{
- public static boolean isEditable(Object model)
- {
- boolean result = false;
- if (model instanceof XSDConcreteComponent)
- {
- Element element = ((XSDConcreteComponent)model).getElement();
- // this test ensures that we don't attempt to select an element for an external schema
- //
- if (element instanceof XMLNode)
- {
- result = true;
- }
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphViewer.java
deleted file mode 100644
index 015f6c26f4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphViewer.java
+++ /dev/null
@@ -1,577 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.XSDSelectionManager;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-public class XSDGraphViewer implements ISelectionChangedListener
-{
- protected PageBook pageBook;
- protected Control componentViewerControl;
- protected Control inheritanceViewerControl;
- protected Control subGroupsViewerControl;
- protected XSDComponentViewer componentViewer;
- protected XSDInheritanceViewer inheritanceViewer;
- protected XSDSubstitutionGroupsViewer subGroupsViewer;
- protected XSDSelectionManager xsdSelectionManager;
- protected XSDSchema schema;
- protected InternalSelectionProvider internalSelectionProvider = new InternalSelectionProvider();
- protected XSDEditor editor;
- protected PrintGraphAction printGraphAction;
- protected SashForm sashForm;
- protected ToolItem backButton;
-
- public XSDGraphViewer(XSDEditor editor)
- {
- super();
- this.editor = editor;
- }
-
- public void setSchema(XSDSchema schema)
- {
- this.schema = schema;
- }
- ToolBar graphToolBar; // the toolbar at the top of the graph view
- ToolItem toolItem; // the view tool item
- ViewForm form; // view form for holding all the views
- Composite frameBar; // The composite that contains the toolbar
- Composite c; // temporary blank page. Clean this up when all views completed
- LinkedGraphViewer linkInheritanceViewer;
-
- protected void createInheritanceViewer(Composite parent)
- {
- linkInheritanceViewer = new LinkedGraphViewer(editor, internalSelectionProvider);
- BaseGraphicalViewer graphViewer = new XSDInheritanceViewer(editor, internalSelectionProvider);
- linkInheritanceViewer.setMajorViewer(graphViewer);
- graphViewer = new XSDComponentViewer(editor, editor.getSelectionManager());
- linkInheritanceViewer.setMinorViewer(graphViewer);
- linkInheritanceViewer.createControl(parent);
- }
- LinkedGraphViewer linkSubstitutionGroupViewer;
-
- protected void createSubstitutionGroupViewer(Composite parent)
- {
- linkSubstitutionGroupViewer = new LinkedGraphViewer(editor, internalSelectionProvider);
- BaseGraphicalViewer graphViewer = new XSDSubstitutionGroupsViewer(editor, internalSelectionProvider);
- linkSubstitutionGroupViewer.setMajorViewer(graphViewer);
- graphViewer = new XSDComponentViewer(editor, internalSelectionProvider);
- linkSubstitutionGroupViewer.setMinorViewer(graphViewer);
- linkSubstitutionGroupViewer.createControl(parent);
- }
- static private Color dividerColor;
-
- public Control createControl(Composite parent)
- {
- pageBook = new PageBook(parent, 0);
-
- //componentViewer = new XSDComponentViewer(editor, internalSelectionProvider);
- componentViewer = new XSDComponentViewer(editor, editor.getSelectionManager());
- ViewUtility util = new ViewUtility();
- final Composite client;
- String designLayoutPosition = XSDEditorPlugin.getPlugin().getDesignLayoutPosition();
- form = new ViewForm(pageBook, SWT.NONE);
- frameBar = new Composite(form, SWT.NONE);
- org.eclipse.swt.layout.GridLayout frameLayout = new org.eclipse.swt.layout.GridLayout();
- frameLayout.marginWidth = 0;
- frameLayout.marginHeight = 0;
- frameBar.setLayout(frameLayout);
- graphToolBar = new ToolBar(frameBar, SWT.FLAT);
- graphToolBar.addTraverseListener(new TraverseListener()
- {
- public void keyTraversed(TraverseEvent e)
- {
- if (e.detail == SWT.TRAVERSE_MNEMONIC)
- e.doit = false;
- }
- });
- backButton = new ToolItem(graphToolBar, SWT.PUSH);
- backButton.setImage(XSDEditorPlugin.getXSDImage("icons/back.gif")); //$NON-NLS-1$
- backButton.setToolTipText(XSDEditorPlugin.getXSDString("_UI_HOVER_BACK_TO_SCHEMA_VIEW")); //$NON-NLS-1$
- backButton.setEnabled(false);
- backButton.addSelectionListener(new SelectionAdapter()
- {
- public void widgetSelected(SelectionEvent e)
- {
- editor.getGraphViewer().setInput(editor.getXSDSchema());
- // internalSelectionProvider.setSelection(new StructuredSelection(editor.getXSDSchema()));
- editor.getSelectionManager().setSelection(new StructuredSelection(editor.getXSDSchema()));
- }
- });
- // TEMPORARILY REMOVE DIFFERENT VIEWS
- // toolItem = new ToolItem(graphToolBar, SWT.DROP_DOWN);
- //
- // // set default to containment
- //// toolItem.setText(XSDEditorPlugin.getXSDString("_UI_CONTAINMENT"));
- // toolItem.addSelectionListener(new SelectionAdapter()
- // {
- // public void widgetSelected(SelectionEvent e)
- // {
- // Menu menu = new Menu(graphToolBar);
- // if (menu != null)
- // {
- // if (!showGraphMenu(menu))
- // {
- // frameBar.setVisible(false);
- // return;
- // }
- // Rectangle b = toolItem.getBounds();
- // org.eclipse.swt.graphics.Point p = toolItem.getParent().toDisplay(new
- // org.eclipse.swt.graphics.Point(b.x, b.y + b.height));
- // menu.setLocation(p.x, p.y);
- // menu.setVisible(true);
- // }
- // }
- // });
- form.setTopLeft(frameBar);
- // createInheritanceViewer(form);
- // createSubstitutionGroupViewer(form);
- componentViewerControl = componentViewer.createControl(form);
- //inheritanceViewerControl = inheritanceViewer.createControl(form);
- //subGroupsViewerControl = subGroupsViewer.createControl(form);
- c = ViewUtility.createComposite(form, 1);
- form.setContent(componentViewerControl);
- // componentViewerControl.setData("layout ratio", new Float(0.65));
- form.setData("layout ratio", new Float(0.65));
- if (dividerColor == null)
- {
- dividerColor = new Color(componentViewerControl.getDisplay(), 143, 141, 138);
- }
- //KCPort
- // client.addPaintListener(new PaintListener()
- // {
- // /**
- // * @see org.eclipse.swt.events.PaintListener#paintControl(PaintEvent)
- // */
- // public void paintControl(PaintEvent e)
- // {
- // Object source = e.getSource();
- // if (source instanceof Composite)
- // {
- // Composite comp = (Composite)source;
- // Rectangle boundary = comp.getClientArea();
- // e.gc.setForeground(dividerColor);
- // e.gc.drawLine(boundary.x, boundary.y, boundary.x + boundary.width,
- // boundary.y);
- // editor.setDesignWeights(sashForm.getWeights(), true);
- // }
- // }
- // });
- // KCPort
- // designView = new DesignViewer(editor);
- // final Control design = designView.createControl(client);
- // design.setLayoutData(ViewUtility.createFill());
- // client.setData("layout ratio", new Float(0.35));
- // enableDesignView(editor.isCombinedDesignAndSourceView());
- // pageBook.showPage(sashForm);
- pageBook.showPage(form);
- componentViewer.addSelectionChangedListener(internalSelectionProvider);
- //inheritanceViewer.addSelectionChangedListener(this);
- // Temporarily remove graph tool bar
- // linkInheritanceViewer.addSelectionChangedListener(this);
- // linkSubstitutionGroupViewer.addSelectionChangedListener(this);
- printGraphAction = new PrintGraphAction(componentViewer);
- return pageBook;
- // return form;
- }
-
- private boolean showGraphMenu(Menu menu)
- {
- MenuItem containmentMenuItem = new MenuItem(menu, SWT.RADIO);
- containmentMenuItem.setText(XSDEditorPlugin.getXSDString("_UI_CONTAINMENT"));
- containmentMenuItem.addSelectionListener(new SelectionAdapter()
- {
- public void widgetSelected(SelectionEvent e)
- {
- toolItem.setText(XSDEditorPlugin.getXSDString("_UI_CONTAINMENT"));
- frameBar.layout(true);
- graphToolBar.layout(true);
- form.setContent(componentViewerControl);
- // retrieve latest input which could have changed...from designView ??
- // get it directly?
- // KCPort
- // setInput(designView.getInput());
- }
- });
- MenuItem inheritanceMenuItem = new MenuItem(menu, SWT.RADIO);
- inheritanceMenuItem.setText(XSDEditorPlugin.getXSDString("_UI_INHERITANCE"));
- inheritanceMenuItem.addSelectionListener(new SelectionAdapter()
- {
- public void widgetSelected(SelectionEvent e)
- {
- toolItem.setText(XSDEditorPlugin.getXSDString("_UI_INHERITANCE"));
- frameBar.layout(true);
- graphToolBar.layout(true);
- // form.setContent(inheritanceViewerControl);
- form.setContent(linkInheritanceViewer.getControl());
- if (linkInheritanceViewer.getInput() == null)
- {
- linkInheritanceViewer.setInput(schema);
- }
- }
- });
- MenuItem subGroupsMenuItem = new MenuItem(menu, SWT.RADIO);
- subGroupsMenuItem.setText(XSDEditorPlugin.getXSDString("_UI_SUBSTITUTION_GROUPS"));
- subGroupsMenuItem.addSelectionListener(new SelectionAdapter()
- {
- public void widgetSelected(SelectionEvent e)
- {
- toolItem.setText(XSDEditorPlugin.getXSDString("_UI_SUBSTITUTION_GROUPS"));
- frameBar.layout(true);
- graphToolBar.layout(true);
- form.setContent(linkSubstitutionGroupViewer.getControl());
- // retrieve latest input which could have changed...from designView ??
- // get it directly?
- // setInput(designView.getInput());
- if (linkSubstitutionGroupViewer.getInput() == null)
- {
- linkSubstitutionGroupViewer.setInput(schema);
- }
- }
- });
- if (toolItem.getText().equals(XSDEditorPlugin.getXSDString("_UI_CONTAINMENT")))
- {
- containmentMenuItem.setSelection(true);
- }
- else if (toolItem.getText().equals(XSDEditorPlugin.getXSDString("_UI_INHERITANCE")))
- {
- inheritanceMenuItem.setSelection(true);
- }
- else if (toolItem.getText().equals(XSDEditorPlugin.getXSDString("_UI_SUBSTITUTION_GROUPS")))
- {
- subGroupsMenuItem.setSelection(true);
- }
- return true;
- }
-
- public Action getPrintGraphAction()
- {
- return printGraphAction;
- }
-
- public void updateDesignLayout(int newLayout)
- {
- sashForm.setOrientation(newLayout);
- sashForm.layout();
- }
-
- public SashForm getSashForm()
- {
- return sashForm;
- }
-
- public void enableDesignView(boolean enable)
- {
- }
-
- public XSDComponentViewer getComponentViewer()
- {
- return componentViewer;
- }
-
- public void setBackButtonEnabled(boolean state)
- {
- backButton.setEnabled(state);
- }
-
- public void setInput(Object object)
- {
- if (object instanceof XSDConcreteComponent)
- {
- XSDConcreteComponent xsdComp = (XSDConcreteComponent) object;
- if (xsdComp instanceof XSDSchema)
- {
- setBackButtonEnabled(false);
- }
- else
- {
- setBackButtonEnabled(true);
- }
- componentViewer.setInput(xsdComp);
- componentViewer.setSelection(xsdComp);
- }
- }
-
- protected boolean isDeleted(XSDConcreteComponent component)
- {
- boolean result = false;
- if (component != null && component.getElement() != null)
- {
- result = component.getElement().getParentNode() == null;
- }
- return result;
- }
-
- public void setSelectionManager(XSDSelectionManager newSelectionManager)
- {
- // disconnect from old one
- if (xsdSelectionManager != null)
- {
- xsdSelectionManager.removeSelectionChangedListener(this);
- internalSelectionProvider.removeSelectionChangedListener(xsdSelectionManager);
- }
- xsdSelectionManager = newSelectionManager;
- // connect to new one
- if (xsdSelectionManager != null)
- {
- xsdSelectionManager.addSelectionChangedListener(this);
- internalSelectionProvider.addSelectionChangedListener(xsdSelectionManager);
- }
- }
-
- // this method is called by the SelectionManager to notify the graph view
- // that the editor selection has changed
- //
- public void selectionChanged(SelectionChangedEvent event)
- {
- // here we check the selection source to ensure that this selection came
- // from a different view (not from the graph view)
- if (event.getSource() != getComponentViewer())
- {
- handleSelection(event.getSelection(), true);
- }
- }
-
- protected XSDConcreteComponent getTopLevelComponent(XSDConcreteComponent component)
- {
- XSDConcreteComponent prev = component;
- XSDConcreteComponent container = component;
- while ( container != null && !(container instanceof XSDSchema))
- {
- prev = container;
- container = container.getContainer();
- }
- return container != null ? prev : null;
- }
-
- // TODO.. we need to clean this method up and add comments to clarify what's going on
- //
- protected void handleSelection(ISelection selection, boolean isSelectionRequired)
- {
- StructuredSelection s = (StructuredSelection)selection;
- Object obj = s.getFirstElement();
- if (obj instanceof XSDConcreteComponent)
- {
- XSDConcreteComponent selectedComponent = (XSDConcreteComponent)obj;
- Object currentInput = getComponentViewer().getInput();
-
- // in this case we're looking at a top level view
- // so if the selection is a 'non-top-level' component we need to do a set input
- XSDSchema topLevelSchema = null;
- if (currentInput instanceof XSDSchema)
- {
- if (selectedComponent instanceof XSDSchema ||
- selectedComponent.getContainer() instanceof XSDSchema)
- {
- topLevelSchema = (XSDSchema)currentInput;
- }
- }
- else if (selectedComponent instanceof XSDSchemaDirective || selectedComponent instanceof XSDNotationDeclaration)
- {
- topLevelSchema = selectedComponent.getSchema();
- }
- else if (selectedComponent instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)selectedComponent;
- EditPart editPart = componentViewer.getEditPart(componentViewer.getRootEditPart(), st);
- if (editPart == null)
- {
- if (st.getContainer() == editor.getXSDSchema())
- {
- topLevelSchema = selectedComponent.getSchema();
- }
- }
- }
-
- if (topLevelSchema != null)
- {
- setInput(topLevelSchema);
- // TODO... this is not 'quite' right
- // it should be possible to view in
- }
- else
- {
- EditPart editPart = getComponentViewer().getEditPart(getComponentViewer().getRootEditPart(), obj);
- if (editPart == null)
- {
- XSDConcreteComponent topLevelComponent = getTopLevelComponent(selectedComponent);
- if (topLevelComponent != null)
- {
- setInput(topLevelComponent);
- }
- }
- }
-
- // now we handle the selection
- //
- if (isSelectionRequired)
- {
- EditPart editPart = getComponentViewer().getRootEditPart();
- EditPart newSelectedEditPart = getComponentViewer().getEditPart(editPart, obj);
- if (newSelectedEditPart != null)
- {
- getComponentViewer().setSelection(new StructuredSelection(newSelectedEditPart));
- }
- }
- }
- }
-
- protected Element getElementNode(Node node)
- {
- while (!(node instanceof Element))
- {
- if (node instanceof Attr)
- {
- node = ((Attr) node).getOwnerElement();
- }
- else if (node instanceof Text)
- {
- Node sibling = node.getNextSibling();
- if (sibling == null)
- {
- break;
- }
- node = sibling;
- }
- else
- {
- Node parent = node.getParentNode();
- if (parent == null)
- {
- break;
- }
- node = node.getParentNode();
- }
- }
- return node instanceof Element ? (Element) node : null;
- }
-
-
-
- // This class listens to the graph view and converts edit part selection
- // events
- // into XSD component selection events that can be 'fired' to the
- // selectionManager
- //
- class InternalSelectionProvider implements ISelectionProvider, ISelectionChangedListener
- {
- protected List listenerList = new ArrayList();
- protected ISelection selection = new StructuredSelection();
-
- public void addSelectionChangedListener(ISelectionChangedListener listener)
- {
- listenerList.add(listener);
- }
-
- public void removeSelectionChangedListener(ISelectionChangedListener listener)
- {
- listenerList.remove(listener);
- }
-
- public ISelection getSelection()
- {
- return selection;
- }
-
- protected void notifyListeners(SelectionChangedEvent event)
- {
- for (Iterator i = listenerList.iterator(); i.hasNext();)
- {
- ISelectionChangedListener listener = (ISelectionChangedListener) i.next();
- listener.selectionChanged(event);
- }
- }
-
- public StructuredSelection convertSelectionFromEditPartToModel(ISelection editPartSelection)
- {
- List selectedModelObjectList = new ArrayList();
- if (editPartSelection instanceof IStructuredSelection)
- {
- for (Iterator i = ((IStructuredSelection) editPartSelection).iterator(); i.hasNext();)
- {
- Object obj = i.next();
- Object model = null;
- if (obj instanceof EditPart)
- {
- EditPart editPart = (EditPart) obj;
- model = editPart.getModel();
- // Convert category to XSDSchema
- // if (editPart instanceof CategoryEditPart)
- // {
- // model = ((Category)((CategoryEditPart)editPart).getModel()).getXSDSchema();
- // }
- }
- else if (obj instanceof XSDConcreteComponent)
- {
- //cs .. not sure why would we'd ever hit this case?
- model = obj;
- }
- if (model != null)//&& model instanceof XSDConcreteComponent)
- {
- selectedModelObjectList.add(model);
- }
- }
- }
- return new StructuredSelection(selectedModelObjectList);
- }
-
- public void setSelection(ISelection selection)
- {
- this.selection = selection;
- }
-
- // This method gets called when an edit part in the graph view is selected
- //
- public void selectionChanged(SelectionChangedEvent event)
- {
- ISelection newSelection = convertSelectionFromEditPartToModel(event.getSelection());
- this.selection = newSelection;
- SelectionChangedEvent newEvent = new SelectionChangedEvent(getComponentViewer(), newSelection);
- notifyListeners(newEvent);
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphicalViewerKeyHandler.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphicalViewerKeyHandler.java
deleted file mode 100644
index b6c80263ec..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphicalViewerKeyHandler.java
+++ /dev/null
@@ -1,352 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.KeyHandler;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ExpandableGraphNodeEditPart;
-
-
-public class XSDGraphicalViewerKeyHandler extends KeyHandler
-{
- public XSDGraphicalViewerKeyHandler(GraphicalViewer viewer)
- {
- this.viewer = viewer;
- }
-
- private WeakReference cachedNode;
- int counter;
- private GraphicalViewer viewer;
-
- private boolean acceptConnection(KeyEvent event)
- {
- return event.character == '/'
- || event.character == '?'
- || event.character == '\\'
- || event.character == '|';
- }
- private boolean acceptIntoContainer(KeyEvent event)
- {
- return (((event.stateMask & SWT.ALT) != 0)
- && (event.keyCode == SWT.ARROW_RIGHT)) || (event.keyCode == SWT.ARROW_RIGHT);
-// return (event.keyCode == SWT.ARROW_RIGHT);
- }
- private boolean acceptLeaveConnection(KeyEvent event)
- {
- int key = event.keyCode;
- if (getFocus() instanceof ConnectionEditPart)
- if ((key == SWT.ARROW_UP)
- || (key == SWT.ARROW_RIGHT)
- || (key == SWT.ARROW_DOWN)
- || (key == SWT.ARROW_LEFT))
- return true;
- return false;
- }
- private boolean acceptLeaveContents(KeyEvent event)
- {
- int key = event.keyCode;
- return getFocus() == getViewer().getContents()
- && ((key == SWT.ARROW_UP)
- || (key == SWT.ARROW_RIGHT)
- || (key == SWT.ARROW_DOWN)
- || (key == SWT.ARROW_LEFT));
- }
- private boolean acceptOutOf(KeyEvent event)
- {
- return (((event.stateMask & SWT.ALT) != 0) && (event.keyCode == SWT.ARROW_LEFT)) || (event.keyCode == SWT.ARROW_LEFT);
-// return (event.keyCode == SWT.ARROW_LEFT);
- }
- private ConnectionEditPart findConnection(
- GraphicalEditPart node,
- ConnectionEditPart current,
- boolean forward)
- {
- List connections = new ArrayList(node.getSourceConnections());
- connections.addAll(node.getTargetConnections());
- if (connections.isEmpty())
- return null;
- if (forward)
- counter++;
- else
- counter--;
- while (counter < 0)
- counter += connections.size();
- counter %= connections.size();
- return (ConnectionEditPart) connections.get(counter % connections.size());
- }
- /*
- * pStart is a point in absolute coordinates.
- */
- private GraphicalEditPart findSibling(
- List siblings,
- Point pStart,
- int direction,
- EditPart exclude)
- {
- GraphicalEditPart epCurrent;
- GraphicalEditPart epFinal = null;
- IFigure figure;
- Point pCurrent;
- int distance = Integer.MAX_VALUE;
- Iterator iter = siblings.iterator();
- while (iter.hasNext())
- {
- epCurrent = (GraphicalEditPart) iter.next();
- if (epCurrent == exclude)
- continue;
- figure = epCurrent.getFigure();
- pCurrent = getInterestingPoint(figure);
- figure.translateToAbsolute(pCurrent);
- if (pStart.getPosition(pCurrent) != direction)
- continue;
- int d = pCurrent.getDistanceOrthogonal(pStart);
- if (d < distance)
- {
- distance = d;
- epFinal = epCurrent;
- }
- }
- return epFinal;
- }
- Point getInterestingPoint(IFigure figure)
- {
-// return figure.getBounds().getCenter();
- return figure.getBounds().getTopLeft();
- }
- /**
- * Returns the cached node. It is possible that the node is not longer in the viewer but has
- * not been garbage collected yet.
- */
- private GraphicalEditPart getCachedNode()
- {
- if (cachedNode == null)
- return null;
- if (cachedNode.isEnqueued())
- return null;
- return (GraphicalEditPart) cachedNode.get();
- }
- GraphicalEditPart getFocus()
- {
- return (GraphicalEditPart) getViewer().getFocusEditPart();
- }
- List getNavigationSiblings()
- {
- return getFocus().getParent().getChildren();
- }
- protected GraphicalViewer getViewer()
- {
- return viewer;
- }
- public boolean keyPressed(KeyEvent event)
- {
- if (event.character == ' ')
- {
- processSelect(event);
- return true;
- }
- else if (acceptIntoContainer(event))
- {
- navigateIntoContainer(event);
- return true;
- }
- else if (acceptOutOf(event))
- {
- navigateOut(event);
- return true;
- }
- else if (acceptConnection(event))
- {
- navigateConnections(event);
- return true;
- }
- else if (acceptLeaveConnection(event))
- {
- navigateOutOfConnection(event);
- return true;
- }
- else if (acceptLeaveContents(event))
- {
- navigateIntoContainer(event);
- return true;
- }
- switch (event.keyCode)
- {
- case SWT.ARROW_LEFT :
- return navigateNextSibling(event, PositionConstants.WEST);
- case SWT.ARROW_RIGHT :
- return navigateNextSibling(event, PositionConstants.EAST);
- case SWT.ARROW_UP :
- return navigateNextSibling(event, PositionConstants.NORTH);
- case SWT.ARROW_DOWN :
- return navigateNextSibling(event, PositionConstants.SOUTH);
- case SWT.HOME :
- return navigateJumpSibling(event, PositionConstants.WEST);
- case SWT.END :
- return navigateJumpSibling(event, PositionConstants.EAST);
- case SWT.PAGE_DOWN :
- return navigateJumpSibling(event, PositionConstants.SOUTH);
- case SWT.PAGE_UP :
- return navigateJumpSibling(event, PositionConstants.NORTH);
- }
- return super.keyPressed(event);
- }
- private void navigateConnections(KeyEvent event)
- {
- GraphicalEditPart focus = getFocus();
- ConnectionEditPart current = null;
- GraphicalEditPart node = getCachedNode();
- if (focus instanceof ConnectionEditPart)
- {
- current = (ConnectionEditPart) focus;
- if (node == null
- || (node != current.getSource() && node != current.getTarget()))
- {
- node = (GraphicalEditPart) current.getSource();
- counter = 0;
- }
- }
- else
- {
- node = focus;
- }
- setCachedNode(node);
- boolean forward = event.character == '/' || event.character == '?';
- ConnectionEditPart next = findConnection(node, current, forward);
- navigateTo(next, event);
- }
- private void navigateIntoContainer(KeyEvent event)
- {
- GraphicalEditPart focus = getFocus();
- List childList = focus.getChildren();
-
- if (focus instanceof ExpandableGraphNodeEditPart)
- {
- if (!((ExpandableGraphNodeEditPart)focus).isExpanded())
- {
- ((ExpandableGraphNodeEditPart)focus).doPerformExpandOrCollapse();
- }
- }
-
- Point tl = focus.getContentPane().getBounds().getTopLeft();
- int minimum = Integer.MAX_VALUE;
- int current;
- GraphicalEditPart closestPart = null;
- for (int i = 0; i < childList.size(); i++)
- {
- GraphicalEditPart ged = (GraphicalEditPart) childList.get(i);
- Rectangle childBounds = ged.getFigure().getBounds();
- current = (childBounds.x - tl.x) + (childBounds.y - tl.y);
- if (current < minimum)
- {
- minimum = current;
- closestPart = ged;
- }
- }
- if (closestPart != null)
- navigateTo(closestPart, event);
- }
- private boolean navigateJumpSibling(KeyEvent event, int direction)
- {
- return false;
- }
- private boolean navigateNextSibling(KeyEvent event, int direction)
- {
- GraphicalEditPart epStart = getFocus();
- IFigure figure = epStart.getFigure();
- Point pStart = getInterestingPoint(figure);
- figure.translateToAbsolute(pStart);
- EditPart next =
- findSibling(getNavigationSiblings(), pStart, direction, epStart);
- if (next == null)
- return false;
- navigateTo(next, event);
- return true;
- }
- private void navigateOut(KeyEvent event)
- {
- if (getFocus() == null
- || getFocus() == getViewer().getContents()
- || getFocus().getParent() == getViewer().getContents())
- return;
-
- EditPart parent = getFocus().getParent();
- if (((event.stateMask & SWT.ALT) != 0) && (event.keyCode == SWT.ARROW_LEFT))
- {
- if ((parent != null) && (parent instanceof ExpandableGraphNodeEditPart))
- {
- if (((ExpandableGraphNodeEditPart)parent).isExpanded())
- {
- ((ExpandableGraphNodeEditPart)parent).doPerformExpandOrCollapse();
- }
- }
- }
- navigateTo(parent, event);
-// navigateTo(getFocus().getParent(), event);
- }
- private void navigateOutOfConnection(KeyEvent event)
- {
- GraphicalEditPart cached = getCachedNode();
- ConnectionEditPart conn = (ConnectionEditPart) getFocus();
- if (cached != null
- && (cached == conn.getSource() || cached == conn.getTarget()))
- navigateTo(cached, event);
- else
- navigateTo(conn.getSource(), event);
- }
- void navigateTo(EditPart part, KeyEvent event)
- {
- if (part == null)
- return;
- if ((event.stateMask & SWT.SHIFT) != 0)
- {
- getViewer().appendSelection(part);
- getViewer().setFocus(part);
- }
- else if ((event.stateMask & SWT.CONTROL) != 0)
- getViewer().setFocus(part);
- else
- getViewer().select(part);
- }
- private void processSelect(KeyEvent event)
- {
- EditPart part = getViewer().getFocusEditPart();
- if ((event.stateMask & SWT.CONTROL) != 0
- && part.getSelected() != EditPart.SELECTED_NONE)
- {
- getViewer().deselect(part);
- }
- else
- {
- getViewer().appendSelection(part);
- }
- getViewer().setFocus(part);
- }
- private void setCachedNode(GraphicalEditPart node)
- {
- if (node == null)
- cachedNode = null;
- else
- cachedNode = new WeakReference(node);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDInheritanceViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDInheritanceViewer.java
deleted file mode 100644
index 71a82051fa..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDInheritanceViewer.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.SubstitutionGroupViewerRootEditPart;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-
-
-public class XSDInheritanceViewer extends BaseGraphicalViewer
-{
- protected SubstitutionGroupViewerRootEditPart inheritanceViewerRootEditPart;
- public XSDInheritanceViewer(XSDEditor editor, ISelectionProvider menuSelectionProvider)
- {
- super(editor, menuSelectionProvider);
- }
-
- public void setInput(XSDConcreteComponent component)
- {
- if (isInputEnabled)
- {
- input = null;
-
- if (component instanceof XSDSchema ||
- component instanceof XSDComplexTypeDefinition)
- {
- input = component;
- }
-
- inheritanceViewerRootEditPart.setInput(input);
- }
- }
-
- public void setSelection(XSDConcreteComponent component)
- {
- if (isSelectionEnabled)
- {
- //System.out.println("XSDComponentViewer.setSelection(" + component + ")");
- List editPartList = new ArrayList();
- StructuredSelection selection = new StructuredSelection();
- if (component instanceof XSDElementDeclaration ||
- component instanceof XSDSchema ||
- component instanceof XSDModelGroup ||
- component instanceof XSDModelGroupDefinition ||
- component instanceof XSDComplexTypeDefinition)
- {
- if (component != null)
- {
- EditPart editPart = getEditPart(inheritanceViewerRootEditPart, component);
- if (editPart != null)
- {
- // TODO ... take a look at this to figure our why a newly added component
- // seems to have the wrong bounds at this point... is this a layout issue?
- // As a temp hack I'm ignoring the selection of component with bounds (x, y) == (0, 0)
- // Perhaps a delayed selection is required?
- Rectangle bounds = ((GraphicalEditPart)editPart).getFigure().getBounds();
- if (bounds.x > 0 || bounds.y > 0)
- {
- editPartList.add(editPart);
- }
- }
- }
- }
- setSelection(new StructuredSelection(editPartList));
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#hookControl()
- */
- protected void hookControl()
- {
- super.hookControl();
- inheritanceViewerRootEditPart = new SubstitutionGroupViewerRootEditPart();
- setContents(inheritanceViewerRootEditPart);
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupChildUtility.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupChildUtility.java
deleted file mode 100644
index 9fa84bd867..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupChildUtility.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.xsd.XSDElementDeclaration;
-
-/**
- * @author ernest
- *
- * To change this generated comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class XSDSubstitutionGroupChildUtility
-{
-
- /**
- * @param declaration
- * @return List
- */
- public static List getModelChildren(XSDElementDeclaration declaration)
- {
- ArrayList children = new ArrayList();
- List substitutionGroup = declaration.getSubstitutionGroup();
- for (int i = 0, size = substitutionGroup.size(); i < size; i++)
- {
- XSDElementDeclaration element = (XSDElementDeclaration) substitutionGroup.get(i);
- if (declaration.equals(element.getSubstitutionGroupAffiliation()))
- {
- children.add(element);
- }
- }
- return children;
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupsViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupsViewer.java
deleted file mode 100644
index 5598fdfb56..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupsViewer.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.SubstitutionGroupViewerRootEditPart;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-
-
-public class XSDSubstitutionGroupsViewer extends BaseGraphicalViewer
-{
- protected SubstitutionGroupViewerRootEditPart subGroupViewerRootEditPart;
- public XSDSubstitutionGroupsViewer(XSDEditor editor, ISelectionProvider menuSelectionProvider)
- {
- super(editor, menuSelectionProvider);
- }
-
- public void setInput(XSDConcreteComponent component)
- {
- if (isInputEnabled)
- {
- input = null;
-
- if (component instanceof XSDElementDeclaration ||
- component instanceof XSDSchema)
- {
- input = component;
- }
-
- subGroupViewerRootEditPart.setInput(input);
- }
- }
-
- public void setSelection(XSDConcreteComponent component)
- {
- if (isSelectionEnabled)
- {
- //System.out.println("XSDComponentViewer.setSelection(" + component + ")");
- List editPartList = new ArrayList();
- StructuredSelection selection = new StructuredSelection();
- if (component instanceof XSDElementDeclaration ||
- component instanceof XSDSchema ||
- component instanceof XSDModelGroup ||
- component instanceof XSDModelGroupDefinition ||
- component instanceof XSDComplexTypeDefinition)
- {
- if (component != null)
- {
- EditPart editPart = getEditPart(subGroupViewerRootEditPart, component);
- if (editPart != null)
- {
- // TODO ... take a look at this to figure our why a newly added component
- // seems to have the wrong bounds at this point... is this a layout issue?
- // As a temp hack I'm ignoring the selection of component with bounds (x, y) == (0, 0)
- // Perhaps a delayed selection is required?
- Rectangle bounds = ((GraphicalEditPart)editPart).getFigure().getBounds();
- if (bounds.x > 0 || bounds.y > 0)
- {
- editPartList.add(editPart);
- }
- }
- }
- }
- setSelection(new StructuredSelection(editPartList));
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#hookControl()
- */
- protected void hookControl()
- {
- super.hookControl();
- subGroupViewerRootEditPart = new SubstitutionGroupViewerRootEditPart();
- setContents(subGroupViewerRootEditPart);
- }
-
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/BaseEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/BaseEditPart.java
deleted file mode 100644
index f98da1abb1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/BaseEditPart.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.GraphicsConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.model.ModelAdapterListener;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-
-
-public abstract class BaseEditPart extends AbstractGraphicalEditPart implements ModelAdapterListener, GraphicsConstants, IFeedbackHandler
-{
- protected boolean isSelected = false;
- /**
- * Activates the <code>EditPart</code> by setting the
- * appropriate flags, and activating its children.
- * activation signals to the EditPart that is should start observing
- * it's model, and that is should support editing at this time.
- * An EditPart will have a parent prior to activiation.
- * @see #deactivate()
- */
- public void activate()
- {
- super.activate();
- XSDModelAdapterFactory.addModelAdapterListener(getModel(), this);
- }
- /**
- * Apart from the deactivation done in super, the source
- * and target connections are deactivated, and the visual
- * part of the this is removed.
- *
- * @see #activate()
- */
- public void deactivate()
- {
- XSDModelAdapterFactory.removeModelAdapterListener(getModel(), this);
- super.deactivate();
- }
-
- protected void createEditPolicies()
- {
- }
-
- protected EditPart createChild(Object model)
- {
- return XSDEditPartFactory.getInstance().createEditPart(this, model);
- }
-
- public void propertyChanged(Object object, String property)
- {
- refresh();
- }
-
- //public BaseGraphicalViewer getBaseGraphicalViewer()
- //{
- // return (BaseGraphicalViewer)getViewer();
- //}
-
- public IFigure getSelectionFigure()
- {
- return getFigure();
- }
-
-
- public void addFeedback()
- {
- isSelected = true;
- refreshVisuals();
- }
-
- public void removeFeedback()
- {
- isSelected = false;
- refreshVisuals();
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/CategoryEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/CategoryEditPart.java
deleted file mode 100644
index 36950bca65..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/CategoryEditPart.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.ScrollPane;
-import org.eclipse.draw2d.Viewport;
-import org.eclipse.draw2d.ViewportLayout;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.GraphicsConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.wst.xsd.ui.internal.graph.model.Category;
-
-
-public class CategoryEditPart extends BaseEditPart
-{
- protected ScrollPane scrollpane;
- protected Label label;
- protected ContainerFigure outerPane, r;
- protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
-
- public int getType()
- {
- return ((Category)getModel()).getGroupType();
- }
-
- protected IFigure createFigure()
- {
- outerPane = new ContainerFigure();
- outerPane.setBorder(new RoundedLineBorder(1, 6));
- outerPane.setForegroundColor(categoryBorderColor);
-
- r = new ContainerFigure();
- r.setOutline(false);
- r.setMinimumSize(new Dimension(0, 0));
- r.setFill(true);
- r.setBackgroundColor(GraphicsConstants.elementBackgroundColor);
- outerPane.add(r);
-
- int minHeight = 250;
- switch (getType())
- {
- case Category.DIRECTIVES :
- case Category.NOTATIONS :
- {
- minHeight = 50;
- break;
- }
- case Category.ATTRIBUTES :
- case Category.GROUPS :
- {
- minHeight = 100;
- break;
- }
- }
-
- final int theMinHeight = minHeight;
- FillLayout outerLayout = new FillLayout()
- {
- protected Dimension calculatePreferredSize(IFigure parent, int width, int height)
- {
- Dimension d = super.calculatePreferredSize(parent, width, height);
- d.union(new Dimension(100, theMinHeight));
- return d;
- }
- };
- //outerLayout.setHorizontal(false);
- outerPane.setLayoutManager(outerLayout);
-
-
- label = new Label();
- label.setForegroundColor(ColorConstants.black);
- label.setBorder(new MarginBorder(2, 4, 2, 4));
- r.add(label); //Holder);
-
- RectangleFigure line = new RectangleFigure();
- line.setPreferredSize(20, 1);
- outerPane.add(line);
-
-
- scrollpane = new ScrollPane();
- scrollpane.setForegroundColor(ColorConstants.black);
- scrollpane.setVerticalScrollBarVisibility(ScrollPane.AUTOMATIC); //ScrollPane.ALWAYS);
- outerPane.add(scrollpane);
-
- ContainerFigure pane = new ContainerFigure();
- pane.setBorder(new MarginBorder(5, 8, 5, 8));
- ContainerLayout layout = new ContainerLayout();
- layout.setHorizontal(false);
- layout.setSpacing(0);
- pane.setLayoutManager(layout);
-
- Viewport viewport = new Viewport();
- viewport.setContentsTracksHeight(true);
- ViewportLayout viewportLayout = new ViewportLayout()
- {
- protected Dimension calculatePreferredSize(IFigure parent, int width, int height)
- {
- Dimension d = super.calculatePreferredSize(parent, width, height);
- d.height = Math.min(d.height, theMinHeight - 25); //getViewer().getControl().getBounds().height);
- return d;
- }
- };
- viewport.setLayoutManager(viewportLayout);
-
- scrollpane.setViewport(viewport);
- scrollpane.setContents(pane);
-
- return outerPane;
- }
-
- protected List getModelChildren()
- {
- return ((Category)getModel()).getChildren();
- }
-
- public void refreshVisuals()
- {
- outerPane.setBorder(new RoundedLineBorder(isSelected ? ColorConstants.black : categoryBorderColor, isSelected ? 1 : 1, 6));
- outerPane.repaint();
-// Uncomment this for coloured titles
-// r.setBackgroundColor(isSelected ? ColorConstants.blue : GraphicsConstants.elementBackgroundColor);
-// label.setForegroundColor(isSelected ? ColorConstants.white : ColorConstants.black);
-// r.repaint();
-// outerPane.setForegroundColor(isSelected ? ColorConstants.black : elementBorderColor);
-
- Category category = (Category)getModel();
- // temp hack --- added empty space to make the min width of groups bigger
- label.setText(" " + category.getName() + " ");
- }
-
- public IFigure getContentPane()
- {
- return scrollpane.getContents();
- }
-
- public void scrollTo(AbstractGraphicalEditPart topLevel)
- {
- Rectangle topLevelBounds = topLevel.getFigure().getBounds();
- Rectangle categoryBounds = getFigure().getBounds();
- int scrollValue = scrollpane.getVerticalScrollBar().getValue();
- int location = topLevelBounds.y + scrollValue - categoryBounds.y;
- scrollpane.scrollVerticalTo(location - categoryBounds.height/2);
- }
-
- protected EditPart createChild(Object model)
- {
- EditPart editPart = new TopLevelComponentEditPart();
- editPart.setModel(model);
- editPart.setParent(this);
- return editPart;
- }
-
- protected void createEditPolicies()
- {
- selectionHandlesEditPolicy = new SelectionHandlesEditPolicyImpl();
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, selectionHandlesEditPolicy);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeDefinitionEditPart.java
deleted file mode 100644
index b0c1825069..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeDefinitionEditPart.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.CenteredIconFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-
-
-
-public class ComplexTypeDefinitionEditPart extends GraphNodeEditPart
-{
- protected ContainerFigure contentFigure;
- protected Label label;
- protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
- protected CenteredIconFigure centeredIconFigure;
- protected RectangleFigure preceedingSpace;
- protected ContainerFigure contentPane;
-
- public XSDComplexTypeDefinition getXSDComplexTypeDefinition()
- {
- return (XSDComplexTypeDefinition)getModel();
- }
-
- protected boolean isConnectedEditPart()
- {
- return false;
- }
-
- protected GraphNodeFigure createGraphNodeFigure()
- {
- XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)getModel();
- GraphNodeFigure figure = new GraphNodeFigure();
-
- figure.getOutlinedArea().setBorder(new RoundedLineBorder(1, 6));
- figure.getOutlinedArea().setFill(true);
- figure.getOutlinedArea().setLayoutManager(new FillLayout(true));
-
- figure.getInnerContentArea().getContainerLayout().setHorizontal(true);
-
- preceedingSpace = new RectangleFigure();
- preceedingSpace.setVisible(false);
- figure.getInnerContentArea().add(preceedingSpace, 0);
-
- contentPane = new ContainerFigure();
- contentPane.getContainerLayout().setHorizontal(false);
- contentPane.getContainerLayout().setSpacing(5);
- contentPane.setBorder(new MarginBorder(5, 5, 5, 5));
- figure.getInnerContentArea().add(contentPane);
-
- label = new Label();
- label.setBorder(new MarginBorder(0, 5, 5, 5));
- figure.getIconArea().add(label);
- label.setFont(mediumBoldFont);
-
- figure.getInnerContentArea().getContainerLayout().setSpacing(5);
- figure.getInnerContentArea().setBorder(new MarginBorder(5, 5, 5, 5));
-
- return figure;
- }
-
- protected EditPart createChild(Object model)
- {
- EditPart editPart = null;
- if (model == getModel())
- {
- editPart = new ComplexTypeInheritedContentEditPart();
- editPart.setModel(model);
- editPart.setParent(this);
- }
- else
- {
- editPart = super.createChild(model);
- }
- return editPart;
- }
-
- protected List getModelChildren()
- {
- List list = new ArrayList();
-
- XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)getModel();
-
- if (ct.getDerivationMethod().getName().equals("extension"))
- {
- list.add(getModel());
- }
-
- list.addAll(XSDChildUtility.getModelChildren(getModel()));
- return list;
- }
-
- public IFigure getContentPane()
- {
- return contentPane;
- }
-
- protected void refreshVisuals()
- {
- XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)getModel();
-
- String name = ctd.getName();
- if (name == null)
- {
- try
- {
- if (label != null)
- {
- graphNodeFigure.getIconArea().remove(label);
- }
- label = null;
- }
- catch (Exception e)
- {
- }
- }
- else
- {
- if (label == null)
- {
- label = new Label();
- label.setBorder(new MarginBorder(0, 5, 5, 5));
- ((GraphNodeFigure)getFigure()).getIconArea().add(label);
- label.setFont(mediumBoldFont);
- }
- graphNodeFigure.getIconArea().add(label);
- label.setText(name);
- }
-
- // provides some room if we need to draw lines for the inherited
- boolean includesInheritedContent = getModelChildren().contains(getModel());
- preceedingSpace.setPreferredSize(includesInheritedContent ? new Dimension(10, 1) : new Dimension(0, 0));
-
- if (XSDGraphUtil.isEditable(getModel()))
- {
- graphNodeFigure.setForegroundColor(isSelected ? ColorConstants.black : elementBorderColor);
- if (label != null)
- label.setForegroundColor(elementBorderColor);
- }
- else
- {
- graphNodeFigure.setForegroundColor(isSelected ? ColorConstants.black : readOnlyBorderColor);
- if (label != null)
- label.setForegroundColor(readOnlyBorderColor);
- }
- }
-
- protected void performDirectEdit()
- {
- ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, (XSDComplexTypeDefinition)getModel());
- simpleDirectEditPolicy.setDelegate(manager);
- manager.show();
- }
-
-
- protected void createEditPolicies()
- {
- super.createEditPolicies();
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
- }
-
-
- public void performRequest(Request request)
- {
- if (request.getType() == RequestConstants.REQ_DIRECT_EDIT ||
- request.getType() == RequestConstants.REQ_OPEN)
- {
- if (XSDGraphUtil.isEditable(getModel()))
- {
- LocationRequest locationRequest = (LocationRequest)request;
- Point p = locationRequest.getLocation();
-
- if (label != null && hitTest(label, p))
- {
- performDirectEdit();
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeInheritedContentEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeInheritedContentEditPart.java
deleted file mode 100644
index afeebc1bc2..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeInheritedContentEditPart.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-
-// This is a dashed box that displays the inherited content of a complex type
-//
-public class ComplexTypeInheritedContentEditPart extends BaseEditPart
-{
- protected Label label;
- protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
- protected boolean isParentExpanded;
-
- public ComplexTypeInheritedContentEditPart()
- {
- super();
- }
-
- public XSDComplexTypeDefinition getXSDComplexTypeDefinition()
- {
- return (XSDComplexTypeDefinition)getModel();
- }
-
- protected IFigure createFigure()
- {
- ContainerFigure figure = new ContainerFigure();
- figure.getContainerLayout().setHorizontal(false);
- figure.getContainerLayout().setBorder(5);
- figure.getContainerLayout().setSpacing(5);
- figure.setBorder(new RoundedLineBorder(ColorConstants.gray, 1, 6, Graphics.LINE_DASH));
- return figure;
- }
-
- protected List getModelChildren()
- {
- XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)getModel();
-
- List list = new ArrayList();
-
- if (ct.getDerivationMethod().getName().equals("extension") && !isParentExpanded)
- {
- XSDTypeDefinition type = ct.getBaseTypeDefinition();
- Iterator iter = XSDChildUtility.getModelChildren(type).iterator();
- boolean cont = true;
- while (cont)
- {
- while (iter.hasNext())
- {
- list.add(0, iter.next());
- }
-
- if (type instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)type;
- type = ctd.getBaseTypeDefinition();
-
- // defect 264957 - workbench hangs when modifying complex content
- // Since we don't filter out the current complexType from
- // the combobox, we can potentially have an endless loop
- if (ctd == type)
- {
- cont = false;
- break;
- }
-
- if (ctd.getDerivationMethod().getName().equals("extension"))
- {
- iter = XSDChildUtility.getModelChildren(type).iterator();
- }
- else
- {
- cont = false;
- }
- }
- else
- {
- cont = false;
- }
- }
- }
- return list;
- }
-
- protected void refreshVisuals()
- {
- XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)getModel();
- List children = getModelChildren();
- figure.setVisible(children.size() > 0);
- // todo set preferredSize to 0 ?
- }
-
- protected void performDirectEdit()
- {
- ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, (XSDComplexTypeDefinition)getModel());
- simpleDirectEditPolicy.setDelegate(manager);
- manager.show();
- }
-
-
- protected void createEditPolicies()
- {
- super.createEditPolicies();
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
- }
-
-
- public void performRequest(Request request)
- {
- if (request.getType() == RequestConstants.REQ_DIRECT_EDIT)
- {
- if (XSDGraphUtil.isEditable(getModel()))
- {
- performDirectEdit();
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComponentViewerRootEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComponentViewerRootEditPart.java
deleted file mode 100644
index fa8d191fd4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComponentViewerRootEditPart.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Panel;
-import org.eclipse.gef.EditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerLayout;
-
-
-
-public class ComponentViewerRootEditPart extends BaseEditPart
-{
- protected final static String MESSAGE_PLACE_HOLDER = "MESSAGE_PLACE_HOLDER";
- protected Object input;
-
- public void setInput(Object input)
- {
- this.input = input;
- refreshChildren();
- }
-
- protected IFigure createFigure()
- {
- Panel panel = new Panel();
- ContainerLayout layout = new ContainerLayout();
- layout.setBorder(60);
- panel.setLayoutManager(layout);
- return panel;
- }
-
-
- protected List getModelChildren()
- {
- List list = new ArrayList();
- if (input != null)
- {
- list.add(input);
- }
- else
- {
- list.add(MESSAGE_PLACE_HOLDER);
- }
- return list;
- }
-
- protected EditPart createChild(Object model)
- {
- EditPart editPart = null;
- if (model == MESSAGE_PLACE_HOLDER)
- {
- editPart = new MessageEditPart();
- editPart.setModel(model);
- }
- else
- {
- editPart = super.createChild(model);
- }
- return editPart;
- }
-
- protected void createEditPolicies()
- {
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ElementDeclarationEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ElementDeclarationEditPart.java
deleted file mode 100644
index 974d97b611..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ElementDeclarationEditPart.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.SpacingFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDSubstitutionGroupChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDSubstitutionGroupsViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComboBoxCellEditorManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.TypeReferenceDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ExpandableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-
-
-public class ElementDeclarationEditPart extends ExpandableGraphNodeEditPart
-{
- public Label label;
- protected Label contentIconLabel;
- protected Label typeValueLabel;
- protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
- protected boolean isContentIconLabelSelected = false;
-
- protected final static String ELEMENT_TYPE_PLACE_HOLDER = "ELEMENT_TYPE_PLACE_HOLDER";
-
- public XSDParticle getXSDParticle()
- {
- Object o = getXSDElementDeclaration().getContainer();
- return (o instanceof XSDParticle) ? (XSDParticle)o : null;
- }
-
- public XSDElementDeclaration getXSDElementDeclaration()
- {
- return (XSDElementDeclaration)getModel();
- }
-
- protected boolean isDefaultExpanded()
- {
- // hack to expand up to its content. The previous test didn't appear to work
- int depth = 0;
- for (EditPart part = this; part != null; part = part.getParent())
- {
- depth++;
- }
- return depth <= 3;
- }
-
- protected GraphNodeFigure createGraphNodeFigure()
- {
- ExpandableGraphNodeFigure figure = new ExpandableGraphNodeFigure();
-
- figure.getOutlinedArea().setFill(true);
- figure.getOutlinedArea().setLayoutManager(new FillLayout());
-
- label = new Label();
- figure.getIconArea().add(label);
- label.setFont(mediumBoldFont);
-
- SpacingFigure spacingFigure = new SpacingFigure();
- figure.getIconArea().add(spacingFigure);
-
- contentIconLabel = new Label();
- //contentIcon.setBorder(new MarginBorder(2, 2, 2, 10));
- figure.getIconArea().add(contentIconLabel);
-
- // A sneaky null check.... getViewer() does a getRoot(), but getRoot() might be null
- // same with getParent()
- if (getParent() != null && getRoot() != null && getViewer() instanceof XSDSubstitutionGroupsViewer)
- {
- figure.getOuterContentArea().getContainerLayout().setSpacing(5);
- }
- else
- {
- RectangleFigure line = new RectangleFigure();
- line.setPreferredSize(20, 1);
- figure.getOutlinedArea().add(line, 1);
-
- figure.getInnerContentArea().setLayoutManager(new FillLayout(2));
- figure.getInnerContentArea().setBorder(new MarginBorder(2,2,2,1));
-
- ContainerFigure labelGroup = new ContainerFigure();
- Label typeLabel = new Label("type");
- labelGroup.add(typeLabel);
- labelGroup.setBorder(new MarginBorder(0, 4, 0, 4));
-
- Label equalsLabel = new Label(" = ");
- labelGroup.add(equalsLabel);
-
- typeValueLabel = new Label();
- labelGroup.add(typeValueLabel);
- figure.getOutlinedArea().add(labelGroup, 2);
- }
- return figure;
- }
-
- protected ExpandableGraphNodeFigure getExpandableGraphNodeFigure()
- {
- return (ExpandableGraphNodeFigure)graphNodeFigure;
- }
-
- protected List getModelChildren()
- {
- XSDTypeDefinition typeDef = getXSDElementDeclaration().getTypeDefinition();
-
- // Special case simple type. Need to add it to the list as well
- List list = new ArrayList();
- if (typeDef instanceof XSDSimpleTypeDefinition)
- {
- list.add((XSDSimpleTypeDefinition)typeDef);
- if (getExpandableGraphNodeFigure().isExpanded())
- {
- list.addAll(getModelChildrenHelper());
- }
- return list;
- }
- return getExpandableGraphNodeFigure().isExpanded() ? getModelChildrenHelper() : Collections.EMPTY_LIST;
- }
-
- protected List getModelChildrenHelper()
- {
- if (getViewer() instanceof XSDSubstitutionGroupsViewer)
- {
- return XSDSubstitutionGroupChildUtility.getModelChildren(getXSDElementDeclaration().getResolvedElementDeclaration());
- }
- else
- {
- return XSDChildUtility.getModelChildren(getXSDElementDeclaration().getResolvedElementDeclaration());
- }
- }
-
- protected void refreshContentIcon()
- {
- String iconName = null;
- XSDTypeDefinition td = getXSDElementDeclaration().getResolvedElementDeclaration().getTypeDefinition();
-
- if (td instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition complexTypeDefinition = (XSDComplexTypeDefinition)td;
- if (complexTypeDefinition.getAttributeUses().size() > 0)
- {
- iconName = "icons/XSDAttribute.gif";
- }
- }
- Image image = iconName != null ? XSDEditorPlugin.getXSDImage(iconName) : null;
- contentIconLabel.setIcon(image);
- }
-
- protected void refreshVisuals()
- {
- String text = getXSDElementDeclaration().isElementDeclarationReference() ?
- getXSDElementDeclaration().getResolvedElementDeclaration().getQName(getXSDElementDeclaration().getSchema()) :
- getXSDElementDeclaration().getName();
-
- label.setText(text);
-
- ContainerFigure rectangle = graphNodeFigure.getOutlinedArea();
- if (XSDGraphUtil.isEditable(getXSDElementDeclaration()))
- {
- rectangle.setBorder(new LineBorder(isSelected ? ColorConstants.black : elementBorderColor, 2));
- rectangle.setBackgroundColor(elementBackgroundColor);
- rectangle.setForegroundColor(elementBorderColor);
-
- graphNodeFigure.getInnerContentArea().setForegroundColor(ColorConstants.black);
- if (XSDGraphUtil.isEditable(getXSDElementDeclaration().getResolvedElementDeclaration()))
- {
- // give label 'editable' colour
- graphNodeFigure.getInnerContentArea().setForegroundColor(elementLabelColor);
- }
- else
- {
- // give label 'read only' colour
- graphNodeFigure.getInnerContentArea().setForegroundColor(elementBorderColor);
- }
- label.setBackgroundColor(elementBackgroundColor);
- label.setForegroundColor(elementLabelColor);
- }
- else
- {
- rectangle.setBorder(new LineBorder(isSelected ? ColorConstants.black : readOnlyBorderColor, 2));
- rectangle.setBackgroundColor(readOnlyBackgroundColor);
- rectangle.setForegroundColor(readOnlyBorderColor);
- graphNodeFigure.getInnerContentArea().setForegroundColor(readOnlyBorderColor);
- label.setBackgroundColor(readOnlyBackgroundColor);
- }
-
- if (getXSDElementDeclaration().isElementDeclarationReference())
- {
- label.setIcon(XSDEditorPlugin.getXSDImage("icons/GraphViewElementRef.gif"));
- label.setBorder(new MarginBorder(0, 0, 0, 4));
- }
- else
- {
- label.setIcon(null);
- label.setBorder(new MarginBorder(0, 6, 0, 4));
- }
-
- if (getXSDParticle() != null)
- {
- refreshOccurenceLabel(getXSDParticle().getMinOccurs(), getXSDParticle().getMaxOccurs());
- }
-
-
- if (typeValueLabel != null)
- {
- XSDElementDeclaration ed = getXSDElementDeclaration();
- if (ed.getElement() != null)
- {
- String type = ed.getElement().getAttribute("type");
- if (type == null)
- {
- type = "";
- }
- if (!getXSDElementDeclaration().isElementDeclarationReference())
- {
- typeValueLabel.setText(type.equals("") ? "<anonymous>" : type);
- }
- else // if it is a ref, we show the resolved type
- {
- String resolvedType = "";
- if (ed.getResolvedElementDeclaration() != null)
- {
- if (ed.getResolvedElementDeclaration().getTypeDefinition() != null)
- {
- resolvedType = ed.getResolvedElementDeclaration().getTypeDefinition().getQName(ed.getSchema());
-
- // if null, it has an anonymous type that has no resolved type
- if (resolvedType == null)
- {
- resolvedType = "<anonymous>";
- }
- }
- }
- typeValueLabel.setText(resolvedType);
- }
- }
- }
- refreshContentIcon();
- }
-
-
- public void performRequest(Request request)
- {
- if (request.getType() == RequestConstants.REQ_DIRECT_EDIT ||
- request.getType() == RequestConstants.REQ_OPEN)
- {
- if (XSDGraphUtil.isEditable(getXSDElementDeclaration()))
- {
- if (request instanceof LocationRequest)
- {
- LocationRequest locationRequest = (LocationRequest)request;
- Point p = locationRequest.getLocation();
- isContentIconLabelSelected = false;
-
- if (hitTest(label, p))
- {
- performDirectEditForLabel();
- }
- else if (hitTest(typeValueLabel, p))
- {
- performDirectEditForTypeValueLabel();
- }
- }
- }
- }
- }
-
- private void performDirectEditForTypeValueLabel()
- {
- if (!getXSDElementDeclaration().isElementDeclarationReference())
- {
- TypeReferenceDirectEditManager manager = new TypeReferenceDirectEditManager(this, getXSDElementDeclaration(), typeValueLabel);
- simpleDirectEditPolicy.setDelegate(manager);
- manager.show();
- }
- // just ignore type edit for element ref's
- }
-
-
- private void performDirectEditForLabel()
- {
- if (getXSDElementDeclaration().isElementDeclarationReference())
- {
- ComboBoxCellEditorManager manager = new ComboBoxCellEditorManager(this, label)
- {
- protected List computeComboContent()
- {
- XSDSchema schema = getXSDElementDeclaration().getSchema();
- List globalElementNameList = new ArrayList();
- if (schema != null)
- {
- TypesHelper typesHelper = new TypesHelper(schema);
- globalElementNameList = typesHelper.getGlobalElements();
- }
- return globalElementNameList;
- }
-
- public void performModify(String value)
- {
- getXSDElementDeclaration().getElement().setAttribute("ref", value);
- }
- };
- simpleDirectEditPolicy.setDelegate(manager);
- manager.show();
- }
- else
- {
- ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, getXSDElementDeclaration());
- simpleDirectEditPolicy.setDelegate(manager);
- manager.show();
- }
- }
-
-
- protected void createEditPolicies()
- {
- super.createEditPolicies();
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
- }
-
-
- public void activate()
- {
- super.activate();
- if (getXSDParticle() != null)
- {
- XSDModelAdapterFactory.addModelAdapterListener(getXSDParticle(), this);
- }
- }
- /**
- * Apart from the deactivation done in super, the source
- * and target connections are deactivated, and the visual
- * part of the this is removed.
- *
- * @see #activate()
- */
- public void deactivate()
- {
- if (getXSDParticle() != null)
- {
- XSDModelAdapterFactory.removeModelAdapterListener(getXSDParticle(), this);
- }
- super.deactivate();
- }
-
- public boolean isContentIconLabelSelected()
- {
- return isContentIconLabelSelected;
- }
-
- protected void addChildVisual(EditPart childEditPart, int index)
- {
- IFigure child = ((GraphicalEditPart)childEditPart).getFigure();
- if (childEditPart instanceof SimpleTypeDefinitionEditPart)
- {
- graphNodeFigure.getIconArea().add(child, index+ 1);
- SpacingFigure spacingFigure = new SpacingFigure();
- graphNodeFigure.getIconArea().add(spacingFigure, index+1);
- }
- else
- {
- getContentPane().add(child, index);
- }
- }
-
- protected void removeChildVisual(EditPart childEditPart)
- {
- IFigure child = ((GraphicalEditPart)childEditPart).getFigure();
- if (childEditPart instanceof SimpleTypeDefinitionEditPart)
- {
- graphNodeFigure.getIconArea().remove(child);
- }
- else
- {
- super.removeChildVisual(childEditPart);
- }
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ExpandableGraphNodeEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ExpandableGraphNodeEditPart.java
deleted file mode 100644
index 1ad4057fed..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ExpandableGraphNodeEditPart.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.ActionEvent;
-import org.eclipse.draw2d.ActionListener;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.MouseEvent;
-import org.eclipse.draw2d.MouseListener;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ExpandableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-
-
-
-public abstract class ExpandableGraphNodeEditPart extends RepeatableGraphNodeEditPart implements MouseListener, ActionListener
-{
- protected boolean needToPerformDefaultExpansion = true;
-
- protected GraphNodeFigure createGraphNodeFigure()
- {
- return new ExpandableGraphNodeFigure();
- }
-
- protected void addGraphNodeFigureListeners()
- {
- getExpandableGraphNodeFigure().getInteractor().addMouseListener(this);
- }
-
- protected ExpandableGraphNodeFigure getExpandableGraphNodeFigure()
- {
- return (ExpandableGraphNodeFigure)graphNodeFigure;
- }
-
- public IFigure getContentPane()
- {
- return getExpandableGraphNodeFigure().getOuterContentArea();
- }
-
- protected boolean isDefaultExpanded()
- {
- return false;
- }
-
- protected boolean hasChildren()
- {
- return getModelChildrenHelper().size() > 0;
- }
-
- protected abstract List getModelChildrenHelper();
-
-
- protected List getModelChildren()
- {
- return getExpandableGraphNodeFigure().isExpanded() ? getModelChildrenHelper() : Collections.EMPTY_LIST;
- }
-
- protected void refreshChildren()
- {
- if (needToPerformDefaultExpansion && isDefaultExpanded())
- {
- needToPerformDefaultExpansion = false;
- performExpandOrCollapseHelper();
-
- super.refreshChildren();
-
- EditPart root = getRoot();
- if (root instanceof AbstractGraphicalEditPart)
- {
- getContentPane().setVisible(true);
-
- IFigure rootFigure = ((AbstractGraphicalEditPart)root).getFigure();
- invalidateAll(rootFigure);
- rootFigure.validate();
- rootFigure.repaint();
- }
- getExpandableGraphNodeFigure().getInteractor().repaint();
- }
- else
- {
- super.refreshChildren();
- }
- getExpandableGraphNodeFigure().getInteractor().setVisible(hasChildren());
- }
-
-
- protected void performExpandOrCollapseHelper()
- {
- boolean isButtonExpanded = !getExpandableGraphNodeFigure().isExpanded();
- getExpandableGraphNodeFigure().setExpanded(isButtonExpanded);
- }
-
- public void doPerformExpandOrCollapse()
- {
- performExpandOrCollapse();
- }
-
- public boolean isExpanded()
- {
- return getExpandableGraphNodeFigure().isExpanded();
- }
-
- protected void performExpandOrCollapse()
- {
- performExpandOrCollapseHelper();
-
- boolean isButtonExpanded = getExpandableGraphNodeFigure().isExpanded();
-
- refreshChildren();
-
- EditPart root = getRoot();
- if (root instanceof AbstractGraphicalEditPart)
- {
- getContentPane().setVisible(isButtonExpanded);
-
- IFigure rootFigure = ((AbstractGraphicalEditPart)root).getFigure();
- invalidateAll(rootFigure);
- rootFigure.validate();
- rootFigure.repaint();
- }
- getExpandableGraphNodeFigure().getInteractor().repaint();
- }
-
-
- protected void refreshOccurenceLabel(int min, int max)
- {
- super.refreshOccurenceLabel(min, max);
-
- // TODO: revisit the 'hack' to understand why we need to do this
- // in order to get the view to layout propetly
- //
- IFigure thisFigure = getFigure();
- invalidateAll(thisFigure);
- thisFigure.validate();
- thisFigure.repaint();
- }
-
- protected void invalidateAll(IFigure figure)
- {
- figure.invalidate();
- LayoutManager manager = figure.getLayoutManager();
- if (manager != null)
- {
- manager.invalidate();
- }
- for (Iterator i = figure.getChildren().iterator(); i.hasNext(); )
- {
- IFigure child = (IFigure)i.next();
- invalidateAll(child);
- }
- }
-
-
- // implements MouseListener
- //
- public void mouseDoubleClicked(MouseEvent me)
- {
- }
-
- public void mousePressed(MouseEvent me)
- {
- me.consume();
- needToPerformDefaultExpansion = false;
- performExpandOrCollapse();
- }
-
- public void mouseReleased(MouseEvent me)
- {
- }
-
- public void actionPerformed(ActionEvent event)
- {
- performExpandOrCollapse();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/GraphNodeEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/GraphNodeEditPart.java
deleted file mode 100644
index ce6ad0a9cb..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/GraphNodeEditPart.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.ConnectedEditPartFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.GraphNodeDragTracker;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-
-
-
-public abstract class GraphNodeEditPart extends BaseEditPart
-{
- protected GraphNodeFigure graphNodeFigure;
- protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
-
- protected boolean isConnectedEditPart()
- {
- return true;
- }
-
- protected IFigure createFigure()
- {
- IFigure result = graphNodeFigure = createGraphNodeFigure();
- addGraphNodeFigureListeners();
-
- if (isConnectedEditPart())
- {
- ConnectedEditPartFigure connectedEditPartFigure = createConnectedEditPartFigure();
- connectedEditPartFigure.add(graphNodeFigure);
- result = connectedEditPartFigure;
- }
- return result;
- }
-
- protected ConnectedEditPartFigure createConnectedEditPartFigure()
- {
- ConnectedEditPartFigure connectedEditPartFigure = new ConnectedEditPartFigure(this)
- {
- public IFigure getSelectionFigure()
- {
- return graphNodeFigure.getOutlinedArea();
- }
-
- public IFigure getConnectionFigure()
- {
- return graphNodeFigure.getConnectionFigure();
- }
- };
- return connectedEditPartFigure;
- }
-
- protected abstract GraphNodeFigure createGraphNodeFigure();
-
- protected void addGraphNodeFigureListeners()
- {
- }
-
- public IFigure getSelectionFigure()
- {
- return graphNodeFigure.getOutlinedArea();
- }
-
- public Rectangle getConnectionRectangle()
- {
- return graphNodeFigure.getConnectionRectangle();
- }
-
- protected void createEditPolicies()
- {
- //installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new NonResizableEditPolicy());
- selectionHandlesEditPolicy = new SelectionHandlesEditPolicyImpl();
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, selectionHandlesEditPolicy);
- }
-
- public DragTracker getDragTracker(Request request)
- {
- return new GraphNodeDragTracker((EditPart)this);
- }
-
- protected EditPart getApplicableEditPart(EditPart editPart, Point p)
- {
- while (true)
- {
- EditPart parent = null;
- if (editPart instanceof GraphNodeEditPart)
- {
- IFigure f = ((GraphNodeEditPart)editPart).getSelectionFigure();
- if (!hitTest(f, p))
- {
- parent = editPart.getParent();
- }
- }
-
- if (parent != null)
- {
- editPart = parent;
- }
- else
- {
- break;
- }
- }
- return editPart;
- }
-
- public EditPart getTargetEditPart(Request request)
- {
- EditPart editPart = null;
- if (request.getType() == REQ_SELECTION)
- {
- if (request instanceof LocationRequest)
- {
- LocationRequest locationRequest = (LocationRequest)request;
- Point p = locationRequest.getLocation();
- editPart = getApplicableEditPart(this, p);
- }
- }
- return (editPart != null) ? editPart : super.getTargetEditPart(request);
- }
-
- public boolean hitTest(IFigure target, Point location)
- {
- Rectangle b = target.getBounds().getCopy();
- target.translateToAbsolute(b);
- return b.contains(location);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/IFeedbackHandler.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/IFeedbackHandler.java
deleted file mode 100644
index 24a05377c7..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/IFeedbackHandler.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-public interface IFeedbackHandler
-{
- public void addFeedback();
- public void removeFeedback();
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/MessageEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/MessageEditPart.java
deleted file mode 100644
index bbb7f92dd2..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/MessageEditPart.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-
-
-
-public class MessageEditPart extends BaseEditPart
-{
- public MessageEditPart()
- {
- }
-
- protected IFigure createFigure()
- {
- Label label = new Label(XSDEditorPlugin.getXSDString("_UI_GRAPH_VIEW_NOT_AVAILABLE"));
- return label;
- }
-
- protected List getModelChildren()
- {
- return Collections.EMPTY_LIST;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupDefinitionEditPart.java
deleted file mode 100644
index 8ccdfec543..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupDefinitionEditPart.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComboBoxCellEditorManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RepeatableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-
-
-public class ModelGroupDefinitionEditPart extends RepeatableGraphNodeEditPart
-{
- protected Label label;
- protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
-
- public XSDModelGroupDefinition getXSDModelGroupDefinition()
- {
- return (XSDModelGroupDefinition)getModel();
- }
-
- protected boolean isConnectedEditPart()
- {
- return false;
- }
-
- public XSDParticle getXSDParticle()
- {
- Object o = getXSDModelGroupDefinition().getContainer();
- return (o instanceof XSDParticle) ? (XSDParticle)o : null;
- }
-
- protected GraphNodeFigure createGraphNodeFigure()
- {
- RepeatableGraphNodeFigure figure = new RepeatableGraphNodeFigure();
- figure.getOutlinedArea().setBorder(new RoundedLineBorder(1, 6));
- figure.getInnerContentArea().setBorder(new MarginBorder(10, 0, 10, 0));
-
- label = new Label();
- label.setFont(mediumBoldFont);
- figure.getIconArea().add(label);
-
-
- return figure;
- }
-
- public IFigure getContentPane()
- {
- return graphNodeFigure.getInnerContentArea();
- }
-
- protected List getModelChildren()
- {
- return XSDChildUtility.getModelChildren(getModel());
- }
-
- protected void createEditPolicies()
- {
- super.createEditPolicies();
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
- }
-
- protected void refreshVisuals()
- {
- super.refreshVisuals();
-
- if (getXSDModelGroupDefinition().isModelGroupDefinitionReference())
- {
- label.setText(getXSDModelGroupDefinition().getResolvedModelGroupDefinition().getQName());
- label.setIcon(XSDEditorPlugin.getXSDImage("icons/GraphViewElementRef.gif"));
- label.setBorder(new MarginBorder(0, 0, 0, 4));
-
- // todo update occurence label
- //
- }
- else
- {
- label.setText(getXSDModelGroupDefinition().getName());
- label.setIcon(null);
- label.setBorder(new MarginBorder(0, 6, 0, 4));
- }
-
- if (XSDGraphUtil.isEditable(getModel()))
- {
- graphNodeFigure.getOutlinedArea().setForegroundColor(isSelected ? ColorConstants.black : elementBorderColor);
- label.setForegroundColor(elementLabelColor);
- }
- else
- {
- graphNodeFigure.getOutlinedArea().setForegroundColor(readOnlyBackgroundColor);
- label.setForegroundColor(readOnlyBackgroundColor);
- }
-
- refreshOccurenceLabel(getXSDParticle());
- }
-
-
- protected void performDirectEdit()
- {
- if (getXSDModelGroupDefinition().isModelGroupDefinitionReference())
- {
- ComboBoxCellEditorManager manager = new ComboBoxCellEditorManager(this, label)
- {
- protected List computeComboContent()
- {
- XSDSchema schema = getXSDModelGroupDefinition().getSchema();
- List nameList = new ArrayList();
- if (schema != null)
- {
- TypesHelper typesHelper = new TypesHelper(schema);
- nameList = typesHelper.getModelGroups();
- }
- return nameList;
- }
-
- public void performModify(String value)
- {
- Display.getCurrent().asyncExec(new DelayedModelGroupRenameAction(getXSDModelGroupDefinition(), value));
- }
- };
- simpleDirectEditPolicy.setDelegate(manager);
- manager.show();
- }
- else
- {
- ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, getXSDModelGroupDefinition());
- simpleDirectEditPolicy.setDelegate(manager);
- manager.show();
- }
- }
-
-
- protected class DelayedModelGroupRenameAction implements Runnable
- {
- XSDModelGroupDefinition modelGroupDefinition;
- String value;
-
- DelayedModelGroupRenameAction(XSDModelGroupDefinition modelGroupDefinition, String value)
- {
- this.modelGroupDefinition = modelGroupDefinition;
- this.value = value;
- }
-
- public void run()
- {
- modelGroupDefinition.getElement().setAttribute("ref", value);
- }
- }
-
-
- public void performRequest(Request request)
- {
- if (request.getType() == RequestConstants.REQ_DIRECT_EDIT)
- {
- if (XSDGraphUtil.isEditable(getModel()))
- {
- performDirectEdit();
- }
- }
- }
-
- // TODO... I added this as a quick fix to makesure the title gets redrawn when the groupRef is changed
- // we should probably fix the ModelListenerUtil to fire both call both 'change' methods for the ref property
- //public void modelChildrenChanged()
- //{
- // super.modelChildrenChanged();
- // refreshVisuals();
- //}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupEditPart.java
deleted file mode 100644
index b793ebab46..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupEditPart.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.DragAndDropEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.CenteredIconFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ExpandableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticle;
-
-
-
-public class ModelGroupEditPart extends ExpandableGraphNodeEditPart
-{
- protected CenteredIconFigure centeredIconFigure;
-
- protected static Color editableBackgroundColor = null;
- protected static Color editableForegroundColor = null;
- protected static Color nonEditableForegroundColor = null;
-
- public XSDParticle getXSDParticle()
- {
- Object o = getXSDModelGroup().getContainer();
- return (o instanceof XSDParticle) ? (XSDParticle)o : null;
- }
-
- public XSDModelGroup getXSDModelGroup()
- {
- return (XSDModelGroup)getModel();
- }
-
- protected GraphNodeFigure createGraphNodeFigure()
- {
- ExpandableGraphNodeFigure figure = new ExpandableGraphNodeFigure();
-
- centeredIconFigure = new CenteredIconFigure();
- centeredIconFigure.setPreferredSize(new Dimension(32, 20));
- //centeredIconFigure.setBackgroundColor(new Color(Display.getCurrent(), 255, 0, 0));
- figure.getIconArea().add(centeredIconFigure);
- //figure.getIconArea().setLayout(new CenterLayout());
-
- ContainerFigure outlinedArea = figure.getOutlinedArea();
- outlinedArea.setBorder(new RoundedLineBorder(1, 10));
- //outlinedArea.setPreferredSize(new Dimension(32, 20));
-
- // set layout so that children are aligned vertically with some spacing
- //
- figure.getOuterContentArea().getContainerLayout().setHorizontal(false);
- figure.getOuterContentArea().getContainerLayout().setSpacing(10);
-
- return figure;
- }
-
- protected List getModelChildrenHelper()
- {
- return XSDChildUtility.getModelChildren(getXSDModelGroup());
- }
-
- protected void refreshVisuals()
- {
- String iconName = "icons/XSDSequence.gif";
- switch (getXSDModelGroup().getCompositor().getValue())
- {
- case XSDCompositor.ALL : { iconName = "icons/XSDAll.gif"; break; }
- case XSDCompositor.CHOICE : { iconName = "icons/XSDChoice.gif"; break; }
- case XSDCompositor.SEQUENCE : { iconName = "icons/XSDSequence.gif"; break; }
- }
- centeredIconFigure.image = XSDEditorPlugin.getXSDImage(iconName);
- centeredIconFigure.repaint();
-
-
- ContainerFigure outlinedArea = graphNodeFigure.getOutlinedArea() ;
- if (XSDGraphUtil.isEditable(getXSDModelGroup()))
- {
- if (editableForegroundColor == null)
- editableForegroundColor = new Color(Display.getCurrent(), 120, 152, 184);
-
- if (editableBackgroundColor == null)
- editableBackgroundColor = new Color(Display.getCurrent(), 232, 240, 248);
-
- outlinedArea.setForegroundColor(isSelected ? ColorConstants.black : editableForegroundColor);
- outlinedArea.setBackgroundColor(editableBackgroundColor);
- }
- else
- {
- if (nonEditableForegroundColor == null)
- nonEditableForegroundColor = new Color(Display.getCurrent(), 164, 164, 164);
-
- outlinedArea.setForegroundColor(isSelected ? ColorConstants.black : nonEditableForegroundColor);
- outlinedArea.setBackgroundColor(ColorConstants.white);
- }
-
- refreshOccurenceLabel(getXSDParticle());
- }
-
- protected boolean isChildLayoutHorizontal()
- {
- return false;
- }
-
- protected boolean isDefaultExpanded()
- {
- return isPossibleCycle() ? false : true;
- }
-
- // This test ensures that we don't end up with an infinite default expansion (e.g. when a group contains a cyclic group ref)
- // TODO... we probably need some more extensible 'OO' way of computing this information
- protected boolean isPossibleCycle()
- {
- boolean result = false;
- if (getParent() instanceof ModelGroupDefinitionEditPart)
- {
- ModelGroupDefinitionEditPart group = (ModelGroupDefinitionEditPart)getParent();
- for (EditPart parent = group.getParent(); parent != null; parent = parent.getParent())
- {
- if (parent.getModel() instanceof ElementDeclarationEditPart)
- {
- break;
- }
- else
- {
- if (parent.getModel() == group.getModel())
- {
- result = true;
- break;
- }
- }
- }
- }
- return result;
- }
-
- protected void createEditPolicies()
- {
- super.createEditPolicies();
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new DragAndDropEditPolicy(getViewer(), selectionHandlesEditPolicy));
- }
-
- public void activate()
- {
- super.activate();
- if (getXSDParticle() != null)
- {
- XSDModelAdapterFactory.addModelAdapterListener(getXSDParticle(), this);
- }
- }
- /**
- * Apart from the deactivation done in super, the source
- * and target connections are deactivated, and the visual
- * part of the this is removed.
- *
- * @see #activate()
- */
- public void deactivate()
- {
- if (getXSDParticle() != null)
- {
- XSDModelAdapterFactory.removeModelAdapterListener(getXSDParticle(), this);
- }
- super.deactivate();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RepeatableGraphNodeEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RepeatableGraphNodeEditPart.java
deleted file mode 100644
index 6fdf7d61ca..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RepeatableGraphNodeEditPart.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.DragAndDropEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RepeatableGraphNodeFigure;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-
-
-
-public class RepeatableGraphNodeEditPart extends GraphNodeEditPart
-{
- protected RepeatableGraphNodeFigure getRepeatableGraphNodeFigure()
- {
- return (RepeatableGraphNodeFigure)graphNodeFigure;
- }
-
- protected GraphNodeFigure createGraphNodeFigure()
- {
- return new RepeatableGraphNodeFigure();
- }
-
- protected void refreshOccurenceLabel(XSDParticle particle)
- {
- if (particle != null)
- {
- refreshOccurenceLabel(particle.getMinOccurs(), particle.getMaxOccurs());
- }
- }
-
- protected void refreshOccurenceLabel(int min, int max)
- {
- if (min == 1 && max == 1)
- {
- getRepeatableGraphNodeFigure().getOccurenceLabel().setText("");
- }
- else
- {
- String maxString = max == -1 ? "*" : "" + max;
- getRepeatableGraphNodeFigure().getOccurenceLabel().setText(min + ".." + maxString);
- }
- getRepeatableGraphNodeFigure().getOccurenceLabel().repaint();
- }
-
- protected void createEditPolicies()
- {
- super.createEditPolicies();
-
- if (getModel() instanceof XSDElementDeclaration) {
- Object parent = ((XSDElementDeclaration) getModel()).eContainer();
-
- if (!(parent instanceof XSDSchema)) {
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new DragAndDropEditPolicy(getViewer(), selectionHandlesEditPolicy));
- }
- }
- else {
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new DragAndDropEditPolicy(getViewer(), selectionHandlesEditPolicy));
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootComplexTypeDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootComplexTypeDefinitionEditPart.java
deleted file mode 100644
index 853a2dfa19..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootComplexTypeDefinitionEditPart.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.List;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDInheritanceViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ExpandableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-
-
-
-public class RootComplexTypeDefinitionEditPart extends ExpandableGraphNodeEditPart
-{
- public Label label;
- protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
-
-
- protected GraphNodeFigure createGraphNodeFigure()
- {
- ExpandableGraphNodeFigure figure = new ExpandableGraphNodeFigure();
- figure.getOutlinedArea().setBorder(new RoundedLineBorder(1, 6));
- figure.getOutlinedArea().setLayoutManager(new FillLayout());
- figure.getOutlinedArea().setFill(true);
-
- if (getViewer() instanceof XSDInheritanceViewer)
- {
- figure.getOuterContentArea().getContainerLayout().setSpacing(10);
- }
-
- label = new Label();
- label.setFont(mediumBoldFont);
- label.setBorder(new MarginBorder(5, 8, 5, 8));
- figure.getIconArea().add(label);
-
- return figure;
- }
-
-
- protected void refreshVisuals()
- {
- super.refreshVisuals();
-
- XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)getModel();
- label.setText(ctd.getName() != null ? ctd.getName(): "");
-
- if (XSDGraphUtil.isEditable(ctd))
- {
- figure.setForegroundColor(elementBorderColor);
- label.setForegroundColor(elementBorderColor);
- }
- else
- {
- figure.setForegroundColor(readOnlyBorderColor);
- label.setForegroundColor(readOnlyBorderColor);
- }
- }
-
-
- protected List getModelChildrenHelper()
- {
- XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)getModel();
- if (getViewer() instanceof XSDInheritanceViewer)
- {
- return XSDChildUtility.getImmediateDerivedTypes(ct);
- }
- else
- {
- return XSDChildUtility.getModelChildren(getModel());
- }
- }
-
-
- protected void createEditPolicies()
- {
- SelectionHandlesEditPolicyImpl policy = new SelectionHandlesEditPolicyImpl();
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, policy);
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
- }
-
-
- protected void performDirectEdit()
- {
- ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, (XSDComplexTypeDefinition)getModel());
- simpleDirectEditPolicy.setDelegate(manager);
- manager.show();
- }
-
-
- public void performRequest(Request request)
- {
- if (request.getType() == RequestConstants.REQ_DIRECT_EDIT)
- {
- if (XSDGraphUtil.isEditable(getModel()))
- {
- performDirectEdit();
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootModelGroupDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootModelGroupDefinitionEditPart.java
deleted file mode 100644
index 35f4486708..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootModelGroupDefinitionEditPart.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.List;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ExpandableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-
-
-public class RootModelGroupDefinitionEditPart extends ExpandableGraphNodeEditPart
-{
- public Label label;
- protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
-
-
- protected GraphNodeFigure createGraphNodeFigure()
- {
- ExpandableGraphNodeFigure figure = new ExpandableGraphNodeFigure();
- figure.getOutlinedArea().setBorder(new RoundedLineBorder(1, 6));
- figure.getOutlinedArea().setLayoutManager(new FillLayout());
- figure.getOutlinedArea().setFill(true);
-
- label = new Label();
- label.setFont(mediumBoldFont);
- label.setBorder(new MarginBorder(5, 8, 5, 8));
- figure.getIconArea().add(label);
-
- return figure;
- }
-
- protected void refreshVisuals()
- {
- super.refreshVisuals();
-
- XSDModelGroupDefinition mgd = (XSDModelGroupDefinition)getModel();
- String name = mgd.getResolvedModelGroupDefinition().getName();
- label.setText(name);
-
- if (XSDGraphUtil.isEditable(getModel()))
- {
- figure.setForegroundColor(elementBorderColor);
- label.setForegroundColor(elementBorderColor);
- }
- else
- {
- figure.setForegroundColor(readOnlyBorderColor);
- label.setForegroundColor(readOnlyBorderColor);
- }
- }
-
- protected List getModelChildrenHelper()
- {
- return XSDChildUtility.getModelChildren(getModel());
- }
-
-
- protected void createEditPolicies()
- {
- SelectionHandlesEditPolicyImpl policy = new SelectionHandlesEditPolicyImpl();
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, policy);
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
- }
-
-
- protected void performDirectEdit()
- {
- ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, ((XSDModelGroupDefinition)getModel()).getResolvedModelGroupDefinition());
- simpleDirectEditPolicy.setDelegate(manager);
- manager.show();
- }
-
-
- public void performRequest(Request request)
- {
- if (request.getType() == RequestConstants.REQ_DIRECT_EDIT)
- {
- if (XSDGraphUtil.isEditable(getModel()))
- {
- performDirectEdit();
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaDirectiveEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaDirectiveEditPart.java
deleted file mode 100644
index c0697d5fc5..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaDirectiveEditPart.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.CenteredIconFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.xsd.XSDSchemaDirective;
-
-
-public class SchemaDirectiveEditPart extends BaseEditPart
-{
- protected CenteredIconFigure centeredIconFigure;
- protected Label label;
- /**
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
- */
- protected IFigure createFigure()
- {
-
- ContainerFigure figure = new ContainerFigure();
-
- figure.setLayoutManager(new FillLayout());
- figure.setBorder(new RoundedLineBorder(1, 8));
-
- ContainerFigure fig = new ContainerFigure();
- fig.setLayoutManager(new FillLayout());
- fig.setBorder(new MarginBorder(10, 0, 10, 0));
- figure.add(fig);
-
-
- label = new Label();
- label.setBorder(new MarginBorder(4, 2, 2, 10));
- fig.add(label);
-
- return figure;
- }
-
- public void refreshVisuals()
- {
- XSDSchemaDirective directive = (XSDSchemaDirective)getModel();
- String schemaLocation = directive.getSchemaLocation();
- if (schemaLocation == null) schemaLocation = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED") + ")";
- if (schemaLocation.equals("")) schemaLocation = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED") + ")";
- label.setText(" " + directive.getElement().getLocalName() + " " + schemaLocation);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaEditPart.java
deleted file mode 100644
index b23821c3a7..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaEditPart.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gef.EditPart;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.GraphicsConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.wst.xsd.ui.internal.graph.model.Category;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-import org.eclipse.xsd.XSDSchema;
-
-public class SchemaEditPart extends BaseEditPart
-{
- protected ContainerFigure containerFigure;
- protected Label label;
-
- //protected ContainerFigure childExpansionContainer;
- public IFigure getContentPane()
- {
- return containerFigure;
- }
-
- protected IFigure createFigure()
- {
- ContainerFigure outer = new ContainerFigure();
- outer.setBorder(new RoundedLineBorder(1, 6));
- outer.setForegroundColor(categoryBorderColor);
- FillLayout fillLayout = new FillLayout(4);
- outer.setLayoutManager(fillLayout);
- //outer.getContainerLayout().setHorizontal(false);
-
- ContainerFigure r = new ContainerFigure();
- r.setOutline(false);
- r.setMinimumSize(new Dimension(0, 0));
- r.setFill(true);
- r.setBackgroundColor(GraphicsConstants.elementBackgroundColor);
- outer.add(r);
-
- final int theMinHeight = 200;
- FillLayout outerLayout = new FillLayout()
- {
- protected Dimension calculatePreferredSize(IFigure parent, int width, int height)
- {
- Dimension d = super.calculatePreferredSize(parent, width, height);
- d.union(new Dimension(100, theMinHeight));
- return d;
- }
- };
- outerLayout.setHorizontal(false);
- outer.setLayoutManager(outerLayout);
-
- label = new Label();
- label.setForegroundColor(ColorConstants.black);
- label.setBorder(new MarginBorder(2, 4, 2, 4));
- r.add(label);
-
- RectangleFigure line = new RectangleFigure();
- line.setPreferredSize(20, 1);
- outer.add(line);
-
- containerFigure = new ContainerFigure();
- //containerFigure.setBackgroundColor(ColorConstants.red);
- containerFigure.setBorder(new MarginBorder(4, 4, 4, 4));
- fillLayout = new FillLayout(4);
- containerFigure.setLayoutManager(fillLayout);
- //containerFigure.setLayoutManager(new FillLayout(false));
- /*
- * FlowLayout layout1 = new FlowLayout(false); layout1.setMajorSpacing(0);
- * layout1.setMinorSpacing(0); layout1.setStretchMinorAxis(true);
- * containerFigure.setLayoutManager(layout1);
- */
- outer.add(containerFigure);
- //childExpansionContainer = new ContainerFigure();
- //childExpansionContainer.getContainerLayout().setHorizontal(false);
- //childExpansionContainer.setOutlined(true);
- return outer;
- }
-
- protected List getModelChildren()
- {
- XSDSchema schema = (XSDSchema) getModel();
- List list = new ArrayList();
- list.add(CategoryRowEditPart.DIRECTIVES_AND_NOTATIONS);
- list.add(CategoryRowEditPart.ELEMENTS_AND_TYPES);
- list.add(CategoryRowEditPart.MODEL_GROUPS_AND_ATTRIBUTES);
- return list;
- }
-
- protected EditPart createChild(Object model)
- {
- CategoryRowEditPart result = new CategoryRowEditPart();
- result.setModel(model);
- result.setParent(this);
- result.setSchema((XSDSchema)getModel());
- return result;
- }
-
-
- protected void refreshVisuals()
- {
- super.refreshVisuals();
- String targetNamespaceValue = ((XSDSchema)getModel()).getTargetNamespace();
- if (targetNamespaceValue == null || targetNamespaceValue.length() == 0)
- {
- targetNamespaceValue = XSDEditorPlugin.getXSDString("_UI_GRAPH_XSDSCHEMA_NO_NAMESPACE");
- }
- label.setText(XSDEditorPlugin.getXSDString("_UI_GRAPH_XSDSCHEMA") + " : " + targetNamespaceValue);
- }
-}
-
-class CategoryRowEditPart extends BaseEditPart
-{
- public static final int[] ELEMENTS_AND_TYPES = {Category.ELEMENTS, Category.TYPES };
- public static final int[] DIRECTIVES_AND_NOTATIONS = {Category.DIRECTIVES, Category.NOTATIONS };
- public static final int[] MODEL_GROUPS_AND_ATTRIBUTES = {Category.GROUPS, Category.ATTRIBUTES};//, Category.COMPLEX_TYPES };
-
- protected XSDSchema schema;
- protected Figure contentPane;
-
- protected IFigure createFigure()
- {
- ContainerFigure containerFigure = new ContainerFigure();
- //containerFigure.setBackgroundColor(ColorConstants.red);
- containerFigure.setFill(true);
- containerFigure.setBorder(new MarginBorder(4, 4, 4, 4));
- org.eclipse.wst.xsd.ui.internal.gef.util.figures.FillLayout fillLayout = new org.eclipse.wst.xsd.ui.internal.gef.util.figures.FillLayout(4);
- fillLayout.setHorizontal(true);
- containerFigure.setLayoutManager(fillLayout);
- //containerFigure.setLayoutManager(new FillLayout(4));
- return containerFigure;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getContentPane()
- */
- public IFigure getContentPane()
- {
- return super.getContentPane();
- }
-
- public XSDSchema getSchema()
- {
- return schema;
- }
-
- public void setSchema(XSDSchema schema)
- {
- this.schema = schema;
- }
-
-
- protected List getModelChildren()
- {
- List categoryList = (List) XSDModelAdapterFactory.getAdapter(schema).getProperty(schema, "groups");
- return filterCategoryList(categoryList);
- }
-
- protected List filterCategoryList(List list)
- {
- List result = new ArrayList();
- int[] categoryTypes = (int[])getModel();
- for (Iterator i = list.iterator(); i.hasNext(); )
- {
- Category category = (Category)i.next();
- if (isMatching(categoryTypes, category))
- {
- result.add(category);
- }
- }
- return result;
- }
-
- private boolean isMatching(int[] categoryTypes, Category category)
- {
- boolean result = false;
- for (int i = 0; i < categoryTypes.length; i++)
- {
- if (categoryTypes[i] == category.getGroupType())
- {
- result = true;
- break;
- }
- }
- return result;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SimpleTypeDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SimpleTypeDefinitionEditPart.java
deleted file mode 100644
index ef78b30240..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SimpleTypeDefinitionEditPart.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.ImageFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-
-public class SimpleTypeDefinitionEditPart extends BaseEditPart //GraphNodeEditPart
-{
- protected Label label;
- protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
-
- ImageFigure figure;
- Color color;
-
- protected IFigure createFigure()
- {
- String iconName = "icons/XSDSimpleType.gif";
- Image image = XSDEditorPlugin.getXSDImage(iconName);
-
- figure = new ImageFigure(image);
- RoundedLineBorder lb = new RoundedLineBorder(1, 6);
- figure.setOpaque(true);
- figure.setBorder(lb);
- figure.setBackgroundColor(ColorConstants.white);
- figure.setForegroundColor(elementBorderColor);
-
- return figure;
- }
-
- protected void refreshVisuals()
- {
- figure.setBorder(new RoundedLineBorder(isSelected ? ColorConstants.black : elementBorderColor, 1, 6));
- figure.repaint();
- }
-
- protected boolean isConnectedEditPart()
- {
- return false;
- }
-
- protected void createEditPolicies()
- {
- selectionHandlesEditPolicy = new SelectionHandlesEditPolicyImpl();
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, selectionHandlesEditPolicy);
- }
-
- public void deactivate()
- {
- super.deactivate();
- if (color != null)
- {
- color.dispose();
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SubstitutionGroupViewerRootEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SubstitutionGroupViewerRootEditPart.java
deleted file mode 100644
index 3899e8e6f3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SubstitutionGroupViewerRootEditPart.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Panel;
-import org.eclipse.gef.EditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerLayout;
-
-
-
-public class SubstitutionGroupViewerRootEditPart extends BaseEditPart
-{
- protected final static String MESSAGE_PLACE_HOLDER = "MESSAGE_PLACE_HOLDER";
- protected Object input;
-
- public void setInput(Object input)
- {
- this.input = input;
- refreshChildren();
- }
-
- protected IFigure createFigure()
- {
- Panel panel = new Panel();
- ContainerLayout layout = new ContainerLayout();
- layout.setBorder(60);
- panel.setLayoutManager(layout);
- return panel;
- }
-
-
- protected List getModelChildren()
- {
- List list = new ArrayList();
- if (input != null)
- {
- list.add(input);
- }
- else
- {
- list.add(MESSAGE_PLACE_HOLDER);
- }
- return list;
- }
-
- protected EditPart createChild(Object model)
- {
- EditPart editPart = null;
- if (model == MESSAGE_PLACE_HOLDER)
- {
- editPart = new MessageEditPart();
- editPart.setModel(model);
- }
- else
- {
- editPart = super.createChild(model);
- }
- return editPart;
- }
-
- protected void createEditPolicies()
- {
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TopLevelComponentEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TopLevelComponentEditPart.java
deleted file mode 100644
index d8ccbf4242..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TopLevelComponentEditPart.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.editpolicies.SelectionEditPolicy;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.gef.ui.parts.AbstractEditPartViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.xsd.ui.internal.gef.util.editparts.AbstractComponentViewerRootEditPart;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.GraphicsConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDComponentViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.model.ModelAdapter;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-
-
-public class TopLevelComponentEditPart extends BaseEditPart implements IFeedbackHandler
-{
- protected Label label;
- //protected Label arrowLabel;
- protected ContainerFigure labelHolder = new ContainerFigure();
- protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
- protected boolean isReadOnly;
- protected boolean isSelected;
-
- protected IFigure createFigure()
- {
- ContainerFigure typeGroup = new ContainerFigure();
- typeGroup.getContainerLayout().setHorizontal(true);
-
- //arrowLabel = new Label();
- //arrowLabel.setIcon(XSDEditorPlugin.getPlugin().getImage("icons/forward.gif"));
- //typeGroup.add(arrowLabel);
-
- labelHolder = new ContainerFigure();
- FillLayout fillLayout = new FillLayout();
- labelHolder.setLayoutManager(fillLayout);
- labelHolder.setFill(true);
- typeGroup.add(labelHolder);
-
- label = new Label();
- label.setBorder(new MarginBorder(0, 2, 2, 1));
- label.setForegroundColor(ColorConstants.black);
- labelHolder.add(label);
-
- try
- {
- // evil hack to provide underlines
- Object model = getModel();
-
- boolean isLinux = java.io.File.separator.equals("/");
- if (model instanceof XSDComplexTypeDefinition ||
- model instanceof XSDElementDeclaration ||
- model instanceof XSDModelGroupDefinition)
- {
- if (!isLinux)
- {
- FontData oldData = GraphicsConstants.medium.getFontData()[0];
- FontData fontData = new FontData(oldData.getName(), oldData.getHeight(), SWT.NONE);
-
- // TODO... clean this awful code up... we seem to be leaking here too
- // we can't call this directly since the methods are OS dependant
- // fontData.data.lfUnderline = 1
- // so instead we use reflection
- Object data = fontData.getClass().getField("data").get(fontData);
- System.out.println("data" + data.getClass());
- data.getClass().getField("lfUnderline").setByte(data, (byte)1);
- Font font = new Font(Display.getCurrent(), fontData);
- label.setFont(font);
-
- }
- }
- }
- catch (Exception e)
- {
-
- }
- //FontData data = label.getFont().getFontData()[0];
- //data.data.lfUnderline = 1;
-
- //RectangleFigure line = new RectangleFigure();
- //line.setPreferredSize(2, 1);
- //labelHolder.add(line, 1);
-
- //label.getFont().getFontData()[0].setStyle()
-
- return typeGroup;
- }
-
- public void refreshVisuals()
- {
- ModelAdapter adapter = XSDModelAdapterFactory.getAdapter(getModel());
- if (adapter != null)
- {
- // isReadOnly = Boolean.TRUE.equals(adapter.getProperty(getModel(), "isReadOnly"));
- isReadOnly = !XSDGraphUtil.isEditable(getModel());
- label.setForegroundColor(computeLabelColor());
- label.setText((String)adapter.getProperty(getModel(), ModelAdapter.LABEL_PROPERTY));
- Image image = (Image)adapter.getProperty(getModel(), ModelAdapter.IMAGE_PROPERTY);
- if (image != null) label.setIcon(image);
- //arrowLabel.setVisible(Boolean.TRUE.equals(adapter.getProperty(getModel(), "drillDown")));
- }
- else
- {
- label.setText("unknown object" + getModel().getClass().getName());
- //arrowLabel.setVisible(false);
- }
- }
-
-
- public XSDNamedComponent getXSDNamedComponent()
- {
- return (XSDNamedComponent) getModel();
- }
-
- public List getModelChildren()
- {
- return Collections.EMPTY_LIST;
- }
-
- protected void createEditPolicies()
- {
- //installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new NonResizableEditPolicy());
- //selectionHandlesEditPolicy = new SelectionHandlesEditPolicyImpl();
- //installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, selectionHandlesEditPolicy);
-
- SelectionHandlesEditPolicyImpl policy = new SelectionHandlesEditPolicyImpl();
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, policy);
-
- SelectionEditPolicy feedBackSelectionEditPolicy = new SelectionEditPolicy()
- {
- protected void hideSelection()
- {
- EditPart editPart = getHost();
- if (editPart instanceof IFeedbackHandler)
- {
- ((IFeedbackHandler)editPart).removeFeedback();
- }
- }
-
- protected void showSelection()
- {
- EditPart editPart = getHost();
- if (editPart instanceof IFeedbackHandler)
- {
- ((IFeedbackHandler)editPart).addFeedback();
- }
- }
- };
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, feedBackSelectionEditPolicy);
- }
-
- public Color computeLabelColor()
- {
- Color color = ColorConstants.black;
- if (isSelected)
- {
- color = ColorConstants.white;
- }
- else if (isReadOnly)
- {
- color = ColorConstants.gray;
- }
- return color;
- }
-
-
- public void addFeedback()
- {
- isSelected = true;
-
- labelHolder.setBackgroundColor(ColorConstants.black);
- label.setForegroundColor(computeLabelColor());
- labelHolder.setFill(true);
- }
-
- public void removeFeedback()
- {
- isSelected = false;
- labelHolder.setBackgroundColor(null);
- label.setForegroundColor(computeLabelColor());
- labelHolder.setFill(false);
- }
-
- public void performRequest(Request request)
- {
- if (request.getType() == RequestConstants.REQ_DIRECT_EDIT ||
- request.getType() == RequestConstants.REQ_OPEN)
- {
-
- Object model = getModel();
- if (model instanceof XSDComplexTypeDefinition ||
- model instanceof XSDElementDeclaration ||
- model instanceof XSDModelGroupDefinition)
- {
- if (request instanceof LocationRequest)
- {
- LocationRequest locationRequest = (LocationRequest)request;
- Point p = locationRequest.getLocation();
-
- if (hitTest(labelHolder, p))
- {
- performDrillDownAction();
- }
- }
- }
- }
- }
-
- public boolean hitTest(IFigure target, Point location)
- {
- Rectangle b = target.getBounds().getCopy();
- target.translateToAbsolute(b);
- return b.contains(location);
- }
-
- protected void performDrillDownAction()
- {
- Runnable runnable = new Runnable()
- {
- public void run()
- {
- //((XSDComponentViewer)getViewer()).setInput((XSDConcreteComponent)getModel());
-
- EditPart editPart = ((AbstractEditPartViewer)getViewer()).getRootEditPart().getContents();
- if (editPart instanceof AbstractComponentViewerRootEditPart)
- {
- AbstractComponentViewerRootEditPart rootEditPart = (AbstractComponentViewerRootEditPart)editPart;
- rootEditPart.setInput((XSDConcreteComponent)getModel());
- }
- else if (editPart instanceof BaseEditPart)
- {
- ((XSDComponentViewer)getViewer()).setInput((XSDConcreteComponent)getModel());
- }
- }
- };
- Display.getCurrent().asyncExec(runnable);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TypeEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TypeEditPart.java
deleted file mode 100644
index 37a83e11ba..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TypeEditPart.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-
-public class TypeEditPart extends BaseEditPart
-{
- protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
-
- protected IFigure createFigure()
- {
- ContainerFigure typeGroup = new ContainerFigure();
-// typeGroup.setBorder(new SimpleRaisedBorder(1));
-// typeGroup.setBorder(new LineBorder(1));
-// typeGroup.setBorder(new RoundedLineBorder(1,5));
-
- Label typeLabel = new Label("type");
- typeLabel.setBorder(new MarginBorder(0,2,2,1));
- typeGroup.add(typeLabel);
-
- return typeGroup;
- }
-
- protected void refreshVisuals()
- {
- super.refreshVisuals();
- }
-
- public XSDTypeDefinition getXSDTypeDefinition()
- {
- return (XSDTypeDefinition)getModel();
- }
-
-
- public List getModelChildren()
- {
- return Collections.EMPTY_LIST;
- }
-
- protected void createEditPolicies()
- {
- SelectionHandlesEditPolicyImpl policy = new SelectionHandlesEditPolicyImpl();
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, policy);
- }
-
-
- public void performRequest(Request request)
- {
- super.performRequest(request);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/WildcardEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/WildcardEditPart.java
deleted file mode 100644
index 53a86a19d0..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/WildcardEditPart.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RepeatableGraphNodeFigure;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDWildcard;
-
-
-public class WildcardEditPart extends RepeatableGraphNodeEditPart
-{
- protected Label label;
-
-
- public XSDParticle getXSDParticle()
- {
- Object o = getXSDWildcard().getContainer();
- return (o instanceof XSDParticle) ? (XSDParticle)o : null;
- }
-
-
- public XSDWildcard getXSDWildcard()
- {
- return (XSDWildcard)getModel();
- }
-
-
- protected GraphNodeFigure createGraphNodeFigure()
- {
- RepeatableGraphNodeFigure figure = new RepeatableGraphNodeFigure();
- figure.setConnected(true);
- figure.getOutlinedArea().setFill(true);
-
- label = new Label();
- label.setText(XSDEditorPlugin.getXSDString("_UI_ANY_ELEMENT"));
- label.setBorder(new MarginBorder(0, 6, 0, 4));
- label.setFont(mediumBoldFont);
-
- figure.getIconArea().add(label);
-
- return figure;
- }
-
-
- protected void refreshVisuals()
- {
- ContainerFigure rectangle = graphNodeFigure.getOutlinedArea();
- if (XSDGraphUtil.isEditable(getModel()))
- {
- rectangle.setBorder(new LineBorder(2));
- rectangle.setBackgroundColor(elementBackgroundColor);
- rectangle.setForegroundColor(isSelected ? ColorConstants.black : elementBorderColor);
-
- label.setBackgroundColor(elementBackgroundColor);
- label.setForegroundColor(elementLabelColor);
- }
- else
- {
- rectangle.setBorder(new LineBorder(readOnlyBorderColor, 2));
- rectangle.setBackgroundColor(readOnlyBackgroundColor);
- rectangle.setForegroundColor(isSelected ? ColorConstants.black : readOnlyBorderColor);
-
- label.setBackgroundColor(readOnlyBackgroundColor);
- label.setForegroundColor(readOnlyBorderColor);
- }
-
- refreshOccurenceLabel(getXSDParticle());
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/XSDEditPartFactory.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/XSDEditPartFactory.java
deleted file mode 100644
index 5d6ed1e13b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/XSDEditPartFactory.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editparts;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartFactory;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDInheritanceViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.model.Category;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-
-
-
-public class XSDEditPartFactory implements EditPartFactory
-{
- protected static XSDEditPartFactory instance;
-
- public static XSDEditPartFactory getInstance()
- {
- if (instance == null)
- {
- instance = new XSDEditPartFactory();
- }
- return instance;
- }
-
- public EditPart createEditPart(EditPart parent, Object model)
- {
- EditPart editPart = null;
-
- if (model instanceof Category)
- {
- editPart = new CategoryEditPart();
- }
- else if (model instanceof XSDElementDeclaration)
- {
- editPart = new ElementDeclarationEditPart();
- }
- else if (model instanceof XSDComplexTypeDefinition)
- {
- if (parent.getViewer() instanceof XSDInheritanceViewer)
- {
- editPart = new RootComplexTypeDefinitionEditPart();
- }
- else
- {
- if (parent instanceof CategoryEditPart)
- editPart = new RootComplexTypeDefinitionEditPart();
- else
- editPart = new ComplexTypeDefinitionEditPart();
- }
- }
- else if (model instanceof XSDModelGroup)
- {
- editPart = new ModelGroupEditPart();
- }
- else if (model instanceof XSDModelGroupDefinition)
- {
- if (parent instanceof CategoryEditPart)
- editPart = new RootModelGroupDefinitionEditPart();
- else
- editPart = new ModelGroupDefinitionEditPart();
- }
- else if (model instanceof XSDSchema)
- {
- editPart = new SchemaEditPart();
- }
- else if (model instanceof XSDWildcard)
- {
- editPart = new WildcardEditPart();
- }
- else if (model instanceof XSDSimpleTypeDefinition)
- {
- editPart = new SimpleTypeDefinitionEditPart();
- }
-
- if (editPart != null)
- {
- editPart.setModel(model);
- editPart.setParent(parent);
- }
- else
- {
-// System.out.println("can't create editPart for " + model);
-// Thread.dumpStack();
- }
- return editPart;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComboBoxCellEditorManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComboBoxCellEditorManager.java
deleted file mode 100644
index bf58f17b10..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComboBoxCellEditorManager.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editpolicies;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.tools.CellEditorLocator;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-
-public abstract class ComboBoxCellEditorManager extends DirectEditManager implements DirectEditPolicyDelegate
-{
- protected Label label;
-
- public ComboBoxCellEditorManager(GraphicalEditPart source, Label label)
- {
- super(source, ComboBoxCellEditor.class, new InternalCellEditorLocator(label));
- this.label = label;
- }
-
- protected void initCellEditor()
- {
- String initialLabelText = label.getText();
-
- CCombo combo = (CCombo)getCellEditor().getControl();
- combo.setFont(label.getFont());
- combo.setForeground(label.getForegroundColor());
- combo.setBackground(label.getBackgroundColor());
- /*
- combo.addKeyListener(new KeyAdapter() {
- // hook key pressed - see PR 14201
- public void keyPressed(KeyEvent keyEvent) {
- if (keyEvent.character == 'z') {
- getCellEditor().applyEditorValue();
- }
- }
- });
-*/
- ICellEditorListener cellEditorListener = new ICellEditorListener()
- {
- public void cancelEditor()
- {
-// System.out.println("cancelEditor");
- }
- public void applyEditorValue()
- {
-// System.out.println("applyEditorValue");
- }
- public void editorValueChanged(boolean old, boolean newState)
- {
-// System.out.println("editorValueChanged");
- }
- };
- getCellEditor().addListener(cellEditorListener);
-
- String[] item = combo.getItems();
- int index = 0;
- for (int i = 0; i < item.length; i++)
- {
- if (item[i].equals(initialLabelText))
- {
- getCellEditor().setValue(new Integer(i));
- break;
- }
- }
- }
-
- // hack... for some reason the ComboBoxCellEditor does't fire an editorValueChanged to set the dirty flag
- // unless we overide this method to return true, the manager is not notified of changes made in the cell editor
- protected boolean isDirty()
- {
- return true;
- }
-
- protected CellEditor createCellEditorOn(Composite composite)
- {
- boolean isLabelTextInList = false;
- List list = computeComboContent();
- for (Iterator i = list.iterator(); i.hasNext(); )
- {
- String string = (String)i.next();
- if (string.equals(label.getText()))
- {
- isLabelTextInList = true;
- break;
- }
- }
-
- if (!isLabelTextInList)
- {
- list.add(label.getText());
- }
-
- List sortedList = computeSortedList(list);
- String[] stringArray = new String[sortedList.size()];
- for (int i = 0; i < stringArray.length; i++)
- {
- stringArray[i] = (String)sortedList.get(i);
- }
- return new ComboBoxCellEditor(composite, stringArray);
- }
-
- protected List computeSortedList(List list)
- {
- return list;
- }
-
- protected abstract List computeComboContent();
-
- protected abstract void performModify(String value);
-
- public static class InternalCellEditorLocator implements CellEditorLocator
- {
- protected Label label;
-
- public InternalCellEditorLocator(Label label)
- {
- this.label = label;
- }
-
- public void relocate(CellEditor celleditor)
- {
- CCombo combo = (CCombo)celleditor.getControl();
- Point pref = combo.computeSize(-1, -1);
- Rectangle rect = label.getTextBounds().getCopy();
- label.translateToAbsolute(rect);
- combo.setBounds(rect.x-4, rect.y-1, pref.x+1, pref.y+1);
- }
- }
-
- // implements DirectEditPolicyDelegate
- //
- public void performEdit(CellEditor cellEditor)
- {
- CCombo combo = (CCombo)getCellEditor().getControl();
- int index = combo.getSelectionIndex();
- if (index != -1)
- {
- String value = combo.getItem(index);
- performModify(combo.getItem(index));
- }
- else
- {
- String typedValue = combo.getText();
- if (combo.indexOf(typedValue) != -1)
- {
- performModify(typedValue);
- }
- else
- {
- String closeMatch = getCloseMatch(typedValue, combo.getItems());
- if (closeMatch != null)
- {
- performModify(closeMatch);
- }
- else
- {
- Display.getCurrent().beep();
- }
- }
- }
- }
-
- protected String getCloseMatch(String value, String[] items)
- {
- int matchIndex = -1;
-
- for (int i = 0; i < items.length; i++)
- {
- String item = items[i];
- String a = getLocalName(value);
- String b = getLocalName(item);
- if (a.equalsIgnoreCase(b))
- {
- matchIndex = i;
- break;
- }
- }
- return matchIndex != -1 ? items[matchIndex] : null;
- }
-
- protected String getLocalName(String string)
- {
- int index = string.indexOf(":");
- return (index != -1) ? string.substring(index + 1) : string;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComponentNameDirectEditManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComponentNameDirectEditManager.java
deleted file mode 100644
index afea7896e9..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComponentNameDirectEditManager.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editpolicies;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalElementRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalGroupRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalSimpleOrComplexTypeRenamer;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDSwitch;
-
-
-
-public class ComponentNameDirectEditManager extends TextCellEditorManager
-{
- protected XSDNamedComponent component;
-
- public ComponentNameDirectEditManager(GraphicalEditPart source, Label label, XSDNamedComponent component)
- {
- super(source, label);
- this.component = component;
- }
-
- public void performModify(final String value)
- {
- DelayedRenameRunnable runnable = new DelayedRenameRunnable(component, value);
- Display.getCurrent().asyncExec(runnable);
- }
-
- protected static class DelayedRenameRunnable implements Runnable
- {
- protected XSDNamedComponent component;
- protected String name;
-
- public DelayedRenameRunnable(XSDNamedComponent component, String name)
- {
- this.component = component;
- this.name = name;
- }
-
- public void run()
- {
- XSDSwitch xsdSwitch = new XSDSwitch()
- {
- public Object caseXSDTypeDefinition(XSDTypeDefinition object)
- {
- new GlobalSimpleOrComplexTypeRenamer(object, name).visitSchema(object.getSchema());
- return null;
- }
-
- public Object caseXSDElementDeclaration(XSDElementDeclaration object)
- {
- if (object.isGlobal())
- {
- new GlobalElementRenamer(object, name).visitSchema(object.getSchema());
- }
- return null;
- }
-
- public Object caseXSDModelGroupDefinition(XSDModelGroupDefinition object)
- {
- new GlobalGroupRenamer(object, name).visitSchema(object.getSchema());
- return null;
- }
- };
- xsdSwitch.doSwitch(component);
- component.setName(name);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DirectEditPolicyDelegate.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DirectEditPolicyDelegate.java
deleted file mode 100644
index b5cce8b090..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DirectEditPolicyDelegate.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editpolicies;
-
-import org.eclipse.jface.viewers.CellEditor;
-
-public interface DirectEditPolicyDelegate
-{
- public void performEdit(CellEditor cellEditor);
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropCommand.java
deleted file mode 100644
index e84f7e3603..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropCommand.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editpolicies;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.eclipse.wst.xsd.ui.internal.actions.MoveAction;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.IConnectionRenderingViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ComplexTypeDefinitionEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.GraphNodeEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ModelGroupDefinitionEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ModelGroupEditPart;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-
-public class DragAndDropCommand extends Command //AbstractCommand
-{
- protected EditPartViewer viewer;
- protected ChangeBoundsRequest request;
- protected GraphNodeEditPart childRefEditPart;
- public GraphNodeEditPart parentEditPart;
- public Point location;
- protected MoveAction action;
- protected boolean canExecute;
-
- public DragAndDropCommand(EditPartViewer viewer, ChangeBoundsRequest request)
- {
- this.viewer = viewer;
- this.request = request;
-
- location = request.getLocation();
- EditPart target = viewer.findObjectAt(location);
- ((GraphicalEditPart)viewer.getRootEditPart()).getFigure().translateToRelative(location);
-
- List list = request.getEditParts();
- if (list.size() > 0)
- {
- parentEditPart = getParentEditPart(target);
- if (parentEditPart != null)
- {
- for (Iterator i = parentEditPart.getChildren().iterator(); i.hasNext(); )
- {
- EditPart child = (EditPart)i.next();
- if (child instanceof GraphNodeEditPart)
- {
- GraphNodeEditPart childGraphNodeEditPart = (GraphNodeEditPart)child;
- Rectangle rectangle = childGraphNodeEditPart.getSelectionFigure().getBounds();
-
- if (location.y < rectangle.getCenter().y)
- {
- childRefEditPart = childGraphNodeEditPart;
- break;
- }
- }
- }
-
- List editPartsList = request.getEditParts();
- List concreteComponentList = new ArrayList(editPartsList.size());
- for (Iterator i = editPartsList.iterator(); i.hasNext(); )
- {
- EditPart editPart = (EditPart)i.next();
- concreteComponentList.add((XSDConcreteComponent)editPart.getModel());
- }
- XSDConcreteComponent refComponent = childRefEditPart != null ? (XSDConcreteComponent)childRefEditPart.getModel() : null;
-
- action = new MoveAction((XSDConcreteComponent)parentEditPart.getModel(), concreteComponentList, refComponent);
- canExecute = action.canMove();
- }
- }
- }
-
- protected GraphNodeEditPart getParentEditPart(EditPart target)
- {
- GraphNodeEditPart result = null;
- while (target != null)
- {
- if (target instanceof ModelGroupEditPart)
- {
- result = (GraphNodeEditPart)target;
- break;
- }
- else if (target instanceof ComplexTypeDefinitionEditPart ||
- target instanceof ModelGroupDefinitionEditPart)
- {
- List list = target.getChildren();
- for (Iterator i = list.iterator(); i.hasNext(); )
- {
- Object child = i.next();
- if (child instanceof ModelGroupEditPart)
- {
- result = (GraphNodeEditPart)child;
- break;
- }
- }
- if (result != null)
- {
- break;
- }
- }
- target = target.getParent();
- }
- return result;
- }
-
- public void execute()
- {
- if (canExecute)
- {
- action.run();
- }
- }
-
- public void redo()
- {
-
- }
-
- public void undo()
- {
- }
-
- public boolean canExecute()
- {
- return canExecute;
- }
-
- public PointList getConnectionPoints(Rectangle draggedFigureBounds)
- {
- PointList pointList = null;
- if (parentEditPart != null && childRefEditPart != null && viewer instanceof IConnectionRenderingViewer)
- {
- pointList = ((IConnectionRenderingViewer)viewer).getConnectionRenderingFigure().getConnectionPoints(parentEditPart, childRefEditPart, draggedFigureBounds);
- }
- return pointList != null ? pointList : new PointList();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropEditPolicy.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropEditPolicy.java
deleted file mode 100644
index 18468c8457..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropEditPolicy.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editpolicies;
-
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-
-public class DragAndDropEditPolicy extends org.eclipse.gef.editpolicies.GraphicalEditPolicy
-{
- protected EditPartViewer viewer;
- protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
-
- public DragAndDropEditPolicy(EditPartViewer viewer, SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy)
- {
- this.viewer = viewer;
- this.selectionHandlesEditPolicy = selectionHandlesEditPolicy;
- }
-
- public boolean understandsRequest(Request req)
- {
- return true;
- }
-
- static int count2 = 0;
- boolean theCommandResult = true;
-
- public org.eclipse.gef.commands.Command getCommand(Request request)
- {
- // this block is commented out to disable move for now
- DragAndDropCommand command = null;
- if (request instanceof ChangeBoundsRequest)
- {
- command = new DragAndDropCommand(viewer, (ChangeBoundsRequest)request);
- selectionHandlesEditPolicy.setDragAndDropCommand(command);
- }
- return command;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/GraphNodeDragTracker.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/GraphNodeDragTracker.java
deleted file mode 100644
index 58fbaac656..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/GraphNodeDragTracker.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editpolicies;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.tools.DragEditPartsTracker;
-
-
-public class GraphNodeDragTracker extends DragEditPartsTracker
-{
- protected EditPart editPart;
-
- public GraphNodeDragTracker(EditPart editPart)
- {
- super(editPart);
- this.editPart = editPart;
- }
-
- protected Command getCommand()
- {
- Request request = getTargetRequest();
- return editPart.getCommand(request);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SelectionHandlesEditPolicyImpl.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SelectionHandlesEditPolicyImpl.java
deleted file mode 100644
index d09b53a7c1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SelectionHandlesEditPolicyImpl.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editpolicies;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Polyline;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.editpolicies.SelectionHandlesEditPolicy;
-import org.eclipse.gef.handles.MoveHandle;
-import org.eclipse.gef.handles.MoveHandleLocator;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.BaseEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.IFeedbackHandler;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.BogusLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-
-
-
-
-
-public class SelectionHandlesEditPolicyImpl extends SelectionHandlesEditPolicy
-{
- protected IFigure feedback;
- protected Rectangle originalLocation;
- protected DragAndDropCommand dragAndDropCommand;
-
- protected List createSelectionHandles()
- {
- List list = new ArrayList();
- EditPart editPart = getHost();
-
- if (editPart instanceof GraphicalEditPart)
- {
- GraphicalEditPart graphicalEditPart = (GraphicalEditPart)editPart;
- IFigure figure = (graphicalEditPart instanceof BaseEditPart) ?
- ((BaseEditPart)graphicalEditPart).getSelectionFigure() :
- graphicalEditPart.getFigure();
-
- Cursor cursorFigure = figure.getCursor();
- MoveHandleLocator loc = new MoveHandleLocator(figure);
- MoveHandle moveHandle = new MoveHandle(graphicalEditPart, loc);
- moveHandle.setCursor(cursorFigure);
- list.add(moveHandle);
- }
-
- return list;
- }
-
-
- public boolean understandsRequest(Request request)
- {
- boolean result = false;
-
- if (REQ_MOVE.equals(request.getType()))
- {
- result = false; // return false to disable move for now
- }
- else
- {
- result = super.understandsRequest(request);
- }
- return result;
- }
-
-
- public org.eclipse.gef.commands.Command getCommand(Request request)
- {
- return null;
- }
-
- public void setDragAndDropCommand(DragAndDropCommand dragAndDropCommand)
- {
- this.dragAndDropCommand = dragAndDropCommand;
- }
-
- protected org.eclipse.gef.commands.Command getMoveCommand(ChangeBoundsRequest request)
- {
- ChangeBoundsRequest req = new ChangeBoundsRequest(REQ_MOVE_CHILDREN);
- req.setEditParts(getHost());
-
- req.setMoveDelta(request.getMoveDelta());
- req.setSizeDelta(request.getSizeDelta());
- req.setLocation(request.getLocation());
-
- return getHost().getParent().getCommand(req);
- }
-
- public void showSourceFeedback(Request request)
- {
- if (REQ_MOVE.equals(request.getType()) ||
- REQ_ADD.equals(request.getType()))
- showChangeBoundsFeedback((ChangeBoundsRequest)request);
- }
-
- protected void showChangeBoundsFeedback(ChangeBoundsRequest request)
- {
- IFigure p = getDragSourceFeedbackFigure();
- Rectangle r = originalLocation.getTranslated(request.getMoveDelta());
- Dimension resize = request.getSizeDelta();
- r.width += resize.width;
- r.height+= resize.height;
-
- ((GraphicalEditPart)getHost()).getFigure().translateToAbsolute(r);
- p.translateToRelative(r);
-
- Rectangle pBounds = r.getCopy();
-
- if (dragAndDropCommand != null && dragAndDropCommand.canExecute())
- {
- int size = request.getEditParts().size();
- if (size > 0 && request.getEditParts().get(size - 1) == getHost())
- {
- PointList pointList = dragAndDropCommand.getConnectionPoints(r);
- if (pointList != null && pointList.size() > 0)
- {
- polyLine.setPoints(pointList);
-
- Point firstPoint = pointList.getFirstPoint();
- if (firstPoint != null)
- {
- pBounds = pBounds.getUnion(new Rectangle(firstPoint.x, firstPoint.y, 1, 1));
- }
- }
- }
- }
- p.setBounds(pBounds);
- ghostShape.setBounds(r);
- p.validate();
- }
-
-
-
-
- protected IFigure getDragSourceFeedbackFigure()
- {
- EditPart editPart = getHost();
- if (feedback == null && editPart instanceof BaseEditPart)
- {
- BaseEditPart baseEditPart = (BaseEditPart)editPart;
- originalLocation = new Rectangle(baseEditPart.getSelectionFigure().getBounds());
- feedback = createDragSourceFeedbackFigure(baseEditPart.getSelectionFigure());
- }
- return feedback;
- }
-
- Polyline polyLine;
- RectangleFigure ghostShape;
-
- protected IFigure createDragSourceFeedbackFigure(IFigure draggedFigure)
- {
- // Use a ghost rectangle for feedback
- ContainerFigure panel = new ContainerFigure();
- panel.setLayoutManager(new BogusLayout());//new FreeformLayout());
-
- ghostShape = new RectangleFigure();
- FigureUtilities.makeGhostShape(ghostShape);
- ghostShape.setLineStyle(Graphics.LINE_DASHDOT);
- ghostShape.setForegroundColor(ColorConstants.white);
-
- Rectangle r = draggedFigure.getBounds();
- panel.setOpaque(false);
- panel.add(ghostShape);
-
- polyLine = new Polyline();
- //polyLine.setLineStyle(Graphics.LINE_DASHDOT);
- polyLine.setLineWidth(3);
- panel.add(polyLine);
-
- panel.setBounds(r);
- ghostShape.setBounds(r);
-
- addFeedback(panel);
-
- return panel;
- }
-
- public void deactivate()
- {
- if (feedback != null)
- {
- removeFeedback(feedback);
- feedback = null;
- }
- hideFocus();
- super.deactivate();
- }
-
- /**
- * Erase feedback indicating that the receiver object is
- * being dragged. This method is called when a drag is
- * completed or cancelled on the receiver object.
- * @param dragTracker org.eclipse.gef.tools.DragTracker The drag tracker of the tool performing the drag.
- */
- protected void eraseChangeBoundsFeedback(ChangeBoundsRequest request)
- {
- if (feedback != null)
- {
- removeFeedback(feedback);
- }
- feedback = null;
- originalLocation = null;
- }
-
- /**
- * Erase feedback indicating that the receiver object is
- * being dragged. This method is called when a drag is
- * completed or cancelled on the receiver object.
- * @param dragTracker org.eclipse.gef.tools.DragTracker The drag tracker of the tool performing the drag.
- */
- public void eraseSourceFeedback(Request request)
- {
- if (REQ_MOVE.equals(request.getType()) || REQ_ADD.equals(request.getType()))
- {
- eraseChangeBoundsFeedback((ChangeBoundsRequest)request);
- }
- }
-
- protected void hideSelection()
- {
- EditPart editPart = getHost();
- if (editPart instanceof IFeedbackHandler)
- {
- ((IFeedbackHandler)editPart).removeFeedback();
- }
- }
-
- protected void showSelection()
- {
- EditPart editPart = getHost();
- if (editPart instanceof IFeedbackHandler)
- {
- ((IFeedbackHandler)editPart).addFeedback();
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SimpleDirectEditPolicy.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SimpleDirectEditPolicy.java
deleted file mode 100644
index 531eef2c86..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SimpleDirectEditPolicy.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editpolicies;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.DirectEditPolicy;
-import org.eclipse.gef.requests.DirectEditRequest;
-
-public class SimpleDirectEditPolicy extends DirectEditPolicy
-{
- protected DirectEditPolicyDelegate delegate;
-
- public void setDelegate(DirectEditPolicyDelegate delegate)
- {
- this.delegate = delegate;
- }
-
- protected org.eclipse.gef.commands.Command getDirectEditCommand(final DirectEditRequest request)
- {
- return new Command() //AbstractCommand()
- {
- public void execute()
- {
- if (delegate != null)
- {
- delegate.performEdit(request.getCellEditor());
- }
- }
-
- public void redo()
- {
- }
-
- public void undo()
- {
- }
-
- public boolean canExecute()
- {
- return true;
- }
- };
- }
-
- protected void showCurrentEditValue(DirectEditRequest request)
- {
- //hack to prevent async layout from placing the cell editor twice.
- getHostFigure().getUpdateManager().performUpdate();
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TextCellEditorManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TextCellEditorManager.java
deleted file mode 100644
index 6409937fc3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TextCellEditorManager.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editpolicies;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.tools.CellEditorLocator;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Text;
-
-public abstract class TextCellEditorManager extends DirectEditManager implements DirectEditPolicyDelegate
-{
- protected Label label;
-
- public TextCellEditorManager(GraphicalEditPart source, Label label)
- {
- super(source, TextCellEditor.class, new InternalCellEditorLocator(label));
- this.label = label;
- }
-
- protected void initCellEditor()
- {
- String initialLabelText = label.getText();
- getCellEditor().setValue(initialLabelText);
- Text text = (Text)getCellEditor().getControl();
- text.setFont(label.getFont());
- text.setForeground(label.getForegroundColor());
- text.setBackground(label.getBackgroundColor());
- text.selectAll();
- }
-
- protected abstract void performModify(String value);
-
- public static class InternalCellEditorLocator implements CellEditorLocator
- {
- protected Label label;
-
- public InternalCellEditorLocator(Label label)
- {
- this.label = label;
- }
-
- public void relocate(CellEditor celleditor)
- {
- Text text = (Text)celleditor.getControl();
- Point sel = text.getSelection();
- Point pref = text.computeSize(-1, -1);
- Rectangle rect = label.getTextBounds().getCopy();
- label.translateToAbsolute(rect);
- text.setBounds(rect.x-4, rect.y-1, pref.x+1, pref.y+1);
- text.setSelection(0);
- text.setSelection(sel);
- }
- }
-
- // implements DirectEditPolicyDelegate
- //
- public void performEdit(CellEditor cellEditor)
- {
- performModify((String)cellEditor.getValue());
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TypeReferenceDirectEditManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TypeReferenceDirectEditManager.java
deleted file mode 100644
index c62d1e9515..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TypeReferenceDirectEditManager.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.editpolicies;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.gef.EditPart;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.BaseEditPart;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-
-
-
-public class TypeReferenceDirectEditManager extends ComboBoxCellEditorManager
-{
- protected BaseEditPart editPart;
- protected XSDElementDeclaration ed;
-
-
- public TypeReferenceDirectEditManager(BaseEditPart source, XSDElementDeclaration ed, Label label)
- {
- super(source, label);
- editPart = source;
- this.ed = ed;
- }
-
- protected List computeComboContent()
- {
- XSDSchema schema = ed.getSchema();
- List typeNameList = new ArrayList();
- if (schema != null)
- {
- TypesHelper typesHelper = new TypesHelper(schema);
- typeNameList.addAll(typesHelper.getUserSimpleTypeNamesList());
- typeNameList.addAll(typesHelper.getUserComplexTypeNamesList());
- typeNameList.addAll(typesHelper.getBuiltInTypeNamesList());
- }
- return typeNameList;
- }
-
- public void performModify(String value)
- {
- // we need to perform an asyncExec here since the 'host' editpart may be removed
- // as a side effect of performing the action
- DelayedRenameRunnable runnable = new DelayedRenameRunnable(editPart, ed, value);
- Display.getCurrent().asyncExec(runnable);
- }
-
-
- protected List computeSortedList(List list)
- {
- return TypesHelper.sortList(list);
- }
-
- protected static class DelayedRenameRunnable implements Runnable
- {
- protected BaseEditPart editPart;
- protected EditPart editPartParent;
- protected XSDElementDeclaration ed;
- protected String name;
-
- public DelayedRenameRunnable(BaseEditPart editPart, XSDElementDeclaration ed, String name)
- {
- this.editPart = editPart;
- editPartParent = editPart.getParent();
- this.ed = ed;
- this.name = name;
- }
-
- public void run()
- {
- //BaseGraphicalViewer viewer = editPart.getBaseGraphicalViewer();
- //viewer.setInputEnabled(false);
- //viewer.setSelectionEnabled(false);
- if (name.equals("<anonymous>"))
- {
- try
- {
- ed.getResolvedElementDeclaration().getElement().removeAttribute("type");
- }
- catch (Exception e)
- {
- }
- }
- else
- {
- if (ed.getResolvedElementDeclaration().getAnonymousTypeDefinition() != null) // isSetAnonymousTypeDefinition())
- {
- if (!(name.equals("<anonymous>")))
- {
- ed.getResolvedElementDeclaration().getElement().setAttribute("type", name);
- XSDDOMHelper.updateElementToNotAnonymous(ed.getResolvedElementDeclaration().getElement());
-// ed.getResolvedElementDeclaration().setAnonymousTypeDefinition(null);
- return;
- }
- }
- ed.getResolvedElementDeclaration().getElement().setAttribute("type", name);
- }
- //viewer.setInputEnabled(true);
- //viewer.setSelectionEnabled(true);
- //viewer.setSelection(new StructuredSelection(editPartParent));
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/BogusLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/BogusLayout.java
deleted file mode 100644
index cfa8c75b4a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/BogusLayout.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-
-
-/**
- * Figures using the StackLayout as their layout manager have
- * their children placed on top of one another. Order of
- * placement is determined by the order in which the children
- * were added, first child added placed on the bottom.
- */
-public class BogusLayout
- extends AbstractLayout
-{
-
-protected int spacing;
-
-public BogusLayout(){}
-
-protected Dimension calculatePreferredSize(IFigure figure, int w, int h)
-{
- Dimension d = new Dimension();
- return d;
-}
-
-/*
- * Returns the minimum size required by the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- */
-/*jvh - final
-public Dimension getMinimumSize(IFigure figure){
- return new Dimension();
-}
-
-public Dimension getPreferredSize(IFigure figure){
- return new Dimension();
-} */
-
-/*
- * Lays out the children on top of each other with
- * their sizes equal to that of the available
- * paintable area of the input container figure.
- */
-public void layout(IFigure figure){
-
-}
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenterLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenterLayout.java
deleted file mode 100644
index 2932e6d3f4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenterLayout.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-
-/**
- * Figures using the StackLayout as their layout manager have
- * their children placed on top of one another. Order of
- * placement is determined by the order in which the children
- * were added, first child added placed on the bottom.
- */
-public class CenterLayout
- extends AbstractLayout
-{
-
-protected int spacing;
-
-public CenterLayout(){}
-public CenterLayout(int spacing){ this.spacing = spacing; }
-
-/**
- * Calculates and returns the preferred size of the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- *
- * @param figure Container figure for which preferred size is required.
- * @return The preferred size of the input figure.
- * @since 2.0
- */
-protected Dimension calculatePreferredSize(IFigure figure, int w, int h){
- Dimension d = calculatePreferredClientAreaSize(figure);
- /*d.expand(figure.getInsets().getWidth(),
- figure.getInsets().getHeight()); */
- d.expand(w,
- h);
- d.union(getBorderPreferredSize(figure));
- return d;
-}
-
-protected Dimension calculatePreferredClientAreaSize(IFigure figure){
- Dimension d = new Dimension();
- List children = figure.getChildren();
- for (Iterator i = children.iterator(); i.hasNext(); )
- {
- IFigure child = (IFigure)i.next();
- Dimension childSize = child.getPreferredSize();
- d.height += childSize.height;
- d.width = Math.max(childSize.width, d.width);
- }
- int childrenSize = children.size();
- if (childrenSize > 0)
- {
- d.height += spacing * children.size() - 1;
- }
- return d;
-}
-
-/*
- * Returns the minimum size required by the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- */
-public Dimension getMinimumSize(IFigure figure, int wHint, int hHint){
- Dimension d = new Dimension();
- List children = figure.getChildren();
- IFigure child;
- for (int i=0; i < children.size(); i++){
- child = (IFigure)children.get(i);
- d.union(child.getMinimumSize());
- }
- d.expand(figure.getInsets().getWidth(),
- figure.getInsets().getHeight());
- return d;
-}
-
-public Dimension getPreferredSize(IFigure figure, int wHint, int hHint){
- return calculatePreferredSize(figure, wHint, hHint);
-}
-
-
-/*
- * Lays out the children on top of each other with
- * their sizes equal to that of the available
- * paintable area of the input container figure.
- */
-public void layout(IFigure figure){
- Rectangle r = figure.getClientArea();
- List children = figure.getChildren();
-
- Dimension preferredClientAreaSize = calculatePreferredClientAreaSize(figure);
- int x = r.x + (r.width - preferredClientAreaSize.width) / 2;
- int y = r.y + (r.height - preferredClientAreaSize.height) / 2;
-
- for (Iterator i = children.iterator(); i.hasNext(); )
- {
- IFigure child = (IFigure)i.next();
- Dimension childSize = child.getPreferredSize();
- child.setBounds(new Rectangle(x, y, childSize.width, childSize.height));
- y += childSize.height + spacing;
- }
-}
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenteredIconFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenteredIconFigure.java
deleted file mode 100644
index 3426bb00d8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenteredIconFigure.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.swt.graphics.Image;
-
-
-public class CenteredIconFigure extends ContainerFigure
-{
- public Image image;
-
- public CenteredIconFigure()
- {
- super();
- setFill(true);
- }
-
- protected void fillShape(Graphics g)
- {
- super.fillShape(g);
- if (image != null)
- {
- Rectangle r = getBounds();
- Dimension imageSize = new Dimension(16, 16);
- g.drawImage(image, r.x + (r.width - imageSize.width)/2, r.y + (r.height - imageSize.height)/2);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ConnectionFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ConnectionFigure.java
deleted file mode 100644
index aaa05f11c2..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ConnectionFigure.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.GraphNodeEditPart;
-
-
-
-public class ConnectionFigure extends RectangleFigure
-{
- protected boolean isOutlined = true;
- protected IFigure xsdFigure;
-
- public ConnectionFigure(IFigure xsdFigure)
- {
- setOpaque(false);
- this.xsdFigure = xsdFigure;
- //setFocusTraversable(false);
- //setEnabled(false);
- }
-
- protected boolean isMouseEventTarget()
- {
- return false;
- }
-
- public boolean containsPoint(int x, int y){return false;}
-
- protected void fillShape(Graphics graphics)
- {
- graphics.setForegroundColor(ColorConstants.black);
- drawLines(graphics, xsdFigure);
- }
-
- protected void drawLines(Graphics graphics, IFigure figure)
- {
- if (figure instanceof GraphNodeFigure)
- {
- GraphNodeFigure graphNodeFigure = (GraphNodeFigure)figure;
- if (graphNodeFigure.isConnected() && graphNodeFigure.isExpanded())
- {
- List childList = graphNodeFigure.getChildGraphNodeFigures();
- if (childList.size() > 0)
- {
- Rectangle r = graphNodeFigure.getConnectionRectangle();
-
- int x1 = r.x + r.width;
- int y1 = r.y + r.height/2;
-
- int startOfChildBox = ((GraphNodeFigure)childList.get(0)).getConnectionRectangle().x;
-
- int x2 = x1 + (startOfChildBox - x1) / 3;
- int y2 = y1;
-
- if (childList.size() > 1)
- {
- graphics.drawLine(x1, y1, x2, y2);
-
- int minY = Integer.MAX_VALUE;
- int maxY = -1;
-
- for (Iterator i = childList.iterator(); i.hasNext(); )
- {
- GraphNodeFigure childGraphNodeFigure = (GraphNodeFigure)i.next();
- Rectangle childConnectionRectangle = childGraphNodeFigure.getConnectionRectangle();
- int y = childConnectionRectangle.y + childConnectionRectangle.height / 2;
-
- minY = Math.min(minY, y);
- maxY = Math.max(maxY, y);
- graphics.drawLine(x2, y, childConnectionRectangle.x, y);
- }
- graphics.drawLine(x2, minY, x2, maxY);
- }
- else
- {
- graphics.drawLine(x1, y1, startOfChildBox, y2);
- }
- }
- }
- }
-
- //boolean visitChildren = true;
- List children = figure.getChildren();
- for (Iterator i = children.iterator(); i.hasNext(); )
- {
- IFigure child = (IFigure)i.next();
- drawLines(graphics, child);
- }
- }
-
-
- // This method supports the preview connection line function related to drag and drop
- //
- public PointList getConnectionPoints(GraphNodeEditPart parentEditPart, GraphNodeEditPart childRefEditPart, Rectangle draggedFigureBounds)
- {
- PointList pointList = new PointList();
- int[] data = new int[1];
- Point a = getConnectionPoint(parentEditPart, childRefEditPart, data);
- if (a != null)
- {
- int draggedFigureBoundsY = draggedFigureBounds.y + draggedFigureBounds.height/2;
-
- pointList.addPoint(a);
- //pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
-
- if (data[0] == 0) // insert between 2 items
- {
- int x = a.x + (draggedFigureBounds.x - a.x)/2;
- pointList.addPoint(new Point(x, a.y));
- pointList.addPoint(new Point(x, draggedFigureBoundsY));
- pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
- }
- else // insert at first or last position
- {
- pointList.addPoint(new Point(a.x, draggedFigureBoundsY));
- pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
- }
- }
- return pointList;
- }
-
-
- // This method supports the preview connection line function related to drag and drop
- //
- protected Point getConnectionPoint(GraphNodeEditPart parentEditPart, GraphNodeEditPart childRefEditPart, int[] data)
- {
- Point point = null;
- List childList = parentEditPart.getChildren();
-
- //TreeNodeIconFigure icon = ((TreeNodeFigure)parent.getFigure()).treeNodeIconFigure;
-
- if (childList.size() > 0)
- {
- point = new Point();
-
- GraphNodeEditPart prev = null;
- GraphNodeEditPart next = null;
-
- for (Iterator i = childList.iterator(); i.hasNext(); )
- {
- Object o = i.next();
- if (o instanceof GraphNodeEditPart)
- {
- GraphNodeEditPart childEditPart = (GraphNodeEditPart)o;
- if (childEditPart == childRefEditPart)
- {
- next = childEditPart;
- break;
- }
- prev = childEditPart;
- }
- }
-
- if (next != null && prev != null)
- {
- int ya = prev.getConnectionRectangle().getCenter().y;
- int yb = next.getConnectionRectangle().getCenter().y;
- point.y = ya + (yb - ya)/2;
- data[0] = 0;
- }
- else if (prev != null) // add it last
- {
- point.y = prev.getConnectionRectangle().getCenter().y;
- data[0] = 1;
- }
- else if (next != null) // add it first!
- {
- point.y = next.getConnectionRectangle().getCenter().y;
- data[0] = -1;
- }
-
- if (next != null || prev != null)
- {
- GraphNodeEditPart child = prev != null ? prev : next;
- int startOfChildBox = child.getConnectionRectangle().x;
- Rectangle r = parentEditPart.getConnectionRectangle();
- int x1 = r.x + r.width;
- point.x = x1 + (startOfChildBox - x1) / 3;
- }
- }
- return point;
- }
-
-
- protected void outlineShape(Graphics graphics)
- {
- if (isOutlined)
- {
- super.outlineShape(graphics);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerFigure.java
deleted file mode 100644
index 8594005a03..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerFigure.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.RectangleFigure;
-
-public class ContainerFigure extends RectangleFigure
-{
- protected boolean isOutlined = false;
-
- public ContainerFigure()
- {
- setLayoutManager(new ContainerLayout());
- setFill(false);
- }
-
- public void doLayout()
- {
- layout();
- setValid(true);
- }
-
- public ContainerLayout getContainerLayout()
- {
- return (ContainerLayout)getLayoutManager();
- }
-
- public void setOutlined(boolean isOutlined)
- {
- this.isOutlined = isOutlined;
- }
-
- protected void outlineShape(Graphics graphics)
- {
- if (isOutlined)
- {
- super.outlineShape(graphics);
- }
- }
-
-
- public void validate()
- {
- if (isValid())
- {
- return;
- }
- super.validate();
- postLayout();
- }
-
-
- protected void postLayout()
- {
- LayoutManager layoutManager = getLayoutManager();
- if (layoutManager instanceof PostLayoutManager)
- {
- ((PostLayoutManager)layoutManager).postLayout(this);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerLayout.java
deleted file mode 100644
index 0a13f10b6c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerLayout.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.SpacingFigure;
-
-public class ContainerLayout extends AbstractLayout implements PostLayoutManager
-{
- protected boolean isHorizontal;
- protected int spacing = 0;
- protected int border = 0;
-
- public ContainerLayout()
- {
- this(true, 0);
- }
-
- public ContainerLayout(boolean isHorizontal, int spacing)
- {
- this.isHorizontal = isHorizontal;
- this.spacing = spacing;
- }
-
- public void setHorizontal(boolean isHorizontal)
- {
- this.isHorizontal = isHorizontal;
- }
-
- public void setSpacing(int spacing)
- {
- this.spacing = spacing;
- }
-
- public void setBorder(int border)
- {
- this.border = border;
- }
-
- /**
- * Calculates and returns the preferred size of the container
- * given as input.
- *
- * @param figure Figure whose preferred size is required.
- * @return The preferred size of the passed Figure.
- * @since 2.0
- */
- protected Dimension calculatePreferredSize(IFigure parent, int w, int h)
- {
- Dimension preferred = null;
-
- // Here we ensure that an unexpanded container is given a size of (0,0)
- //
- if (parent instanceof GraphNodeContainerFigure)
- {
- GraphNodeContainerFigure graphNodeContainerFigure = (GraphNodeContainerFigure)parent;
- if (!graphNodeContainerFigure.isExpanded())
- {
- preferred = new Dimension();
- }
- }
-
- if (preferred == null)
- {
- preferred = new Dimension();
- List children = parent.getChildren();
-
- for (int i=0; i < children.size(); i++)
- {
- IFigure child = (IFigure)children.get(i);
-
- Dimension childSize = child.getPreferredSize();
- /*
- if (child instanceof Interactor)
- {
- childSize.width = 9;
- childSize.height = 9;
- }*/
-
- if (isHorizontal)
- {
- preferred.width += childSize.width;
- preferred.height = Math.max(preferred.height, childSize.height);
- }
- else
- {
- preferred.height += childSize.height;
- preferred.width = Math.max(preferred.width, childSize.width);
- }
- }
-
- int childrenSize = children.size();
- if (childrenSize > 1)
- {
- if (isHorizontal)
- {
- preferred.width += spacing * (childrenSize - 1);
- }
- else
- {
- preferred.height += spacing * (childrenSize - 1);
- }
- }
-
- preferred.width += border * 2;
- preferred.height += border * 2;
- preferred.width += parent.getInsets().getWidth();
- preferred.height += parent.getInsets().getHeight();
- }
- return preferred;
- }
-
-
- protected int alignFigure(IFigure parent, IFigure child)
- {
- int y = -1;
- return y;
- }
-
- public void layout(IFigure parent)
- {
- List children = parent.getChildren();
- Dimension preferred = new Dimension();
-
- int rx = 0;
- for (int i=0; i < children.size(); i++)
- {
- IFigure child = (IFigure)children.get(i);
- Dimension childSize = child.getPreferredSize();
- if (isHorizontal)
- {
- preferred.height = Math.max(preferred.height, childSize.height);
- rx += childSize.width;
- }
- else
- {
- preferred.width = Math.max(preferred.width, childSize.width);
- }
- }
-
- if (isHorizontal)
- {
- preferred.height += border*2;
- preferred.width += border;
- }
- else
- {
- preferred.width += border*2;
- preferred.height += border;
- }
-
- int childrenSize = children.size();
- for (int i=0; i < childrenSize; i++)
- {
- IFigure child = (IFigure)children.get(i);
- Dimension childSize = child.getPreferredSize();
-
- if (isHorizontal)
- {
- int y = alignFigure(parent, child);
-
-
- if (y == -1)
- {
- y = (preferred.height - childSize.height) / 2;
- }
-
- Rectangle rectangle = new Rectangle(preferred.width, y, childSize.width, childSize.height);
- rectangle.translate(parent.getClientArea().getLocation());
-
- child.setBounds(rectangle);
- preferred.width += childSize.width;
- preferred.width += spacing;
-
- if (child instanceof SpacingFigure)
- {
- int availableHorizontalSpace = parent.getClientArea().width - rx;
- preferred.width += availableHorizontalSpace;
- }
- }
- else
- {
- Rectangle rectangle = new Rectangle(0, preferred.height, childSize.width, childSize.height);
- rectangle.translate(parent.getClientArea().getLocation());
- child.setBounds(rectangle);
- preferred.height += childSize.height;
- preferred.height += spacing;
- }
- }
- }
-
- public void postLayout(IFigure figure)
- {
- // This method attempts to align a 'FloatableFigure' (e.g. an Element node)
- // with any content that it is connected to. This way a chain of connected figures
- // will be vertically aligned (e.g. element -> modelgroup -> element). Any visible clipping of the
- // figures in the graph is probably a result of a bug in this code that results in a 'FloatableFigure' being
- // repositioned beyond the bounds of its parent.
- //
- for (Iterator i = figure.getChildren().iterator(); i.hasNext();)
- {
- IFigure child = (IFigure)i.next();
- if (child instanceof FloatableFigure)
- {
- FloatableFigure floatableFigure = (FloatableFigure)child;
- GraphNodeFigure graphNodeFigure = floatableFigure.getGraphNodeFigure();
- if (graphNodeFigure.isExpanded() && graphNodeFigure.getChildGraphNodeFigures().size() == 1)
- {
- GraphNodeFigure alignedChild = (GraphNodeFigure)graphNodeFigure.getChildGraphNodeFigures().get(0);
- Rectangle alignedChildBounds = alignedChild.getConnectionRectangle();
- Rectangle childBounds = child.getBounds();
-
- int l = childBounds.y + childBounds.height/2;
- int r = alignedChildBounds.y + alignedChildBounds.height/2;
- int delta = r - l;
-
- fixUp(child, delta);
- }
- }
- }
- }
-
- protected void fixUp(IFigure figure, int delta)
- {
- Rectangle bounds = figure.getBounds();
- bounds.y += delta;
- figure.setBounds(bounds);
-
- for (Iterator i = figure.getChildren().iterator(); i.hasNext(); )
- {
- IFigure child = (IFigure)i.next();
- fixUp(child, delta);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ExpandableGraphNodeFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ExpandableGraphNodeFigure.java
deleted file mode 100644
index e3391037ba..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ExpandableGraphNodeFigure.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-
-// ------------------------------------------------------------
-// | ExpandableGraphNodeFigure |
-// | |
-// | ---------------------------------- --------------- |
-// | | verticalGroup | | | |
-// | | | | | |
-// | | ----------------------------- | | | |
-// | | | horizontalGroup | | | | |
-// | | | | | | | |
-// | | | --------------------- | | | | |
-// | | | | outlinedArea | | | | | |
-// | | | | ----------------- | | | | outer | |
-// | | | | | iconArea | | | | | Content | |
-// | | | | ----------------- | [+] | | | Area | |
-// | | | | ----------------- | | | | | |
-// | | | | | innerContent | | | | | | |
-// | | | | ----------------- | | | | | |
-// | | | --------------------- | | | | |
-// | | ----------------------------- | | | |
-// | | | | | |
-// | | ------------------ | | | |
-// | | | occurenceArea | | | | |
-// | | ------------------ | | | |
-// | ---------------------------------- --------------- |
-// ------------------------------------------------------------
-
-public class ExpandableGraphNodeFigure extends RepeatableGraphNodeFigure
-{
- protected ContainerFigure horizontalGroup;
- protected Interactor interactor;
- protected ContainerFigure outerContentArea;
-
- public boolean isExpanded()
- {
- return interactor.isExpanded();
- }
-
- public void setExpanded(boolean isExpanded)
- {
- interactor.setExpanded(isExpanded);
- }
-
- public ExpandableGraphNodeFigure()
- {
- super();
- isConnected = true;
- }
-
- protected void createFigure()
- {
- createPreceedingSpace(this);
- createVerticalGroup(this);
- createHorizontalGroup(verticalGroup);
- createOutlinedArea(horizontalGroup);
- createInteractor(horizontalGroup);
- createOccurenceArea(verticalGroup);
- createOuterContentArea(this);
- }
-
- protected void createVerticalGroup(IFigure parent)
- {
- verticalGroup = new FloatableFigure(this);
- verticalGroup.getContainerLayout().setHorizontal(false);
- parent.add(verticalGroup);
- }
-
- protected void createHorizontalGroup(IFigure parent)
- {
- horizontalGroup = new ContainerFigure();
- parent.add(horizontalGroup);
- }
-
- protected void createInteractor(IFigure parent)
- {
- interactor = new Interactor();
- interactor.setForegroundColor(ColorConstants.black);
- interactor.setBackgroundColor(ColorConstants.white);
- parent.add(interactor);
- }
-
- protected void createOuterContentArea(IFigure parent)
- {
- // create a small space between the interactor and the contentArea
- //
- RectangleFigure space = new RectangleFigure();
- space.setVisible(false);
- space.setPreferredSize(new Dimension(5, 10));
- parent.add(space);
-
- outerContentArea = new GraphNodeContainerFigure(this);
- outerContentArea.getContainerLayout().setHorizontal(false);
- parent.add(outerContentArea);
- }
-
- public Interactor getInteractor()
- {
- return interactor;
- }
-
- public ContainerFigure getOuterContentArea()
- {
- return outerContentArea;
- }
-
- public IFigure getConnectionFigure()
- {
- return horizontalGroup;
- }
-
- public Rectangle getConnectionRectangle()
- {
- return horizontalGroup.getBounds();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FillLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FillLayout.java
deleted file mode 100644
index e358c0c4af..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FillLayout.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-
-/**
- * Figures using the StackLayout as their layout manager have
- * their children placed on top of one another. Order of
- * placement is determined by the order in which the children
- * were added, first child added placed on the bottom.
- */
-public class FillLayout extends AbstractLayout
-{
-
-protected boolean isHorizontal = false;
-protected int spacing = 0;
-public Dimension min;
-
-public FillLayout(){}
-public FillLayout(boolean dummy){}
-
-public FillLayout(int spacing)
-{
- this.spacing = spacing;
-}
-
-public void setHorizontal(boolean isHorizontal)
-{
- this.isHorizontal = isHorizontal;
-}
-
-/**
- * Calculates and returns the preferred size of the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- *
- * @param figure Container figure for which preferred size is required.
- * @return The preferred size of the input figure.
- * @since 2.0
- */
-protected Dimension calculatePreferredSize(IFigure figure, int w, int h)
-{
- Dimension d = calculatePreferredClientAreaSize(figure);
- d.expand(figure.getInsets().getWidth(),
- figure.getInsets().getHeight());
- //d.union(getBorderPreferredSize(figure));
- return d;
-}
-
-protected Dimension calculatePreferredClientAreaSize(IFigure figure)
-{
- Dimension d = new Dimension();
- List children = figure.getChildren();
-
-
- for (Iterator i = children.iterator(); i.hasNext(); )
- {
- IFigure child = (IFigure)i.next();
- Dimension childSize = child.getPreferredSize();
-
- if (isHorizontal)
- {
- d.width += childSize.width;
- d.height = Math.max(childSize.height, d.height);
- }
- else
- {
- d.height += childSize.height;
- d.width = Math.max(childSize.width, d.width);
- }
- }
-
-
- int childrenSize = children.size();
- if (childrenSize > 0)
- {
- if (isHorizontal)
- d.width += spacing * (childrenSize - 1);
- else
- d.height += spacing * (childrenSize - 1);
- }
-
- if (min != null)
- {
- d.width = Math.max(d.width, min.width);
- d.height = Math.max(d.height, min.height);
- }
- return d;
-}
-
-/*
- * Returns the minimum size required by the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- */
-public Dimension getMinimumSize(IFigure figure, int w, int h)
-{
- Dimension d = new Dimension();
- List children = figure.getChildren();
- IFigure child;
- for (int i=0; i < children.size(); i++){
- child = (IFigure)children.get(i);
- d.union(child.getMinimumSize());
- }
- d.expand(figure.getInsets().getWidth(),
- figure.getInsets().getHeight());
- return d;
-}
-
-public Dimension getPreferredSize(IFigure figure, int w, int h)
-{
- return calculatePreferredSize(figure, w, h);
-}
-
-/*
- * Lays out the children on top of each other with
- * their sizes equal to that of the available
- * paintable area of the input container figure.
- */
-public void layout(IFigure figure){
-
- Dimension preferredSize = calculatePreferredClientAreaSize(figure);
- Rectangle r = figure.getClientArea().getCopy();
-
- List children = figure.getChildren();
-
- for (Iterator i = children.iterator(); i.hasNext(); )
- {
- IFigure child = (IFigure)i.next();
- Dimension childSize = child.getPreferredSize();
-
- if (isHorizontal)
- {
- child.setBounds(new Rectangle(r.x, r.y, childSize.width, Math.max(preferredSize.height, r.height)));
- r.x += childSize.width + spacing;
- }
- else
- {
- child.setBounds(new Rectangle(r.x, r.y, Math.max(preferredSize.width, r.width), childSize.height));
- r.y += childSize.height + spacing;
- }
- }
-}
-}
- \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FloatableFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FloatableFigure.java
deleted file mode 100644
index c224145ee0..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FloatableFigure.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-
-
-public class FloatableFigure extends ContainerFigure
-{
- public GraphNodeFigure graphNodeFigure;
-
- public FloatableFigure(GraphNodeFigure graphNodeFigure)
- {
- super();
- this.graphNodeFigure = graphNodeFigure;
- }
-
- public GraphNodeFigure getGraphNodeFigure()
- {
- return graphNodeFigure;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeContainerFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeContainerFigure.java
deleted file mode 100644
index c06a6556d3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeContainerFigure.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-
-
-public class GraphNodeContainerFigure extends ContainerFigure
-{
- public ExpandableGraphNodeFigure expandableGraphNodeFigure;
-
- public GraphNodeContainerFigure(ExpandableGraphNodeFigure expandableGraphNodeFigure)
- {
- super();
- this.expandableGraphNodeFigure = expandableGraphNodeFigure;
- }
-
- public boolean isExpanded()
- {
- return expandableGraphNodeFigure.isExpanded();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeFigure.java
deleted file mode 100644
index 3d9706d5a4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeFigure.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-
-// ------------------------------
-// | GraphNodeFigure |
-// | |
-// | ------------------------- |
-// | | vertical group | |
-// | | --------------------- | |
-// | | | outlined area | | |
-// | | | ----------------- | | |
-// | | | | icon area | | | |
-// | | | ----------------- | | |
-// | | | ----------------- | | |
-// | | | | inner content | | | |
-// | | | ----------------- | | |
-// | | --------------------- | |
-// | ------------------------- |
-// ------------------------------
-
-public class GraphNodeFigure extends ContainerFigure
-{
- protected ContainerFigure verticalGroup;
- protected ContainerFigure outlinedArea;
- protected ContainerFigure iconArea;
- protected ContainerFigure innerContentArea;
-
- protected boolean isConnected;
- protected boolean isIsolated;
-
- protected List childGraphNodeFigures = new ArrayList();
- protected GraphNodeFigure parentGraphNodeFigure;
-
- public GraphNodeFigure()
- {
- isIsolated = false;
- createFigure();
- }
-
- public boolean isExpanded()
- {
- return true;
- }
-
- public boolean isConnected()
- {
- return isConnected;
- }
-
- public void setConnected(boolean isConnected)
- {
- this.isConnected = isConnected;
- }
-
- public void setIsIsolated(boolean isIsolated)
- {
- this.isIsolated = isIsolated;
- }
-
- public boolean getIsIsolated()
- {
- return isIsolated;
- }
-
- protected void createFigure()
- {
- createVerticalGroup(this);
- createOutlinedArea(verticalGroup);
- }
-
- protected void createVerticalGroup(IFigure parent)
- {
- verticalGroup = new ContainerFigure();
- verticalGroup.getContainerLayout().setHorizontal(false);
- parent.add(verticalGroup);
- }
-
- protected void createOutlinedArea(IFigure parent)
- {
- outlinedArea = new ContainerFigure();
- outlinedArea.getContainerLayout().setHorizontal(false);
- parent.add(outlinedArea);
-
- iconArea = new ContainerFigure();
- outlinedArea.add(iconArea);
-
- innerContentArea = new ContainerFigure();
- innerContentArea.getContainerLayout().setHorizontal(false);
- outlinedArea.add(innerContentArea);
- }
-
- public ContainerFigure getIconArea()
- {
- return iconArea;
- }
-
- public ContainerFigure getOutlinedArea()
- {
- return outlinedArea;
- }
-
- public ContainerFigure getInnerContentArea()
- {
- return innerContentArea;
- }
-
- public IFigure getConnectionFigure()
- {
- return outlinedArea;
- }
-
- public Rectangle getConnectionRectangle()
- {
- return outlinedArea.getBounds();
- }
-
- public List getChildGraphNodeFigures()
- {
- return childGraphNodeFigures;
- }
-
- public void addNotify()
- {
- super.addNotify();
- if (isConnected())
- {
- parentGraphNodeFigure = computeParentGraphNodeFigure(this);
- if (parentGraphNodeFigure != null)
- {
- parentGraphNodeFigure.getChildGraphNodeFigures().add(this);
- }
- }
- }
-
- public void removeNotify()
- {
- super.removeNotify();
- if (parentGraphNodeFigure != null)
- {
- parentGraphNodeFigure.getChildGraphNodeFigures().remove(this);
- }
- }
-
- public GraphNodeFigure getParentGraphNodeFigure()
- {
- return parentGraphNodeFigure;
- }
-
- public GraphNodeFigure computeParentGraphNodeFigure(IFigure figure)
- {
- GraphNodeFigure result = null;
- IFigure parent = figure != null ? figure.getParent() : null;
- while (parent != null)
- {
- if (parent instanceof GraphNodeFigure)
- {
- GraphNodeFigure parentGraphNodeFigure = (GraphNodeFigure)parent;
- if (parentGraphNodeFigure.isConnected())
- {
- result = (GraphNodeFigure)parent;
- break;
- }
- }
- parent = parent.getParent();
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/Interactor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/Interactor.java
deleted file mode 100644
index 7a64b8fbac..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/Interactor.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * Interactor the +/- control commonly found in trees
- */
-public class Interactor extends RectangleFigure
-{
- protected boolean isExpanded;
-
- public Interactor()
- {
- super();
- setPreferredSize(new Dimension(9, 9));
- }
-
- public void setExpanded(boolean isExpanded)
- {
- this.isExpanded = isExpanded;
- }
-
- public boolean isExpanded()
- {
- return isExpanded;
- }
-
- protected void fillShape(Graphics g)
- {
- super.fillShape(g);
- Rectangle r = getBounds();
- int mx = r.x + r.width / 2;
- int my = r.y + r.height / 2;
- int s = 2;
- g.drawLine(r.x + s, my, r.x + r.width - s - 1, my);
- if (!isExpanded)
- {
- g.drawLine(mx, r.y + s, mx, r.y + r.height - s -1);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/LabelFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/LabelFigure.java
deleted file mode 100644
index 04c82b8430..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/LabelFigure.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-
-public class LabelFigure extends Figure
-{
- protected String text = "";
- protected boolean isShowEmptyLabel = true;
- protected int left = 4;
- protected int right = 4;
- protected int textHeight;
- protected int textWidth;
-
- public LabelFigure()
- {
- setPreferredSize(new Dimension());
- }
-
- protected void setLeft(int left)
- {
- this.left = left;
- }
-
- protected void setRight(int right)
- {
- this.right = right;
- }
-
- public void setShowEmptyLabel(boolean isShowEmptyLabel)
- {
- this.isShowEmptyLabel = isShowEmptyLabel;
- }
-
-
- public void setText(String s)
- {
- if (s == null)
- s = "";
-
- if (!text.equals(s))
- {
- text = s;
- if (text.length() > 0 || isShowEmptyLabel)
- {
- textHeight = FigureUtilities.getFontMetrics(getFont()).getHeight();
- textWidth = FigureUtilities.getTextWidth(text, getFont());
- textWidth = Math.max(textWidth, FigureUtilities.getTextWidth("abcdefg", getFont()));
- setPreferredSize(new Dimension(textWidth + left + right, textHeight));
- }
- else
- {
- setPreferredSize(new Dimension());
- }
- }
- //revalidate();
- //repaint();
- }
-
-
-
- protected void paintFigure(Graphics graphics)
- //protected void fillShape(Graphics graphics)
- {
- super.paintFigure(graphics);
- //super.fillShape(graphics);
- if (text.length() > 0)
- {
- Rectangle r = getBounds();
- graphics.setForegroundColor(getForegroundColor());
- graphics.drawString(text, left + r.x, r.y);// + (r.width - textWidth)/2, r.y + (r.height - textHeight)/2);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/PostLayoutManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/PostLayoutManager.java
deleted file mode 100644
index 21a1f54274..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/PostLayoutManager.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.IFigure;
-
-
-public interface PostLayoutManager
-{
- public void postLayout(IFigure figure);
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RepeatableGraphNodeFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RepeatableGraphNodeFigure.java
deleted file mode 100644
index fd8d2496c3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RepeatableGraphNodeFigure.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.wst.xsd.ui.internal.graph.GraphicsConstants;
-
-
-
-
-// ------------------------------
-// | RepeatableGraphNodeFigure |
-// | |
-// | ------------------------- |
-// | | vertical group | |
-// | | --------------------- | |
-// | | | outlined area | | |
-// | | | ----------------- | | |
-// | | | | icon area | | | |
-// | | | ----------------- | | |
-// | | | ----------------- | | |
-// | | | | inner content | | | |
-// | | | ----------------- | | |
-// | | --------------------- | |
-// | | | |
-// | | ------------------ | |
-// | | | occurence area | | |
-// | | ------------------ | |
-// | ------------------------- |
-// ------------------------------
-
-public class RepeatableGraphNodeFigure extends GraphNodeFigure
-{
- protected ContainerFigure occurenceArea;
- protected LabelFigure occurenceLabel;
-
- public RepeatableGraphNodeFigure()
- {
- super();
- }
-
- protected void createFigure()
- {
- createPreceedingSpace(this);
- createVerticalGroup(this);
- createOutlinedArea(verticalGroup);
- createOccurenceArea(verticalGroup);
- }
-
- protected void createOccurenceArea(IFigure parent)
- {
- occurenceArea = new ContainerFigure();
- occurenceLabel = new LabelFigure();
- occurenceLabel.setForegroundColor(ColorConstants.black);
- occurenceLabel.setShowEmptyLabel(false);
- occurenceLabel.setFont(GraphicsConstants.medium);
- occurenceArea.add(occurenceLabel);
- parent.add(occurenceArea);
- }
-
- protected void createPreceedingSpace(IFigure parent)
- {
- // create a small space
- RectangleFigure space = new RectangleFigure();
- space.setVisible(false);
- space.setPreferredSize(new Dimension(10, 10));
- parent.add(space);
- }
-
- public LabelFigure getOccurenceLabel()
- {
- return occurenceLabel;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RoundedLineBorder.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RoundedLineBorder.java
deleted file mode 100644
index 75dbff750c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RoundedLineBorder.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.swt.graphics.Color;
-
-
-public class RoundedLineBorder extends LineBorder
-{
- protected int arcLength;
- protected int lineStyle = Graphics.LINE_SOLID;
-
- public RoundedLineBorder(Color c, int width, int arcLength)
- {
- super(c, width);
- this.arcLength = arcLength;
- }
-
- public RoundedLineBorder(int width, int arcLength)
- {
- super(width);
- this.arcLength = arcLength;
- }
-
- public RoundedLineBorder(Color c, int width, int arcLength, int lineStyle)
- {
- super(c, width);
- this.arcLength = arcLength;
- this.lineStyle = lineStyle;
- }
-
- public RoundedLineBorder(int width, int arcLength, int lineStyle)
- {
- super(width);
- this.arcLength = arcLength;
- this.lineStyle = lineStyle;
- }
-
- public void paint(IFigure figure, Graphics graphics, Insets insets)
- {
- int rlbWidth = getWidth();
- tempRect.setBounds(getPaintRectangle(figure, insets));
- if (rlbWidth%2 == 1)
- {
- tempRect.width--;
- tempRect.height--;
- }
- tempRect.shrink(rlbWidth/2,rlbWidth/2);
- graphics.setLineWidth(rlbWidth);
- graphics.setLineStyle(lineStyle);
- if (getColor() != null)
- graphics.setForegroundColor(getColor());
- graphics.drawRoundRectangle(tempRect, arcLength, arcLength);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/Category.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/Category.java
deleted file mode 100644
index bd99148ff5..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/Category.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.model;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-
-public class Category implements ModelAdapter
-{
- public final static int ATTRIBUTES = 1;
- public final static int ELEMENTS = 2;
- public final static int TYPES = 3;
- public final static int GROUPS = 5;
- public final static int DIRECTIVES = 6;
- public final static int NOTATIONS = 7;
- public final static int ATTRIBUTE_GROUPS = 8;
- public final static int IDENTITY_CONSTRAINTS = 9;
- public final static int ANNOTATIONS = 10;
-
-
- protected XSDSchema schema;
- protected int groupType;
-
- //public void modelNameChanged();
- public Category(XSDSchema schema, int groupType)
- {
- this.schema = schema;
- this.groupType = groupType;
- }
-
- public int getGroupType()
- {
- return groupType;
- }
-
- public XSDSchema getXSDSchema()
- {
- return schema;
- }
-
- public String getName()
- {
- String name = "";
- switch (groupType)
- {
- case ATTRIBUTES : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_ATTRIBUTES"); break; }
- case NOTATIONS : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_NOTATIONS"); break; }
- case ELEMENTS : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_ELEMENTS"); break; }
- case TYPES : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_TYPES"); break; }
- case GROUPS : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_GROUPS"); break; }
- case DIRECTIVES : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_DIRECTIVES"); break; }
- }
- return name;
- }
-
- public List getChildren()
- {
- List list = Collections.EMPTY_LIST;
- switch (groupType)
- {
- case ATTRIBUTES : { list = getAttributeList(); break; }
- case NOTATIONS : { list = getNotations(); break; }
- case ELEMENTS : { list = getGlobalElements(); break; }
- case TYPES : { list = getTypes(); break; }
- case GROUPS : { list = getGroups(); break; }
- case DIRECTIVES : { list = getDirectives(); break; }
- }
- return list;
- }
-
- private boolean isSameNamespace(String ns1, String ns2)
- {
- if (ns1 == null) ns1 = "";
- if (ns2 == null) ns2 = "";
-
- if (ns1.equals(ns2))
- {
- return true;
- }
- return false;
- }
-
- protected List getGlobalElements()
- {
- List elements = schema.getElementDeclarations();
- List list = new ArrayList();
- for (Iterator i = elements.iterator(); i.hasNext(); )
- {
- XSDElementDeclaration elem = (XSDElementDeclaration)i.next();
- String targetNamespace = elem.getTargetNamespace();
- if (isSameNamespace(elem.getTargetNamespace(),schema.getTargetNamespace()))
- {
- list.add(elem);
- }
- }
- return list;
- }
-
- protected List getTypes()
- {
- List allTypes = schema.getTypeDefinitions();
- List list = new ArrayList();
- for (Iterator i = allTypes.iterator(); i.hasNext(); )
- {
- XSDTypeDefinition td = (XSDTypeDefinition)i.next();
- if (td instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)td;
- if (isSameNamespace(ct.getTargetNamespace(),schema.getTargetNamespace()))
- {
- list.add(ct);
- }
- }
- }
-
-// List simpleTypes = schema.getTypeDefinitions();
- for (Iterator i = allTypes.iterator(); i.hasNext(); )
- {
- XSDTypeDefinition td = (XSDTypeDefinition)i.next();
- if (td instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)td;
- if (isSameNamespace(st.getTargetNamespace(),schema.getTargetNamespace()))
- {
- list.add(st);
- }
- }
- }
- return list;
- }
-
- protected List getGroups()
- {
- List groups = schema.getModelGroupDefinitions();
- List list = new ArrayList();
- for (Iterator i = groups.iterator(); i.hasNext(); )
- {
- XSDModelGroupDefinition group = (XSDModelGroupDefinition)i.next();
- if (isSameNamespace(group.getTargetNamespace(),schema.getTargetNamespace()))
- {
- list.add(group);
- }
- }
- return list;
- }
-
- protected List getDirectives()
- {
- List list = new ArrayList();
- for (Iterator i = schema.getContents().iterator(); i.hasNext(); )
- {
- Object o = i.next();
- if (o instanceof XSDSchemaDirective)
- {
- list.add(o);
- }
- }
- return list;
- }
-
- protected List getAttributeList()
- {
- List attributesList = new ArrayList();
- for (Iterator iter = schema.getAttributeDeclarations().iterator(); iter.hasNext(); )
- {
- Object o = iter.next();
- if (o instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration attr = (XSDAttributeDeclaration)o;
- if (attr != null)
- {
- if (attr.getTargetNamespace() != null)
- {
- if (!(attr.getTargetNamespace().equals("http://www.w3.org/2001/XMLSchema-instance")))
- {
- if (isSameNamespace(attr.getTargetNamespace(), schema.getTargetNamespace()))
- {
- attributesList.add(attr);
- }
- }
- }
- else
- {
- if (isSameNamespace(attr.getTargetNamespace(),schema.getTargetNamespace()))
- {
- attributesList.add(attr);
- }
- }
- }
- }
- }
- return attributesList;
- }
-
- protected List getNotations()
- {
- List notations = schema.getNotationDeclarations();
- List list = new ArrayList();
- for (Iterator i = notations.iterator(); i.hasNext(); )
- {
- XSDNotationDeclaration notation = (XSDNotationDeclaration)i.next();
- if (isSameNamespace(notation.getTargetNamespace(),schema.getTargetNamespace()))
- {
- list.add(notation);
- }
- }
- return list;
- }
-
- //
- protected List listenerList = new ArrayList();
-
- public void addListener(ModelAdapterListener l)
- {
- listenerList.add(l);
- }
-
- public void removeListener(ModelAdapterListener l)
- {
- listenerList.remove(l);
- }
-
- public Object getProperty(Object modelObject, String propertyName)
- {
- return null;
- }
-
- public void firePropertyChanged(Object modelObject, String propertyName)
- {
- List newList = new ArrayList();
- newList.addAll(listenerList);
- for (Iterator i = newList.iterator(); i.hasNext(); )
- {
- ModelAdapterListener l = (ModelAdapterListener)i.next();
- try
- {
- l.propertyChanged(modelObject, propertyName);
- }
- catch (Exception e)
- {
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapter.java
deleted file mode 100644
index 30669878a2..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.model;
-
-
-
-public interface ModelAdapter
-{
- public static final String CHILDREN_PROPERTY = "CHILDREN_PROPERTY";
- public static final String LABEL_PROPERTY = "LABEL_PROPERTY";
- public static final String IMAGE_PROPERTY = "IMAGE_PROPERTY";
- public static final String DETAIL_PROPERTY = "DETAIL_PROPERTY";
-
- public void addListener(ModelAdapterListener l);
- public void removeListener(ModelAdapterListener l);
- public Object getProperty(Object modelObject, String propertyName);
- public void firePropertyChanged(Object modelObject, String propertyName);
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapterListener.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapterListener.java
deleted file mode 100644
index ff6e4db5f6..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapterListener.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.model;
-
-
-
-public interface ModelAdapterListener
-{
- public void propertyChanged(Object object, String property);
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/XSDModelAdapterFactory.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/XSDModelAdapterFactory.java
deleted file mode 100644
index 471aebb9bf..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/XSDModelAdapterFactory.java
+++ /dev/null
@@ -1,511 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.graph.model;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDAbstractAdapter;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDModelAdapterFactoryImpl;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDSwitch;
-
-
-
-
-public class XSDModelAdapterFactory
-{
- protected static XSDModelAdapterFactory instance;
- protected static XSDAdapterFactoryImpl xsdAdapterFactoryImpl = new XSDAdapterFactoryImpl();
-
- public static XSDModelAdapterFactory getInstance()
- {
- if (instance == null)
- {
- instance = new XSDModelAdapterFactory();
- }
- return instance;
- }
-
-
- public static ModelAdapter getAdapter(Object o)
- {
- ModelAdapter result = null;
- if (o instanceof Notifier)
- {
- Notifier target = (Notifier)o;
- Adapter adapter = xsdAdapterFactoryImpl.adapt(target);
- if (adapter instanceof XSDObjectAdapter)
- {
- result = (XSDObjectAdapter)adapter;
- }
- }
- else if (o instanceof ModelAdapter)
- {
- result = (ModelAdapter)o;
- }
- return result;
- }
-
-
- public static XSDObjectAdapter getExisitingAdapter(Object xsdObject)
- {
- XSDObjectAdapter result = null;
- if (xsdObject instanceof Notifier)
- {
- Notifier target = (Notifier)xsdObject;
- Adapter adapter = EcoreUtil.getExistingAdapter(target,xsdAdapterFactoryImpl);
- if (adapter instanceof XSDObjectAdapter)
- {
- result = (XSDObjectAdapter)adapter;
- }
- }
- return result;
- }
-
- //
- //
- //
- public static class XSDAdapterFactoryImpl extends AdapterFactoryImpl
- {
- public Adapter createAdapter(Notifier target)
- {
- XSDSwitch xsdSwitch = new XSDSwitch()
- {
- public Object caseXSDElementDeclaration(XSDElementDeclaration object)
- {
- return new XSDElementDeclarationAdapter(object);
- }
-
- public Object caseXSDSchema(XSDSchema object)
- {
- return new XSDSchemaAdapter(object);
- }
-
- public Object defaultCase(EObject object)
- {
- return new XSDObjectAdapter();
- }
- };
- Object o = xsdSwitch.doSwitch((EObject)target);
-
- Adapter result = null;
- if (o instanceof Adapter)
- {
- result = (Adapter)o;
- }
- else
- {
-// System.out.println("did not create adapter for target : " + target);
-// Thread.dumpStack();
- }
- return result;
- }
-
-
- public Adapter adapt(Notifier target)
- {
- return adapt(target, this);
- }
- }
-
-
-
- //
- //
- //
- protected static class XSDObjectAdapter extends AdapterImpl implements ModelAdapter
- {
- protected List listenerList = new ArrayList();
- protected boolean isUpdating = false;
-
- public boolean isAdapterForType(Object type)
- {
- return type == xsdAdapterFactoryImpl;
- }
-
- public void addListener(ModelAdapterListener l)
- {
- listenerList.add(l);
- }
-
- public void removeListener(ModelAdapterListener l)
- {
- listenerList.remove(l);
- }
-
- public Object getProperty(Object modelObject, String propertyName)
- {
- Object result = null;
- if (ModelAdapter.LABEL_PROPERTY.equals(propertyName))
- {
- result = "";
- // TODO... move this logic into each adapter
- //
- if (modelObject instanceof XSDNamedComponent)
- {
- result = ((XSDNamedComponent)modelObject).getName();
- }
- else if (modelObject instanceof XSDSchemaDirective)
- {
- result = ((XSDSchemaDirective)modelObject).getSchemaLocation();
- if (result == null) result = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED") + ")";
- if (result.equals("")) result = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED") + ")";
- return result;
- }
- }
- else if ("drillDown".equals(propertyName))
- {
- // TODO... move this logic into each adapter
- //
- List list = XSDChildUtility.getModelChildren(modelObject);
- result = list.size() > 0 ? Boolean.TRUE : Boolean.FALSE;
- }
- else if (ModelAdapter.IMAGE_PROPERTY.equals(propertyName))
- {
- // result = XSDEditorPlugin.getDefault().getImage("icons/XSDElement.gif");
- XSDModelAdapterFactoryImpl factory = new XSDModelAdapterFactoryImpl();
- Adapter adapter = factory.createAdapter((Notifier)modelObject);
- result = ((XSDAbstractAdapter)adapter).getImage(modelObject);
- }
- return result;
- }
-
- public void firePropertyChanged(Object modelObject, String propertyName)
- {
- List newList = new ArrayList();
- newList.addAll(listenerList);
- for (Iterator i = newList.iterator(); i.hasNext(); )
- {
- ModelAdapterListener l = (ModelAdapterListener)i.next();
- try
- {
- l.propertyChanged(modelObject, propertyName);
- }
- catch (Exception e)
- {
- }
- }
- }
-
- public void notifyChanged(Notification msg)
- {
- firePropertyChanged(msg.getNotifier(), null);
- }
- }
-
-
-
- //
- //
- //
- protected static class XSDElementDeclarationAdapter extends XSDObjectAdapter implements ModelAdapterListener
- {
- protected XSDElementDeclaration ed;
- protected XSDTypeDefinition typeDefinition;
-
- public XSDElementDeclarationAdapter(XSDElementDeclaration ed)
- {
- this.ed = ed;
- updateTypeDefinition();
- }
-
- protected void updateTypeDefinition()
- {
- XSDTypeDefinition td = ed.getTypeDefinition();
- td = (td instanceof XSDComplexTypeDefinition) ? td : null;
- if (td != typeDefinition)
- {
- if (typeDefinition != null)
- {
- XSDObjectAdapter adapter = (XSDObjectAdapter)xsdAdapterFactoryImpl.adapt(typeDefinition);
- adapter.removeListener(this);
- }
- typeDefinition = td;
- if (typeDefinition != null)
- {
- XSDObjectAdapter adapter = (XSDObjectAdapter)xsdAdapterFactoryImpl.adapt(typeDefinition);
- adapter.addListener(this);
- }
- }
- }
-
-
- public void notifyChanged(Notification msg)
- {
- updateTypeDefinition();
- firePropertyChanged(msg.getNotifier(), null);
- }
-
-
- public void propertyChanged(Object object, String property)
- {
- // here we propagate typeDefinition changes to our listeners
- firePropertyChanged(object, property);
- }
- }
-
-
- //
- //
- protected static class XSDSchemaAdapter extends XSDObjectAdapter
- {
- protected XSDSchema schema;
- protected List groups;
-
- public XSDSchemaAdapter(XSDSchema schema)
- {
- this.schema = schema;
- groups = new ArrayList();
- groups.add(new Category(schema, Category.DIRECTIVES));
- groups.add(new Category(schema, Category.ATTRIBUTES));
- //groups.add(new Category(schema, Category.ATTRIBUTE_GROUPS));
- groups.add(new Category(schema, Category.ELEMENTS));
- groups.add(new Category(schema, Category.TYPES));
- //groups.add(new Category(schema, Category.SIMPLE_TYPES));
- groups.add(new Category(schema, Category.GROUPS));
- }
-
- public void notifyChanged(Notification msg)
- {
- super.notifyChanged(msg);
- for (Iterator i = groups.iterator(); i.hasNext(); )
- {
- ModelAdapter group = (ModelAdapter)i.next();
- group.firePropertyChanged(group, null);
- }
- }
-
- public Object getProperty(Object modelObject, String propertyName)
- {
- Object result = null;
- if ("groups".equals(propertyName))
- {
- /*
- List list = new ArrayList();
- for (Iterator i = groups.iterator(); i.hasNext(); )
- {
- Category group = (Category)i.next();
- if (group.getChildren().size() > 0)
- {
- list.add(group);
- }
- }
- result = list;*/
- result = groups;
- }
- if (result == null)
- {
- result = super.getProperty(modelObject, propertyName);
- }
- return result;
- }
- }
-
-
- public static void addModelAdapterListener(Object modelObject, ModelAdapterListener listener)
- {
- ModelAdapter modelAdapter = getModelAdapter(modelObject);
- if (modelAdapter != null)
- {
- modelAdapter.addListener(listener);
- }
- }
-
-
- public static void removeModelAdapterListener(Object modelObject, ModelAdapterListener listener)
- {
- ModelAdapter modelAdapter = getModelAdapter(modelObject);
- if (modelAdapter != null)
- {
- modelAdapter.removeListener(listener);
- }
- }
-
- protected static ModelAdapter getModelAdapter(Object modelObject)
- {
- ModelAdapter modelAdapter = null;
- if (modelObject instanceof Notifier)
- {
- modelAdapter = (ModelAdapter)xsdAdapterFactoryImpl.adapt((Notifier)modelObject);
- }
- else if (modelObject instanceof ModelAdapter)
- {
- modelAdapter = (ModelAdapter)modelObject;
- }
- return modelAdapter;
- }
-}
-
-
-
-// --------------------------------------------------------------------------------------------
-// todo... revist this stuff
-// --------------------------------------------------------------------------------------------
-
- /*
- public static void handleTypeChange(XSDTypeDefinition td, XSDSchema schema, int change)
- {
- try
- {
- TypeFindingSchemaVisitor visitor = new TypeFindingSchemaVisitor(schema, td, change == Notification.ADD);
- List list = visitor.findElementsUsingType(schema);
-
- if (change == Notification.REMOVE)
- {
- visitor.removeMatchingReferences();
- }
- else if (change == Notification.ADD)
- {
- visitor.setMatchingReferences();
- }
- else
- {
- visitor.cleanUpTypeMismatches();
- }
-
- for (Iterator i = list.iterator(); i.hasNext(); )
- {
- Object o = i.next();
- XSDObjectAdapter adapter = getExisitingAdapter(o);
- if (adapter != null)
- {
- adapter.fireChildrenChangedNotification();
- }
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
-
- protected static class TypeFindingSchemaVisitor extends org.eclipse.wst.xsd.utility.XSDVisitor
- {
- protected XSDTypeDefinition td;
- protected List list = new ArrayList();
- protected XSDSchema schema;
- protected boolean matchByName;
-
- public TypeFindingSchemaVisitor(XSDSchema schema, XSDTypeDefinition td, boolean matchByName)
- {
- this.td = td;
- this.schema = schema;
- this.matchByName = matchByName;
- }
-
- public void visitElementDeclaration(XSDElementDeclaration ed)
- {
- if (ed.getTypeDefinition() == td)
- {
- list.add(ed);
- }
- else if (matchByName)
- {
- String[] name = getDOMName(ed);
- if (name[0].equals(td.getTargetNamespace()) && name[1].equals(td.getName()))
- {
- list.add(ed);
- }
- }
- }
-
- public List findElementsUsingType(XSDSchema schema)
- {
- if (td != null)
- {
- visitSchema(schema);
- }
- return list;
- }
-
- public List getMatchingTypeList()
- {
- return list;
- }
-
- public String[] getDOMName(XSDElementDeclaration ed)
- {
- String[] result = new String[2];
- org.w3c.dom.Element domElement = ed.getElement();
- String typeName = domElement.getAttribute("type");
- if (typeName != null && !typeName.endsWith(td.getName()))
- {
- int index = typeName.indexOf(":");
- String prefix = index == -1 ? "" : typeName.substring(0, index);
- result[0] = (String)schema.getQNamePrefixToNamespaceMap().get(prefix);
- if (result[0] == null) result[0] = "";
- if (result[1] == null) result[1] = "";
- result[1] = index == -1 ? typeName : typeName.substring(index + 1);
- }
- else
- {
- result[0] = "";
- result[1] = "";
- }
- return result;
- }
-
-
- public void cleanUpTypeMismatches()
- {
- for (Iterator i = list.iterator(); i.hasNext(); )
- {
- XSDElementDeclaration ed = (XSDElementDeclaration)i.next();
- XSDTypeDefinition candidateTd = ed.getTypeDefinition();
- if (candidateTd != null && candidateTd.getName() != null)
- {
- String[] result = getDOMName(ed);
- ed.setTypeDefinition((XSDTypeDefinition)schema.resolveComplexTypeDefinition(result[0], result[1]));
- }
- }
- }
-
- public void removeMatchingReferences()
- {
- for (Iterator i = list.iterator(); i.hasNext(); )
- {
- XSDElementDeclaration ed = (XSDElementDeclaration)i.next();
- String[] result = getDOMName(ed);
- if (ed.getElement() != null)
- {
- // NOTE ... this forces the model to reset the ed's XSDTypeDefinition without causing the
- // DOM element's 'type' attribute to be set to null
- ed.elementAttributesChanged(ed.getElement());
- }
- }
- }
-
- public void setMatchingReferences()
- {
- for (Iterator i = list.iterator(); i.hasNext(); )
- {
- XSDElementDeclaration ed = (XSDElementDeclaration)i.next();
- ed.setTypeDefinition(td);
- }
- }
- } */
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateDtd.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateDtd.gif
deleted file mode 100644
index ac58c1e8ab..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateDtd.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateJava.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateJava.gif
deleted file mode 100644
index 2375c655d8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateJava.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GraphViewElementRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GraphViewElementRef.gif
deleted file mode 100644
index d535dac36d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GraphViewElementRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/NewXSD.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/NewXSD.gif
deleted file mode 100644
index 47f6730398..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/NewXSD.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/RegexWizardArrow.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/RegexWizardArrow.gif
deleted file mode 100644
index 3d550a30e8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/RegexWizardArrow.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/ValidateXSD.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/ValidateXSD.gif
deleted file mode 100644
index 2b347ac458..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/ValidateXSD.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAll.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAll.gif
deleted file mode 100644
index 6d74e802b5..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAll.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnnotate.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnnotate.gif
deleted file mode 100644
index d2108c0368..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnnotate.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAny.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAny.gif
deleted file mode 100644
index a39f93cdce..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAny.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnyAttribute.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnyAttribute.gif
deleted file mode 100644
index 5280cc2904..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnyAttribute.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAppInfo.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAppInfo.gif
deleted file mode 100644
index 2da001e3e9..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAppInfo.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttribute.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttribute.gif
deleted file mode 100644
index 79d49d037b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttribute.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroup.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroup.gif
deleted file mode 100644
index 648462ff67..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroup.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroupRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroupRef.gif
deleted file mode 100644
index a89fa8f187..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroupRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeRef.gif
deleted file mode 100644
index 8365af2f3c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDChoice.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDChoice.gif
deleted file mode 100644
index 89ba825253..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDChoice.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexContent.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexContent.gif
deleted file mode 100644
index 41c68dda8c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexContent.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexType.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexType.gif
deleted file mode 100644
index 007f8522af..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexType.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDDoc.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDDoc.gif
deleted file mode 100644
index d349a05f2b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDDoc.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElement.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElement.gif
deleted file mode 100644
index dd45f08fb1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElement.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElementRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElementRef.gif
deleted file mode 100644
index 749acfc9c9..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElementRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDExtension.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDExtension.gif
deleted file mode 100644
index 0cfb8076dd..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDExtension.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDField.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDField.gif
deleted file mode 100644
index 378e43e14d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDField.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDFile.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDFile.gif
deleted file mode 100644
index 3900f1b55d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDFile.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalAttribute.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalAttribute.gif
deleted file mode 100644
index 79d49d037b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalAttribute.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalElement.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalElement.gif
deleted file mode 100644
index dd45f08fb1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalElement.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroup.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroup.gif
deleted file mode 100644
index 555ef53306..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroup.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroupRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroupRef.gif
deleted file mode 100644
index 36213426cf..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroupRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDImport.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDImport.gif
deleted file mode 100644
index 9e44ce52a9..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDImport.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDInclude.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDInclude.gif
deleted file mode 100644
index b26c527f5e..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDInclude.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKey.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKey.gif
deleted file mode 100644
index 04032a915a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKey.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKeyRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKeyRef.gif
deleted file mode 100644
index ee5829d693..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKeyRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDNotation.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDNotation.gif
deleted file mode 100644
index ce9df985b8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDNotation.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDRedefine.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDRedefine.gif
deleted file mode 100644
index 56964c13a5..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDRedefine.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSelector.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSelector.gif
deleted file mode 100644
index 2399a58204..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSelector.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSequence.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSequence.gif
deleted file mode 100644
index 8bf3f972d2..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSequence.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleContent.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleContent.gif
deleted file mode 100644
index 7ef38df720..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleContent.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleEnum.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleEnum.gif
deleted file mode 100644
index 11d7958525..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleEnum.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleList.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleList.gif
deleted file mode 100644
index d08e78f891..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleList.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimplePattern.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimplePattern.gif
deleted file mode 100644
index a113cf45a0..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimplePattern.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleRestrict.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleRestrict.gif
deleted file mode 100644
index 38bc12e32f..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleRestrict.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleType.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleType.gif
deleted file mode 100644
index 75f33c24fa..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleType.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleUnion.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleUnion.gif
deleted file mode 100644
index 292adafc8e..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleUnion.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDUnique.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDUnique.gif
deleted file mode 100644
index 5a8a650f3d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDUnique.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/back.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/back.gif
deleted file mode 100644
index 24d1a279e5..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/back.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/browsebutton.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/browsebutton.gif
deleted file mode 100644
index 13dae59bea..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/browsebutton.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/forward.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/forward.gif
deleted file mode 100644
index eab699e385..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/forward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/generate_xml.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/generate_xml.gif
deleted file mode 100644
index f2e363564f..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/generate_xml.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/regx_wiz.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/regx_wiz.gif
deleted file mode 100644
index 789d137394..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/regx_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/reloadgrammar.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/reloadgrammar.gif
deleted file mode 100644
index c705db0c1e..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/reloadgrammar.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/sort.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/sort.gif
deleted file mode 100644
index 3c65dc4ba1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/sort.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/preferences/XSDPreferencePage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/preferences/XSDPreferencePage.java
deleted file mode 100644
index 0506798f4b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/preferences/XSDPreferencePage.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.preferences;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-
-public class XSDPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, Listener
-{
- Text indentTextField;
- String indentString;
- Text schemaNsPrefixField;
- Text defaultTargetNamespaceText;
- Button qualifyXSDLanguage;
-
- /**
- * Creates preference page controls on demand.
- * @param parent the parent for the preference page
- */
- protected Control createContents(Composite parent)
- {
- WorkbenchHelp.setHelp(parent, XSDEditorContextIds.XSDP_PREFERENCE_PAGE);
-
- Group group = createGroup(parent, 2);
- group.setText(XSDEditorPlugin.getXSDString("_UI_TEXT_XSD_NAMESPACE_PREFIX"));
-
- qualifyXSDLanguage = ViewUtility.createCheckBox(group, XSDEditorPlugin.getXSDString("_UI_QUALIFY_XSD"));
- ViewUtility.createLabel(group, " ");
-
- createLabel(group, XSDEditorPlugin.getXSDString("_UI_TEXT_XSD_DEFAULT_PREFIX"));
- schemaNsPrefixField = createTextField(group);
- schemaNsPrefixField.addKeyListener(new KeyAdapter()
- {
- public void keyPressed(KeyEvent e)
- {
- setValid(true);
- }
- });
-
- createLabel(group, XSDEditorPlugin.getXSDString("_UI_TEXT_XSD_DEFAULT_TARGET_NAMESPACE"));
- defaultTargetNamespaceText = createTextField(group);
-
- initializeValues();
-
- return new Composite(parent, SWT.NULL);
- }
-
- private Group createGroup(Composite parent, int numColumns)
- {
- Group group = new Group(parent, SWT.NULL);
-
- GridLayout layout = new GridLayout();
- layout.numColumns = numColumns;
- group.setLayout(layout);
-
- GridData data = new GridData();
- data.verticalAlignment = GridData.FILL;
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- group.setLayoutData(data);
-
- return group;
- }
-
- private Text createTextField(Composite parent)
- {
- Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
- GridData data = new GridData();
- data.verticalAlignment = GridData.FILL;
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- text.setLayoutData(data);
-
- return text;
- }
-
- private Label createLabel(Composite parent, String text)
- {
- Label label = new Label(parent, SWT.LEFT);
- label.setText(text);
-
- GridData data = new GridData();
- data.verticalAlignment = GridData.CENTER;
- data.horizontalAlignment = GridData.FILL;
- label.setLayoutData(data);
-
- return label;
- }
-
- /**
- * Does anything necessary because the default button has been pressed.
- */
- protected void performDefaults()
- {
- super.performDefaults();
- initializeDefaults();
- checkValues();
- }
-
- /**
- * Do anything necessary because the OK button has been pressed.
- * @return whether it is okay to close the preference page
- */
- public boolean performOk()
- {
- if (checkValues())
- {
- storeValues();
- return true;
- }
- return false;
- }
-
- protected void performApply()
- {
- if (checkValues())
- {
- storeValues();
- }
- }
-
- /**
- * Handles events generated by controls on this page.
- * @param e the event to handle
- */
- public void handleEvent(Event e)
- {
- Widget source = e.widget;
- }
-
- /**
- * @see IWorkbenchPreferencePage
- */
- public void init(IWorkbench workbench)
- {
- }
-
- /**
- * The indent is stored in the preference store associated with the XML Schema Model
- */
- public IPreferenceStore getPreferenceStore()
- {
- return XSDEditorPlugin.getPlugin().getPreferenceStore();
- }
-
- /**
- * Initializes states of the controls using default values
- * in the preference store.
- */
- private void initializeDefaults()
- {
- schemaNsPrefixField.setText(getPreferenceStore().getDefaultString(XSDEditorPlugin.CONST_XSD_DEFAULT_PREFIX_TEXT));
- qualifyXSDLanguage.setSelection(getPreferenceStore().getDefaultBoolean(XSDEditorPlugin.CONST_XSD_LANGUAGE_QUALIFY));
- defaultTargetNamespaceText.setText(getPreferenceStore().getString(XSDEditorPlugin.CONST_DEFAULT_TARGET_NAMESPACE));
- }
-
- /**
- * Initializes states of the controls from the preference store.
- */
- private void initializeValues()
- {
- IPreferenceStore store = getPreferenceStore();
- schemaNsPrefixField.setText(store.getString(XSDEditorPlugin.CONST_XSD_DEFAULT_PREFIX_TEXT));
- qualifyXSDLanguage.setSelection(store.getBoolean(XSDEditorPlugin.CONST_XSD_LANGUAGE_QUALIFY));
- defaultTargetNamespaceText.setText(store.getString(XSDEditorPlugin.CONST_DEFAULT_TARGET_NAMESPACE));
- }
-
- /**
- * Stores the values of the controls back to the preference store.
- */
- private void storeValues()
- {
- IPreferenceStore store = getPreferenceStore();
-
- store.setValue(XSDEditorPlugin.CONST_XSD_DEFAULT_PREFIX_TEXT, getXMLSchemaPrefix());
- store.setValue(XSDEditorPlugin.CONST_XSD_LANGUAGE_QUALIFY, getQualify());
- store.setValue(XSDEditorPlugin.CONST_DEFAULT_TARGET_NAMESPACE, getXMLSchemaTargetNamespace());
-
- XSDEditorPlugin.getPlugin().savePluginPreferences();
- }
-
- public String getXMLSchemaPrefix()
- {
- String prefix = schemaNsPrefixField.getText();
- if (prefix == null || prefix.equals(""))
- {
- return "xsd";
- }
- return prefix;
- }
-
- public boolean getQualify()
- {
- return qualifyXSDLanguage.getSelection();
- }
-
- /**
- * Get the xml schema default target namespace
- */
- public String getXMLSchemaTargetNamespace()
- {
- String targetNamespace = defaultTargetNamespaceText.getText();
- if (targetNamespace == null || targetNamespace.equals(""))
- {
- return XSDEditorPlugin.DEFAULT_TARGET_NAMESPACE;
- }
- return targetNamespace;
- }
-
- public boolean checkValues()
- {
-// KCPort TODO String errorMessage = ValidateHelper.checkXMLName(schemaNsPrefixField.getText());
- String errorMessage = null;
-
- if (errorMessage == null || errorMessage.length() == 0)
- {
- setErrorMessage(null);
- setValid(true);
- return true;
- }
- else
- {
- setErrorMessage(XSDEditorPlugin.getXSDString("_ERROR_LABEL_INVALID_PREFIX"));
- setValid(false);
- return false;
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyAttributePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyAttributePropertySource.java
deleted file mode 100644
index 0f4e7e707a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyAttributePropertySource.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class AnyAttributePropertySource extends BasePropertySource implements IPropertySource
-{
- private String[] namespaceComboValues = {
- "",
- "##any",
- "##other",
- "##targetNamespace",
- "##local"
- };
-
- private String[] processContentsComboValues = {
- "",
- XSDEditorPlugin.getXSDString("_UI_COMBO_LAX"),
- XSDEditorPlugin.getXSDString("_UI_COMBO_SKIP"),
- XSDEditorPlugin.getXSDString("_UI_COMBO_STRICT")
- };
- public AnyAttributePropertySource()
- {
- }
-
- public AnyAttributePropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
-
- public AnyAttributePropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
-
- XSDComboBoxPropertyDescriptor namespaceDescriptor = new XSDComboBoxPropertyDescriptor(
- XSDConstants.NAMESPACE_ATTRIBUTE,
- XSDConstants.NAMESPACE_ATTRIBUTE,
- namespaceComboValues);
- list.add(namespaceDescriptor);
-
- XSDComboBoxPropertyDescriptor processContentsDescriptor = new XSDComboBoxPropertyDescriptor(
- XSDConstants.PROCESSCONTENTS_ATTRIBUTE,
- XSDConstants.PROCESSCONTENTS_ATTRIBUTE,
- processContentsComboValues);
- list.add(processContentsDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- if (result == null)
- {
- result = "";
- }
- return result;
- }
- return "";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- if (((String) id).equals(XSDConstants.NAMESPACE_ATTRIBUTE))
- {
- String namespace = (String)value;
- beginRecording(XSDEditorPlugin.getXSDString("_UI_NAMESPACE_CHANGE"), element);
- if (namespace != null && namespace.length() > 0)
- {
- element.setAttribute(XSDConstants.NAMESPACE_ATTRIBUTE, namespace);
- }
- else
- {
- element.removeAttribute(XSDConstants.NAMESPACE_ATTRIBUTE);
- }
- endRecording(element);
- }
- else if (((String) id).equals(XSDConstants.PROCESSCONTENTS_ATTRIBUTE))
- {
- String processContents = (String)value;
- beginRecording(XSDEditorPlugin.getXSDString("_UI_PROCESSCONTENTS_CHANGE"), element);
- if (processContents != null && processContents.length() > 0)
- {
- element.setAttribute(XSDConstants.PROCESSCONTENTS_ATTRIBUTE, processContents);
- }
- else
- {
- element.removeAttribute(XSDConstants.PROCESSCONTENTS_ATTRIBUTE);
- }
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyContentPropertyDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyContentPropertyDescriptor.java
deleted file mode 100644
index b11ef1e94f..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyContentPropertyDescriptor.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class AnyContentPropertyDescriptor extends PropertyDescriptor
-{
- Element element;
- /**
- * @param id
- * @param displayName
- */
- public AnyContentPropertyDescriptor(Object id, String displayName, Element element)
- {
- super(id, displayName);
- this.element = element;
- }
-
- public CellEditor createPropertyEditor(Composite parent)
- {
- CellEditor editor = new AnyContentDialogCellEditor(parent);
- if (getValidator() != null)
- editor.setValidator(getValidator());
- return editor;
- }
-
- public class AnyContentDialogCellEditor extends DialogCellEditor {
-
- /**
- * Creates a new Font dialog cell editor parented under the given control.
- * The cell editor value is <code>null</code> initially, and has no
- * validator.
- *
- * @param parent the parent control
- */
- protected AnyContentDialogCellEditor(Composite parent) {
- super(parent);
- }
-
- /**
- * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(Control)
- */
- protected Object openDialogBox(Control cellEditorWindow)
- {
- Shell shell = Display.getCurrent().getActiveShell();
-
- AnyContentDialog dialog = new AnyContentDialog(shell);
- dialog.setBlockOnOpen(true);
- dialog.create();
-
- String value = (String)getValue();
-
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- return dialog.getComment();
- }
- return value;
- }
-
- }
-
- public class AnyContentDialog extends org.eclipse.jface.dialogs.Dialog
- {
- protected Text commentField;
- protected Button okButton, cancelButton;
- private String comment;
-
- public AnyContentDialog(Shell shell)
- {
- super(shell);
- }
-
- protected void configureShell(Shell shell)
- {
- super.configureShell(shell);
- }
-
- protected void buttonPressed(int buttonId)
- {
- if (buttonId == Dialog.OK)
- {
- comment = commentField.getText();
- }
- super.buttonPressed(buttonId);
- }
-
- public String getComment() { return comment; }
-
- //
- // Create the controls
- //
- public Control createDialogArea(Composite parent)
- {
- int tabIndex = 0;
- Composite client = (Composite)super.createDialogArea(parent);
- getShell().setText("Content for " + element.getLocalName());
-
- commentField = ViewUtility.createMultiTextField(client, 400, 200, true);
-
- WorkbenchHelp.setHelp(commentField, XSDEditorContextIds.XSDE_ANNOTATION_COMMENT);
- commentField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_COMMENT"));
-
- String initialString = (String)getInitialContent();
- commentField.setText(initialString);
- return client;
- }
-
- private Object getInitialContent()
- {
- Object result = null;
- if (element.hasChildNodes())
- {
- // if the element is Text
- Node node = element.getFirstChild();
- if (node instanceof CharacterData)
- {
- result = ((CharacterData)node).getData();
- }
- }
- else
- {
- result = "";
- }
- return result;
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyElementPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyElementPropertySource.java
deleted file mode 100644
index df43637d1d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyElementPropertySource.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class AnyElementPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
-
- private String[] namespaceComboValues = {
- "",
- "##any",
- "##other",
- "##targetNamespace",
- "##local"
- };
-
- private String[] processContentsComboValues = {
- "",
- XSDEditorPlugin.getXSDString("_UI_COMBO_LAX"),
- XSDEditorPlugin.getXSDString("_UI_COMBO_SKIP"),
- XSDEditorPlugin.getXSDString("_UI_COMBO_STRICT")
- };
-
- /**
- *
- */
- public AnyElementPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public AnyElementPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public AnyElementPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
-
- XSDComboBoxPropertyDescriptor namespaceDescriptor = new XSDComboBoxPropertyDescriptor(
- XSDConstants.NAMESPACE_ATTRIBUTE,
- XSDConstants.NAMESPACE_ATTRIBUTE,
- namespaceComboValues);
- list.add(namespaceDescriptor);
-
- XSDComboBoxPropertyDescriptor processContentsDescriptor = new XSDComboBoxPropertyDescriptor(
- XSDConstants.PROCESSCONTENTS_ATTRIBUTE,
- XSDConstants.PROCESSCONTENTS_ATTRIBUTE,
- processContentsComboValues);
- list.add(processContentsDescriptor);
-
-// These are moved to the tabbed properties general section
-// PropertyDescriptor minOccursDescriptor =
-// new TextPropertyDescriptor(
-// XSDConstants.MINOCCURS_ATTRIBUTE,
-// XSDConstants.MINOCCURS_ATTRIBUTE);
-// list.add(minOccursDescriptor);
-// PropertyDescriptor maxOccursDescriptor =
-// new TextPropertyDescriptor(
-// XSDConstants.MAXOCCURS_ATTRIBUTE,
-// XSDConstants.MAXOCCURS_ATTRIBUTE);
-// list.add(maxOccursDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- if (result == null)
- {
- result = "";
- }
- return result;
-
-// if (((String) id).equals(XSDConstants.NAMESPACE_ATTRIBUTE))
-// {
-// }
-// else if (((String) id).equals(XSDConstants.PROCESSCONTENTS_ATTRIBUTE))
-// {
-// }
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- if (((String) id).equals(XSDConstants.MAXOCCURS_ATTRIBUTE))
- {
- String max = (String)value;
- String min = element.getAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- beginRecording(XSDEditorPlugin.getXSDString("_UI_MAXOCCURS_CHANGE"), element);
- if (max.length() > 0)
- {
- element.setAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE, max);
- }
- else
- {
- element.removeAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
- }
- endRecording(element);
- }
- else if (((String) id).equals(XSDConstants.MINOCCURS_ATTRIBUTE))
- {
- String min = (String)value;
- String max = element.getAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
- beginRecording(XSDEditorPlugin.getXSDString("_UI_MINOCCURS_CHANGE"), element);
- if (min.length() > 0)
- {
- element.setAttribute(XSDConstants.MINOCCURS_ATTRIBUTE, min);
- }
- else
- {
- element.removeAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- }
- endRecording(element);
- }
- else if (((String) id).equals(XSDConstants.NAMESPACE_ATTRIBUTE))
- {
- String namespace = (String)value;
- beginRecording(XSDEditorPlugin.getXSDString("_UI_NAMESPACE_CHANGE"), element);
- if (namespace.length() > 0)
- {
- element.setAttribute(XSDConstants.NAMESPACE_ATTRIBUTE, namespace);
- }
- else
- {
- element.removeAttribute(XSDConstants.NAMESPACE_ATTRIBUTE);
- }
- endRecording(element);
- }
- else if (((String) id).equals(XSDConstants.PROCESSCONTENTS_ATTRIBUTE))
- {
- String processContents = (String)value;
- beginRecording(XSDEditorPlugin.getXSDString("_UI_PROCESSCONTENTS_CHANGE"), element);
- if (processContents.length() > 0)
- {
- element.setAttribute(XSDConstants.PROCESSCONTENTS_ATTRIBUTE, processContents);
- }
- else
- {
- element.removeAttribute(XSDConstants.PROCESSCONTENTS_ATTRIBUTE);
- }
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AppInfoPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AppInfoPropertySource.java
deleted file mode 100644
index b99c76815a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AppInfoPropertySource.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.Node;
-
-public class AppInfoPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- public static String CONTENT = "Content";
-
- /**
- *
- */
- public AppInfoPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public AppInfoPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public AppInfoPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
- PropertyDescriptor sourceDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.SOURCE_ATTRIBUTE,
- XSDConstants.SOURCE_ATTRIBUTE);
- list.add(sourceDescriptor);
- AnyContentPropertyDescriptor contentDescriptor =
- new AnyContentPropertyDescriptor(
- CONTENT,
- CONTENT,
- element);
- list.add(contentDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- if (((String) id).equals(CONTENT))
- {
- try
- {
- if (element.hasChildNodes())
- {
- // if the element is Text
- Node node = element.getFirstChild();
- if (node instanceof CharacterData)
- {
- return ((CharacterData)node).getData();
- }
- }
- else
- {
- return "";
- }
- }
- catch (Exception e)
- {
-
- }
-
- }
- else
- {
- result = element.getAttribute((String) id);
- }
- }
- if (result == null)
- {
- result = "";
- }
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value != null)
- {
- if (value instanceof String)
- {
- if (((String)id).equals(XSDConstants.SOURCE_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_SOURCE_ATTRIBUTE_CHANGE"), element);
- if (((String)value).length() > 0)
- {
- element.setAttribute(XSDConstants.SOURCE_ATTRIBUTE, (String)value);
- }
- else
- {
- element.removeAttribute(XSDConstants.SOURCE_ATTRIBUTE);
- }
- endRecording(element);
- }
- else if (((String)id).equals(CONTENT))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_COMMENT_CHANGE"), element);
- try
- {
- if (element.hasChildNodes())
- {
- // if the element is Text
- Node node = element.getFirstChild();
- if (node instanceof CharacterData)
- {
- ((CharacterData)node).setData((String)value);
- }
- }
- else
- {
- if (((String)value).length() > 0)
- {
- Node childNode = element.getOwnerDocument().createTextNode((String)value);
- element.appendChild(childNode);
- }
- }
- endRecording(element);
- }
- catch (Exception e)
- {
-
- }
- }
- else // shouldn't be here
- {
- element.setAttribute((String) id, (String) value);
- }
- }
- else if (value instanceof Integer)
- {
- }
- }
- else
- {
- element.removeAttribute((String) id);
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributeGroupRefPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributeGroupRefPropertySource.java
deleted file mode 100644
index 74ca7021ec..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributeGroupRefPropertySource.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class AttributeGroupRefPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- private String[] refComboValues = { "" };
- /**
- *
- */
- public AttributeGroupRefPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public AttributeGroupRefPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public AttributeGroupRefPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
-
- public void setInput(Element element)
- {
- this.element = element;
- TypesHelper helper = new TypesHelper(xsdSchema);
- java.util.List items = helper.getGlobalAttributes();
-
- if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
- {
- items = helper.getGlobalAttributes();
-// WorkbenchHelp.setHelp(client, XSDEditorContextIds.XSDE_ATTRIBUTE_REF_DESIGN_VIEW);
-// WorkbenchHelp.setHelp(refCombo, XSDEditorContextIds.XSDE_ATTRIBUTE_REF_NAME);
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
- {
- items = helper.getGlobalAttributeGroups();
-// WorkbenchHelp.setHelp(client, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_REF_DESIGN_VIEW);
-// WorkbenchHelp.setHelp(refCombo, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_REF_NAME);
- }
- int size = items.size() + 1;
- refComboValues = new String[size];
- refComboValues[0] = "";
- if (items != null)
- {
- for (int i = 0; i < items.size(); i++)
- {
- refComboValues[i + 1] = (String) items.get(i);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
- XSDComboBoxPropertyDescriptor refDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.REF_ATTRIBUTE,
- XSDConstants.REF_ATTRIBUTE,
- refComboValues);
- list.add(refDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- if (result == null)
- {
- result = "";
- }
-// if (((String) id).equals(XSDConstants.REF_ATTRIBUTE))
-// {
-// }
- return result;
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- if (((String) id).equals(XSDConstants.REF_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTEGROUP_REF_CHANGE"), element);
- element.setAttribute(XSDConstants.REF_ATTRIBUTE, (String) value);
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributePropertySource.java
deleted file mode 100644
index f89b2f0f54..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributePropertySource.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalAttributeRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-public class AttributePropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- private String[] useComboValues =
- {
- "",
- "prohibited", // XSDEditorPlugin.getXSDString("_UI_COMBO_BOX_PROHIBITED"),
- "optional", // XSDEditorPlugin.getXSDString("_UI_COMBO_BOX_OPTIONAL"),
- "required" // XSDEditorPlugin.getXSDString("_UI_COMBO_BOX_REQUIRED")
- };
-
- protected String formComboValues[] =
- {
- "",
- XSDEditorPlugin.getXSDString("_UI_COMBO_UNQUALIFIED"),
- XSDEditorPlugin.getXSDString("_UI_COMBO_QUALIFIED")
- };
-
-
- /**
- *
- */
- public AttributePropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public AttributePropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public AttributePropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
- PropertyDescriptor nameDescriptor = new TextPropertyDescriptor(XSDConstants.NAME_ATTRIBUTE, XSDConstants.NAME_ATTRIBUTE);
- list.add(nameDescriptor);
-// nameDescriptor.setCategory(XSDEditorPlugin.getXSDString("_UI_LABEL_GENERAL"));
- TypesPropertyDescriptor typeDescriptor = new TypesPropertyDescriptor(
- XSDConstants.TYPE_ATTRIBUTE,
- XSDConstants.TYPE_ATTRIBUTE,
- element, xsdSchema);
- list.add(typeDescriptor);
-// typeDescriptor.setCategory(XSDEditorPlugin.getXSDString("_UI_LABEL_GENERAL"));
-
- Attr fixedAttr = element.getAttributeNode(XSDConstants.FIXED_ATTRIBUTE);
- Attr defaultAttr = element.getAttributeNode(XSDConstants.DEFAULT_ATTRIBUTE);
- String str;
- if (fixedAttr != null)
- {
- str = XSDConstants.FIXED_ATTRIBUTE;
- }
- else if (defaultAttr != null)
- {
- str = XSDConstants.DEFAULT_ATTRIBUTE;
- }
- else
- {
- str = XSDConstants.FIXED_ATTRIBUTE + "/" + XSDConstants.DEFAULT_ATTRIBUTE;
- }
-
- FixedOrDefaultTextPropertyDescriptor fixedOrDefaultDescriptor =
- new FixedOrDefaultTextPropertyDescriptor(
- str,
- str,
- element);
- list.add(fixedOrDefaultDescriptor);
-// fixedOrDefaultDescriptor.setCategory(XSDEditorPlugin.getXSDString("_UI_LABEL_OTHER"));
-
- Object parentNode = element.getParentNode();
- if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- }
- else
- {
- XSDComboBoxPropertyDescriptor useDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.USE_ATTRIBUTE,
- XSDConstants.USE_ATTRIBUTE,
- useComboValues);
- list.add(useDescriptor);
-// useDescriptor.setCategory(XSDEditorPlugin.getXSDString("_UI_LABEL_OTHER"));
- XSDComboBoxPropertyDescriptor formDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.FORM_ATTRIBUTE,
- XSDConstants.FORM_ATTRIBUTE,
- formComboValues);
- list.add(formDescriptor);
-// formDescriptor.setCategory(XSDEditorPlugin.getXSDString("_UI_LABEL_OTHER"));
- }
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- if (result == null)
- {
- result = "";
- }
- if (((String) id).equals(XSDConstants.TYPE_ATTRIBUTE))
- {
- if (result.equals(""))
- {
- if (checkForAnonymousType(element))
- {
- return "**anonymous**";
- }
- else
- {
- return XSDEditorPlugin.getXSDString("_UI_NO_TYPE");
- }
- }
- else
- {
- return result;
- }
- }
- return result;
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- if (((String) id).equals(XSDConstants.TYPE_ATTRIBUTE))
- {
-// beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);
-// element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, (String)value);
-// updateElementToNotAnonymous(element);
-// endRecording(element);
- }
- else if (((String) id).equals(XSDConstants.NAME_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_NAME_CHANGE"), element);
- // now rename any references to this element
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDAttributeDeclaration && comp.getRootContainer().equals(xsdSchema))
- {
- XSDAttributeDeclaration xsdAttributeDeclaration = (XSDAttributeDeclaration)comp;
- xsdAttributeDeclaration.setName((String)value);
- GlobalAttributeRenamer renamer = new GlobalAttributeRenamer(xsdAttributeDeclaration, (String)value);
- renamer.visitSchema(xsdSchema);
- }
- }
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, (String)value);
- endRecording(element);
- }
- else if (((String) id).equals(XSDConstants.FIXED_ATTRIBUTE) || ((String) id).equals(XSDConstants.DEFAULT_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_VALUE_CHANGE"), element);
- if (((String)value).equals(""))
- {
- element.removeAttribute((String)id);
- }
- else
- {
- element.setAttribute((String) id, (String) value);
- }
- endRecording(element);
- }
- else if (((String) id).equals(XSDConstants.USE_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_USE_CHANGE"), element);
- if (((String)value).equals(""))
- {
- element.removeAttribute(XSDConstants.USE_ATTRIBUTE);
- }
- else
- {
- element.setAttribute((String) id, (String)value);
- }
- endRecording(element);
- }
- else if (((String) id).equals(XSDConstants.FORM_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_FORM_CHANGE"), element);
- if (((String)value).equals(""))
- {
- element.removeAttribute(XSDConstants.FORM_ATTRIBUTE);
- }
- else
- {
- element.setAttribute(XSDConstants.FORM_ATTRIBUTE, (String)value);
- }
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
- boolean checkForAnonymousType(Element element)
- {
- NodeList list = element.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (list.getLength() > 0)
- {
- return true;
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributesTable.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributesTable.java
deleted file mode 100644
index f80e72eb90..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributesTable.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-//import java.text.Collator;
-//import java.util.Comparator;
-//import java.util.List;
-//
-//import org.eclipse.jface.viewers.CellEditor;
-//import org.eclipse.jface.viewers.ColumnPixelData;
-//import org.eclipse.jface.viewers.ICellModifier;
-//import org.eclipse.jface.viewers.ILabelProvider;
-//import org.eclipse.jface.viewers.IStructuredContentProvider;
-//import org.eclipse.jface.viewers.ITableLabelProvider;
-//import org.eclipse.jface.viewers.LabelProvider;
-//import org.eclipse.jface.viewers.TableLayout;
-//import org.eclipse.jface.viewers.TableViewer;
-//import org.eclipse.jface.viewers.TextCellEditor;
-//import org.eclipse.jface.viewers.Viewer;
-//import org.eclipse.swt.SWT;
-//import org.eclipse.swt.events.MouseAdapter;
-//import org.eclipse.swt.events.MouseEvent;
-//import org.eclipse.swt.graphics.Image;
-//import org.eclipse.swt.widgets.Composite;
-//import org.eclipse.swt.widgets.Control;
-//import org.eclipse.swt.widgets.Table;
-//import org.eclipse.swt.widgets.TableColumn;
-//import org.eclipse.swt.widgets.TableItem;
-//import org.eclipse.ui.IEditorPart;
-//import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-//import org.eclipse.ui.views.properties.IPropertyDescriptor;
-//import org.eclipse.ui.views.properties.IPropertySource;
-//import org.w3c.dom.Element;
-
-public class AttributesTable // extends TableViewer implements ICellModifier
-{
-// protected static final String PROPERTY = "property"; //$NON-NLS-1$
-// protected static final String VALUE = "value"; //$NON-NLS-1$
-//
-// protected IEditorPart editorPart;
-// protected String[] columnProperties = {PROPERTY, VALUE};
-// protected PropertyTableProvider tableProvider = new PropertyTableProvider(this);
-// protected CellEditor cellEditor;
-// //protected StringComboBoxCellEditor comboCellEditor;
-// protected IPropertySource propertySource;
-//
-// public AttributesTable(IEditorPart editorPart, Composite parent)
-// {
-// super(new Table(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.FLAT | SWT.H_SCROLL | SWT.V_SCROLL));
-// this.editorPart = editorPart;
-// getTable().setLinesVisible(true);
-// getTable().setHeaderVisible(true);
-//
-// setContentProvider(tableProvider);
-// setLabelProvider(tableProvider);
-// setColumnProperties(columnProperties);
-//
-// for (int i = 0; i < columnProperties.length; i++)
-// {
-// TableColumn column = new TableColumn(getTable(), SWT.NONE, i);
-// column.setText(columnProperties[i]);
-// column.setAlignment(SWT.LEFT);
-// }
-//
-//// TableLayout layout = new TableLayout();
-//// ColumnWeightData data = new ColumnWeightData(40, 40, true);
-//// layout.addColumnData(data);
-////
-//// ColumnWeightData data2 = new ColumnWeightData(80, 80, true);
-//// layout.addColumnData(data2);
-//
-// TableLayout layout = new TableLayout();
-// layout.addColumnData(new ColumnPixelData(130,true));
-// layout.addColumnData(new ColumnPixelData(130,true));
-// getTable().setLayout(layout);
-//
-//
-// cellEditor = new TextCellEditor(getTable());
-// resetCellEditors();
-//
-// setCellModifier(this);
-// }
-//
-// public void setPropertySource(IPropertySource propertySource)
-// {
-// this.propertySource = propertySource;
-// }
-//
-// /* (non-Javadoc)
-// * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)
-// */
-// public boolean canModify(Object element, String property)
-// {
-// return property.equals(VALUE);
-// }
-//
-// /* (non-Javadoc)
-// * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String)
-// */
-// public Object getValue(Object element, String property)
-// {
-// int column = 0;
-// if (property.equals(columnProperties[0]))
-// {
-// column = 0;
-// }
-// else if (property.equals(columnProperties[1]))
-// {
-// column = 1;
-// }
-// return tableProvider.getColumnValue(element, column);
-// }
-//
-// /* (non-Javadoc)
-// * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object)
-// */
-// public void modify(Object element, String property, Object value)
-// {
-// TableItem item = (TableItem)element;
-// IPropertyDescriptor propertyDescriptor = (IPropertyDescriptor)item.getData();
-//
-// // if the new value is the same as the old value, the user has only clicked
-// // on the cell in the course of 'browsing' ... so don't edit the value
-// Object oldValue = getValue(propertyDescriptor, property);
-// if (value != null && !value.equals(oldValue))
-// {
-// // we assume the value is empty that the attribute should be removed
-// // todo... we probably need to look at this in more detail
-// if (value instanceof String && ((String)value).length() == 0)
-// {
-// value = null;
-// }
-// propertySource.setPropertyValue(propertyDescriptor.getId(), value);
-// }
-// }
-//
-//
-// protected void hookControl(Control control) {
-// // we need to hook up our own mouse listener first
-// // so that we can update the cellEditors before
-// // the 'internal' listener tries to get hold of them
-// Table tableControl = (Table)control;
-// tableControl.addMouseListener(new MouseAdapter() {
-// public void mouseDown(MouseEvent e) {
-// System.out.println("Mouse down");
-// updateCellEditors();
-// }
-// });
-// super.hookControl(control);
-// }
-//
-// protected void updateCellEditors()
-// {
-// CellEditor[] cellEditors = new CellEditor[2];
-// cellEditors[0] = cellEditor;
-// cellEditors[1] = cellEditor;
-//
-// Element element = (Element)getInput();
-//
-// IPropertyDescriptor[] propertyDescriptors = propertySource.getPropertyDescriptors();
-// int index = getTable().getSelectionIndex();
-// if (index >= 0 && index < propertyDescriptors.length)
-// {
-// CellEditor[] oldCellEditors = getCellEditors();
-// CellEditor oldCellEditor = (oldCellEditors.length > 1) ? oldCellEditors[1] : null;
-// if (oldCellEditor != null && oldCellEditor != cellEditor)
-// {
-// oldCellEditor.deactivate();
-// oldCellEditor.dispose();
-// }
-// cellEditors[1] = propertyDescriptors[index].createPropertyEditor(getTable());
-// }
-// setCellEditors(cellEditors);
-//
-//// IPropertyDescriptor[] propertyDescriptors = propertySource.getPropertyDescriptors();
-////
-//// int index = getTable().getSelectionIndex();
-//// //cellEditor.dispose();
-////
-//// if (index >= 0 && index < propertyDescriptors.length)
-//// {
-//// cellEditor = propertyDescriptors[index].createPropertyEditor(getTable());
-//// Control control = cellEditor.getControl();
-//// if (control == null) {
-//// cellEditor.deactivate();
-//// cellEditor = null;
-//// return;
-//// }
-//// setCellEditors(new CellEditor[] {null, cellEditor});
-//// cellEditor.activate();
-//// cellEditor.setFocus();
-//// }
-// }
-//
-//
-// public String[] getStringArray(List list)
-// {
-// String[] result = new String[list.size()];
-// for (int i = 0; i < result.length; i++)
-// {
-// result[i] = (String)list.get(i);
-// }
-// return result;
-// }
-//
-// protected void resetCellEditors()
-// {
-// CellEditor[] cellEditors = new CellEditor[2];
-// cellEditors[0] = null;
-// cellEditors[1] = cellEditor;
-// setCellEditors(cellEditors);
-// }
-//
-//
-// class PropertyTableProvider extends LabelProvider implements ITableLabelProvider, IStructuredContentProvider
-// {
-// protected TableViewer viewer;
-//
-// PropertyTableProvider(TableViewer viewer)
-// {
-// this.viewer = viewer;
-// }
-//
-// public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-// {
-//// resetCellEditors();
-//// if (newInput instanceof XMLElement)
-//// {
-//// propertySource = new ExtensiblePropertySource(editorPart, (XMLElement)newInput);
-//// }
-//// if (newInput instanceof Element)
-//// {
-//// if (XSDDOMHelper.inputEquals(newInput, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-//// {
-//// propertySource = new ElementPropertySource((Element)newInput, viewer);
-//// }
-//// else
-//// {
-//// propertySource = new ReadOnlyPropertySource(editorPart, (Element)newInput);
-//// }
-//// }
-//// else
-//// {
-//// propertySource = null;
-//// }
-// }
-//
-// public Image getColumnImage(Object element, int columnIndex)
-// {
-// return null;
-// }
-//
-// public Object getColumnValue(Object o, int columnIndex)
-// {
-// IPropertyDescriptor propertyDescriptor = (IPropertyDescriptor)o;
-// if (columnIndex == 0)
-// {
-// return propertyDescriptor.getId();
-// }
-// else
-// {
-// return propertySource.getPropertyValue(propertyDescriptor.getId());
-// }
-// }
-//
-// public String getColumnText(Object o, int columnIndex)
-// {
-// IPropertyDescriptor propertyDescriptor = (IPropertyDescriptor)o;
-// // (columnIndex == 1 && propertyDescriptor instanceof XSDComboBoxPropertyDescriptor)
-// if ((columnIndex == 1 && propertyDescriptor instanceof OptionsComboBoxPropertyDescriptor) ||
-// (columnIndex == 1 && propertyDescriptor instanceof ComboBoxPropertyDescriptor))
-// {
-// ILabelProvider lp = propertyDescriptor.getLabelProvider();
-// if (lp != null)
-// {
-// return lp.getText(propertyDescriptor.getId());
-// }
-// }
-//
-// Object id = propertyDescriptor.getId();
-// String attribute = "";
-// if (id != null && attribute instanceof String)
-// {
-// attribute = (String)id;
-// }
-// Object value = propertySource.getPropertyValue(attribute);
-// String attributeValue = "";
-// if (value != null)
-// {
-// attributeValue = (String)value;
-// }
-//
-// return (columnIndex == 0) ? attribute : attributeValue;
-//
-//// return (columnIndex == 0) ? propertyDescriptor.getId().toString() : propertySource.getPropertyValue(propertyDescriptor.getId()).toString();
-// }
-//
-// public Object[] getElements(Object o)
-// {
-// Object[] result = propertySource.getPropertyDescriptors();
-// // For some strange reson the ViewerSorter doesn't seem to be working for this table
-// // As a workaround we sort them in this method before returning them to the viewer
-//// if (result.length > 0)
-//// {
-//// Arrays.sort(result, new InternalComparator());
-//// }
-// return result;
-// }
-// }
-//
-// class InternalComparator implements Comparator
-// {
-// public int compare(Object e1, Object e2)
-// {
-// IPropertyDescriptor p1 = (IPropertyDescriptor)e1;
-// IPropertyDescriptor p2 = (IPropertyDescriptor)e2;
-// String p1Name = p1.getDisplayName();
-// String p2Name = p2.getDisplayName();
-// return Collator.getInstance().compare(p1.getDisplayName(), p2.getDisplayName());
-// }
-// }
-//
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/BasePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/BasePropertySource.java
deleted file mode 100644
index 9d92d1838c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/BasePropertySource.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xml.core.NameValidator;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public abstract class BasePropertySource implements IPropertySource
-{
- protected Element element;
- protected Viewer viewer;
- protected IPropertyDescriptor[] propertyDescriptors;
- protected XSDSchema xsdSchema;
- protected String [] trueFalseComboValues = {
- "",
- "false",
- "true"
- };
-
- public BasePropertySource()
- {
-
- }
-
- public DocumentImpl getDocument(Element element)
- {
- return (DocumentImpl) element.getOwnerDocument();
- }
-
- public void beginRecording(String description, Element element)
- {
- getDocument(element).getModel().beginRecording(this, description);
- }
-
- public void endRecording(Element element)
- {
- DocumentImpl doc = (DocumentImpl) getDocument(element);
-
- doc.getModel().endRecording(this);
- }
-
-
- public BasePropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- this.viewer = viewer;
- this.xsdSchema = xsdSchema;
- }
-
- public BasePropertySource(XSDSchema xsdSchema)
- {
- this.xsdSchema = xsdSchema;
- }
-
- public void setViewer(Viewer viewer)
- {
- this.viewer = viewer;
- }
-
- public void setInput(Element element)
- {
- this.element = element;
- }
-
- protected XSDDOMHelper domHelper = new XSDDOMHelper();
- /**
- * Gets the domHelper.
- * @return Returns a XSDDomHelper
- */
- public XSDDOMHelper getDomHelper()
- {
- return domHelper;
- }
-
- protected boolean hasElementChildren(Node parentNode)
- {
- boolean hasChildrenElements = false;
- if (parentNode != null && parentNode.hasChildNodes())
- {
- NodeList nodes = parentNode.getChildNodes();
- for (int i = 0; i < nodes.getLength(); i++)
- {
- if (nodes.item(i) instanceof Element)
- {
- hasChildrenElements = true;
- break;
- }
- }
- }
- return hasChildrenElements;
- }
-
- protected boolean validateName(String name)
- {
- return NameValidator.isValid(name);
- }
-
- // TODO
- protected boolean validateLanguage(String lang)
- {
- return true;
- }
-
- // TODO
- protected boolean validatePrefix(String prefix)
- {
- return true;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ComplexTypePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ComplexTypePropertySource.java
deleted file mode 100644
index 7cb09e9281..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ComplexTypePropertySource.java
+++ /dev/null
@@ -1,380 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.SetBaseTypeAction;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalSimpleOrComplexTypeRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class ComplexTypePropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- private String DERIVED_BY_ID = "derived by"; // XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY");
- private String BASE_TYPE_ID = "base type"; // XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE");
-
- private String[] blockOrFinalComboValues =
- {
- "",
- "#all",
- "extension",
- "restriction"
- };
-
- private String derivedByChoicesComboValues[] =
- {
- "",
- XSDConstants.RESTRICTION_ELEMENT_TAG,
- XSDConstants.EXTENSION_ELEMENT_TAG
- };
-
- /**
- *
- */
- public ComplexTypePropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public ComplexTypePropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public ComplexTypePropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
- boolean isAnonymousType = checkForAnonymousType(element);
-// The three properties name, base type and derived by have been moved to the general tab
-// if (isAnonymousType)
-// {
-// PropertyDescriptor nameDescriptor =
-// new PropertyDescriptor(
-// XSDConstants.NAME_ATTRIBUTE,
-// XSDConstants.NAME_ATTRIBUTE);
-// list.add(nameDescriptor);
-// }
-// else
-// {
-// PropertyDescriptor nameDescriptor =
-// new TextPropertyDescriptor(
-// XSDConstants.NAME_ATTRIBUTE,
-// XSDConstants.NAME_ATTRIBUTE);
-// list.add(nameDescriptor);
-// }
-
- Element contentModelElement = getDomHelper().getContentModelFromParent(element);
-// SimpleContentPropertyDescriptor typeDescriptor = new SimpleContentPropertyDescriptor(
-// BASE_TYPE_ID,
-// BASE_TYPE_ID,
-// contentModelElement, xsdSchema);
-// list.add(typeDescriptor);
-// XSDComboBoxPropertyDescriptor derivedByDescriptor =
-// new XSDComboBoxPropertyDescriptor(
-// DERIVED_BY_ID,
-// DERIVED_BY_ID,
-// derivedByChoicesComboValues);
-// list.add(derivedByDescriptor);
-
- XSDComboBoxPropertyDescriptor abstractDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.ABSTRACT_ATTRIBUTE,
- XSDConstants.ABSTRACT_ATTRIBUTE,
- trueFalseComboValues);
- list.add(abstractDescriptor);
-
- XSDComboBoxPropertyDescriptor mixedDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.MIXED_ATTRIBUTE,
- XSDConstants.MIXED_ATTRIBUTE,
- trueFalseComboValues);
- list.add(mixedDescriptor);
-
- XSDComboBoxPropertyDescriptor blockDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.BLOCK_ATTRIBUTE,
- XSDConstants.BLOCK_ATTRIBUTE,
- blockOrFinalComboValues);
- list.add(blockDescriptor);
- XSDComboBoxPropertyDescriptor finalDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.FINAL_ATTRIBUTE,
- XSDConstants.FINAL_ATTRIBUTE,
- blockOrFinalComboValues);
- list.add(finalDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
-
- public void setInput(Element element)
- {
- this.element = element;
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- String attributeName = (String)id;
- result = element.getAttribute((String) id);
- Element contentModelElement = getDomHelper().getContentModelFromParent(element);
- String baseType = getDomHelper().getBaseType(contentModelElement);
-
- if (result == null)
- {
- result = "";
- }
-
- if (attributeName.equals(DERIVED_BY_ID))
- {
- return getDomHelper().getDerivedByName(contentModelElement);
- }
- else if (attributeName.equals(BASE_TYPE_ID))
- {
- if (baseType != null)
- {
- return baseType;
- }
- else
- {
- return "";
- }
- }
- else if (attributeName.equals(XSDConstants.NAME_ATTRIBUTE))
- {
- String name = element.getAttribute(XSDConstants.NAME_ATTRIBUTE);
-
- boolean isAnonymousType = checkForAnonymousType(element);
- if (isAnonymousType)
- {
- return "**anonymous**";
- }
- else
- {
- return name;
- }
- }
-
- return result;
-// if (((String) id).equals(XSDConstants.ABSTRACT_ATTRIBUTE)
-// || ((String) id).equals(XSDConstants.MIXED_ATTRIBUTE))
-// {
-// }
-// else if (((String) id).equals(XSDConstants.BLOCK_ATTRIBUTE))
-// {
-// }
-// else if (((String) id).equals(XSDConstants.FINAL_ATTRIBUTE))
-// {
-// }
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- String newValue = (String)value;
- String attributeName = (String)id;
-
- if (attributeName.equals(XSDConstants.NAME_ATTRIBUTE))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_NAME_CHANGE"), element);
- if (newValue.length() > 0)
- {
- // now rename any references to this type
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDComplexTypeDefinition && comp.getContainer().equals(xsdSchema))
- {
-// XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)comp;
-// ct.setName(newValue);
- GlobalSimpleOrComplexTypeRenamer renamer = new GlobalSimpleOrComplexTypeRenamer((XSDNamedComponent)comp, newValue);
- renamer.visitSchema(xsdSchema);
- }
- }
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- }
- else
- {
- element.removeAttribute(XSDConstants.NAME_ATTRIBUTE);
- }
- endRecording(element);
- }
- }
- else if (attributeName.equals(DERIVED_BY_ID))
- {
- Element contentModelElement = getDomHelper().getContentModelFromParent(element);
- String baseType = getDomHelper().getBaseType(contentModelElement);
- beginRecording(XSDEditorPlugin.getXSDString("_UI_DERIVEDBY_CHANGE"), element);
- Element derivedByElem = getDomHelper().getDerivedByElement(element);
- getDomHelper().changeDerivedByType(contentModelElement, newValue, baseType);
- endRecording(element);
- }
- else if (attributeName.equals(BASE_TYPE_ID))
- {
- String derivedBy = getDomHelper().getDerivedByName(element);
-
- SetBaseTypeAction setBaseTypeAction = new SetBaseTypeAction(XSDEditorPlugin.getXSDString("_UI_LABEL_SET_BASE_TYPE"));
- setBaseTypeAction.setXSDSchema(xsdSchema);
- setBaseTypeAction.setComplexTypeElement(element);
- setBaseTypeAction.setType(newValue);
- setBaseTypeAction.setDerivedBy(derivedBy);
- setBaseTypeAction.performAction();
-
-// handleBaseTypeComboChange(newValue);
-
- }
- else
- {
- if (attributeName.equals(XSDConstants.ABSTRACT_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_ABSTRACT_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.MIXED_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_MIXED_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.BLOCK_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_BLOCK_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.FINAL_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_FINAL_CHANGE"), element);
- }
-
- if (newValue.length() > 0)
- {
- element.setAttribute((String) id, (String)value);
- }
- else
- {
- element.removeAttribute((String) id);
- }
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
- boolean checkForAnonymousType(Element element)
- {
- Object parentElement = (Object)element.getParentNode();
- boolean isAnonymous = false;
- if (parentElement != null)
- {
- if (XSDDOMHelper.inputEquals(parentElement, XSDConstants.ELEMENT_ELEMENT_TAG, false))
- {
- isAnonymous = true;
- }
- }
- return isAnonymous;
- }
-
-
-// private void handleBaseTypeComboChange(String newType)
-// {
-// String tempChoice = newType;
-// TypesHelper helper = new TypesHelper(xsdSchema);
-// if (helper.getBuiltInTypeNamesList().contains(tempChoice) ||
-// helper.getUserSimpleTypeNamesList().contains(tempChoice))
-// {
-// derivedByCombo.setText(XSDConstants.EXTENSION_ELEMENT_TAG);
-// derivedByCombo.setEnabled(false);
-// }
-// else if (helper.getUserComplexTypeNamesList().contains(tempChoice))
-// {
-// Element contentModelElement = getDomHelper().getContentModelFromParent(element);
-// String derivedByString = getDomHelper().getDerivedByName(contentModelElement);
-// derivedByCombo.setText(derivedByString);
-// derivedByCombo.setEnabled(true);
-// }
-// else
-// {
-// derivedByCombo.setText("");
-// derivedByCombo.setEnabled(false);
-// }
-// }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DocumentationPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DocumentationPropertySource.java
deleted file mode 100644
index 06e9ef793b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DocumentationPropertySource.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.Node;
-
-
-public class DocumentationPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- public static String CONTENT = "Content";
-
- /**
- *
- */
- public DocumentationPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public DocumentationPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
-
- }
- /**
- * @param xsdSchema
- */
- public DocumentationPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
- PropertyDescriptor languageDescriptor =
- new TextPropertyDescriptor(
- "xml:lang",
- "xml:lang"
- );
- list.add(languageDescriptor);
- PropertyDescriptor sourceDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.SOURCE_ATTRIBUTE,
- XSDConstants.SOURCE_ATTRIBUTE);
- list.add(sourceDescriptor);
- AnyContentPropertyDescriptor contentDescriptor =
- new AnyContentPropertyDescriptor(
- CONTENT,
- CONTENT,
- element);
- list.add(contentDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- if (((String) id).equals(CONTENT))
- {
- try
- {
- if (element.hasChildNodes())
- {
- // if the element is Text
- Node node = element.getFirstChild();
- if (node instanceof CharacterData)
- {
- return ((CharacterData)node).getData();
- }
- }
- else
- {
- return "";
- }
- }
- catch (Exception e)
- {
-
- }
-
- }
- else
- {
- result = element.getAttribute((String) id);
- }
- }
- if (result == null)
- {
- result = "";
- }
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value != null)
- {
- if (value instanceof String)
- {
- String newValue = (String)value;
- if (((String)id).equals("xml:lang"))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_DOCUMENTATION_LANG_CHANGE"), element);
- if (newValue.length() > 0)
- {
- if (validateLanguage(newValue))
- {
- element.setAttribute("xml:lang", newValue);
- }
- }
- else
- {
- // clearErrorMessage();
- element.removeAttribute("xml:lang");
- }
- endRecording(element);
- }
- else if (((String)id).equals(XSDConstants.SOURCE_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_DOCUMENTATION_SOURCE_CHANGE"), element);
- if (newValue.length() > 0)
- {
- element.setAttribute(XSDConstants.SOURCE_ATTRIBUTE, newValue);
- }
- else
- {
- element.removeAttribute(XSDConstants.SOURCE_ATTRIBUTE);
- }
- endRecording(element);
- }
- else if (((String)id).equals(CONTENT))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_DOCUMENTATION_COMMENT_CHANGE"), element);
- try
- {
- if (element.hasChildNodes())
- {
- // if the element is Text
- Node node = element.getFirstChild();
- if (node instanceof CharacterData)
- {
- ((CharacterData)node).setData(newValue);
- }
- }
- else
- {
- if (newValue.length() > 0)
- {
- Node childNode = element.getOwnerDocument().createTextNode(newValue);
- element.appendChild(childNode);
- }
- }
- endRecording(element);
- }
- catch (Exception e)
- {
-
- }
- }
- else // shouldn't be here
- {
- element.setAttribute((String) id, newValue);
- }
- }
- else if (value instanceof Integer)
- {
- }
- }
- else
- {
- element.removeAttribute((String) id);
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DynamicCellEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DynamicCellEditor.java
deleted file mode 100644
index b09526a9d9..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DynamicCellEditor.java
+++ /dev/null
@@ -1,1174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.accessibility.AccessibleTextAdapter;
-import org.eclipse.swt.accessibility.AccessibleTextEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.TypedListener;
-
-public class DynamicCellEditor extends Composite
-{
- Text text;
- List list;
- int maxItemCount = 5;
- Shell popup;
- Button arrow;
- boolean hasFocus;
-
- public DynamicCellEditor(Composite parent, int style) {
- super (parent, checkStyle (style));
-
- style = getStyle();
-
- int textStyle = SWT.SINGLE;
- if ((style & SWT.READ_ONLY) != 0) textStyle |= SWT.READ_ONLY;
- if ((style & SWT.FLAT) != 0) textStyle |= SWT.FLAT;
- text = new Text (this, textStyle);
-
- popup = new Shell (getShell (), SWT.NO_TRIM);
-
- int listStyle = SWT.SINGLE | SWT.V_SCROLL;
- if ((style & SWT.FLAT) != 0) listStyle |= SWT.FLAT;
- if ((style & SWT.RIGHT_TO_LEFT) != 0) listStyle |= SWT.RIGHT_TO_LEFT;
- if ((style & SWT.LEFT_TO_RIGHT) != 0) listStyle |= SWT.LEFT_TO_RIGHT;
- list = new List (popup, listStyle);
-
- int arrowStyle = SWT.ARROW | SWT.DOWN;
- if ((style & SWT.FLAT) != 0) arrowStyle |= SWT.FLAT;
- arrow = new Button (this, arrowStyle);
-
- Listener listener = new Listener () {
- public void handleEvent (Event event) {
- if (popup == event.widget) {
- popupEvent (event);
- return;
- }
- if (text == event.widget) {
- textEvent (event);
- return;
- }
- if (list == event.widget) {
- listEvent (event);
- return;
- }
- if (arrow == event.widget) {
- arrowEvent (event);
- return;
- }
- if (DynamicCellEditor.this == event.widget) {
- comboEvent (event);
- return;
- }
-
- }
- };
-
- int [] comboEvents = {SWT.Dispose, SWT.Move, SWT.Resize};
- for (int i=0; i<comboEvents.length; i++) this.addListener (comboEvents [i], listener);
-
- int [] popupEvents = {SWT.Close, SWT.Paint, SWT.Deactivate};
- for (int i=0; i<popupEvents.length; i++) popup.addListener (popupEvents [i], listener);
-
- int [] textEvents = {SWT.KeyDown, SWT.KeyUp, SWT.Modify, SWT.MouseDown, SWT.MouseUp, SWT.Traverse, SWT.FocusIn, SWT.FocusOut};
- for (int i=0; i<textEvents.length; i++) text.addListener (textEvents [i], listener);
-
- int [] listEvents = {SWT.MouseUp, SWT.Selection, SWT.Traverse, SWT.KeyDown, SWT.KeyUp, SWT.FocusIn, SWT.FocusOut};
- for (int i=0; i<listEvents.length; i++) list.addListener (listEvents [i], listener);
-
- int [] arrowEvents = {SWT.Selection, SWT.FocusIn, SWT.FocusOut};
- for (int i=0; i<arrowEvents.length; i++) arrow.addListener (arrowEvents [i], listener);
-
- initAccessible();
-}
-static int checkStyle (int style) {
- int mask = SWT.BORDER | SWT.READ_ONLY | SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
- return style & mask;
-}
-/**
-* Adds an item.
-* <p>
-* The item is placed at the end of the list.
-* Indexing is zero based.
-*
-* @param string the new item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when the string is null
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_ADDED)
-* when the item cannot be added
-*/
-public void add (String string) {
- checkWidget();
- if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- list.add (string);
-}
-/**
-* Adds an item at an index.
-* <p>
-* The item is placed at an index in the list.
-* Indexing is zero based.
-*
-* This operation will fail when the index is
-* out of range.
-*
-* @param string the new item
-* @param index the index for the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when the string is null
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_ADDED)
-* when the item cannot be added
-*/
-public void add (String string, int index) {
- checkWidget();
- if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- list.add (string, index);
-}
-/**
-* Adds the listener to receive events.
-* <p>
-*
-* @param listener the listener
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when listener is null
-*/
-public void addModifyListener (ModifyListener listener) {;
- checkWidget();
- if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- TypedListener typedListener = new TypedListener (listener);
- addListener (SWT.Modify, typedListener);
-}
-/**
-* Adds the listener to receive events.
-* <p>
-*
-* @param listener the listener
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when listener is null
-*/
-public void addSelectionListener(SelectionListener listener) {
- checkWidget();
- if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- TypedListener typedListener = new TypedListener (listener);
- addListener (SWT.Selection,typedListener);
- addListener (SWT.DefaultSelection,typedListener);
-}
-void arrowEvent (Event event) {
- switch (event.type) {
- case SWT.FocusIn: {
- if (hasFocus) return;
- hasFocus = true;
- if (getEditable ()) text.selectAll ();
- Event e = new Event();
- e.time = event.time;
- notifyListeners(SWT.FocusIn, e);
- break;
- }
- case SWT.FocusOut: {
- event.display.asyncExec(new Runnable() {
- public void run() {
- if (DynamicCellEditor.this.isDisposed()) return;
- Control focusControl = getDisplay().getFocusControl();
- if (focusControl == list || focusControl == text) return;
- hasFocus = false;
- Event e = new Event();
- notifyListeners(SWT.FocusOut, e);
- }
- });
- break;
- }
- case SWT.Selection: {
- dropDown (!isDropped ());
- break;
- }
- }
-}
-/**
-* Clears the current selection.
-* <p>
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-*/
-public void clearSelection () {
- checkWidget();
- text.clearSelection ();
- list.deselectAll ();
-}
-void comboEvent (Event event) {
- switch (event.type) {
- case SWT.Dispose:
- if (popup != null && !popup.isDisposed ()) popup.dispose ();
- popup = null;
- text = null;
- list = null;
- arrow = null;
- break;
- case SWT.Move:
- dropDown(false);
- break;
- case SWT.Resize:
- internalLayout();
- break;
- }
-}
-
-public Point computeSize (int wHint, int hHint, boolean changed) {
- checkWidget();
- int width = 0, height = 0;
- Point textSize = text.computeSize (wHint, SWT.DEFAULT, changed);
- Point arrowSize = arrow.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
- Point listSize = list.computeSize (wHint, SWT.DEFAULT, changed);
- int borderWidth = getBorderWidth();
-
- height = Math.max (hHint, Math.max(textSize.y, arrowSize.y) + 2*borderWidth);
- width = Math.max (wHint, Math.max(textSize.x + arrowSize.x + 2*borderWidth, listSize.x + 2) );
- return new Point (width, height);
-}
-/**
-* Deselects an item.
-* <p>
-* If the item at an index is selected, it is
-* deselected. If the item at an index is not
-* selected, it remains deselected. Indices
-* that are out of range are ignored. Indexing
-* is zero based.
-*
-* @param index the index of the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-*/
-public void deselect (int index) {
- checkWidget();
- list.deselect (index);
-}
-/**
-* Deselects all items.
-* <p>
-*
-* If an item is selected, it is deselected.
-* If an item is not selected, it remains unselected.
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-*/
-public void deselectAll () {
- checkWidget();
- list.deselectAll ();
-}
-void dropDown (boolean drop) {
- if (drop == isDropped ()) return;
- if (!drop) {
- popup.setVisible (false);
- text.setFocus();
- return;
- }
-
- int index = list.getSelectionIndex ();
- if (index != -1) list.setTopIndex (index);
- Display display = getDisplay ();
- Rectangle listRect = list.getBounds ();
- Rectangle parentRect = display.map (getParent (), null, getBounds());
- Point comboSize = getSize ();
- Rectangle displayRect = getMonitor().getClientArea();
- int width = Math.max (comboSize.x, listRect.width + 2);
- int height = listRect.height + 2;
- int x = parentRect.x;
- int y = parentRect.y + comboSize.y;
- if (y + height > displayRect.y + displayRect.height) y = parentRect.y - height;
- popup.setBounds (x, y, width, height);
- popup.setVisible (true);
- list.setFocus();
-}
-public Control [] getChildren () {
- checkWidget();
- return new Control [0];
-}
-boolean getEditable () {
- return text.getEditable ();
-}
-/**
-* Gets an item at an index.
-* <p>
-* Indexing is zero based.
-*
-* This operation will fail when the index is out
-* of range or an item could not be queried from
-* the OS.
-*
-* @param index the index of the item
-* @return the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_CANNOT_GET_ITEM)
-* when the operation fails
-*/
-public String getItem (int index) {
- checkWidget();
- return list.getItem (index);
-}
-/**
-* Gets the number of items.
-* <p>
-* This operation will fail if the number of
-* items could not be queried from the OS.
-*
-* @return the number of items in the widget
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_CANNOT_GET_COUNT)
-* when the operation fails
-*/
-public int getItemCount () {
- checkWidget();
- return list.getItemCount ();
-}
-/**
-* Gets the height of one item.
-* <p>
-* This operation will fail if the height of
-* one item could not be queried from the OS.
-*
-* @return the height of one item in the widget
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_CANNOT_GET_ITEM_HEIGHT)
-* when the operation fails
-*/
-public int getItemHeight () {
- checkWidget();
- return list.getItemHeight ();
-}
-/**
-* Gets the items.
-* <p>
-* This operation will fail if the items cannot
-* be queried from the OS.
-*
-* @return the items in the widget
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_CANNOT_GET_ITEM)
-* when the operation fails
-*/
-public String [] getItems () {
- checkWidget();
- return list.getItems ();
-}
-/**
-* Gets the selection.
-* <p>
-* @return a point representing the selection start and end
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-*/
-public Point getSelection () {
- checkWidget();
- return text.getSelection ();
-}
-/**
-* Gets the index of the selected item.
-* <p>
-* Indexing is zero based.
-* If no item is selected -1 is returned.
-*
-* @return the index of the selected item.
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-*/
-public int getSelectionIndex () {
- checkWidget();
- return list.getSelectionIndex ();
-}
-/**
-* Gets the widget text.
-* <p>
-* If the widget has no text, an empty string is returned.
-*
-* @return the widget text
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-*/
-public String getText () {
- checkWidget();
- return text.getText ();
-}
-/**
-* Gets the height of the combo's text field.
-* <p>
-* The operation will fail if the height cannot
-* be queried from the OS.
-
-* @return the height of the combo's text field.
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_ERROR_CANNOT_GET_ITEM_HEIGHT)
-* when the operation fails
-*/
-public int getTextHeight () {
- checkWidget();
- return text.getLineHeight();
-}
-/**
-* Gets the text limit.
-* <p>
-* @return the text limit
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-*/
-public int getTextLimit () {
- checkWidget();
- return text.getTextLimit ();
-}
-/**
-* Gets the index of an item.
-* <p>
-* The list is searched starting at 0 until an
-* item is found that is equal to the search item.
-* If no item is found, -1 is returned. Indexing
-* is zero based.
-*
-* @param string the search item
-* @return the index of the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when string is null
-*/
-public int indexOf (String string) {
- checkWidget();
- if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- return list.indexOf (string);
-}
-/**
-* Gets the index of an item.
-* <p>
-* The widget is searched starting at start including
-* the end position until an item is found that
-* is equal to the search itenm. If no item is
-* found, -1 is returned. Indexing is zero based.
-*
-* @param string the search item
-* @param index the starting position
-* @return the index of the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when string is null
-*/
-public int indexOf (String string, int start) {
- checkWidget();
- if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- return list.indexOf (string, start);
-}
-
-void initAccessible() {
- getAccessible().addAccessibleListener(new AccessibleAdapter() {
- public void getHelp(AccessibleEvent e) {
- e.result = getToolTipText();
- }
- });
-
- getAccessible().addAccessibleTextListener(new AccessibleTextAdapter() {
- public void getCaretOffset(AccessibleTextEvent e) {
- e.offset = text.getCaretPosition();
- }
- });
-
- getAccessible().addAccessibleControlListener(new AccessibleControlAdapter() {
- public void getChildAtPoint(AccessibleControlEvent e) {
- Point testPoint = toControl(new Point(e.x, e.y));
- if (getBounds().contains(testPoint)) {
- e.childID = ACC.CHILDID_SELF;
- }
- }
-
- public void getLocation(AccessibleControlEvent e) {
- Rectangle location = getBounds();
- Point pt = toDisplay(new Point(location.x, location.y));
- e.x = pt.x;
- e.y = pt.y;
- e.width = location.width;
- e.height = location.height;
- }
-
- public void getChildCount(AccessibleControlEvent e) {
- e.detail = 0;
- }
-
- public void getRole(AccessibleControlEvent e) {
- e.detail = ACC.ROLE_COMBOBOX;
- }
-
- public void getState(AccessibleControlEvent e) {
- e.detail = ACC.STATE_NORMAL;
- }
-
- public void getValue(AccessibleControlEvent e) {
- e.result = getText();
- }
- });
-}
-boolean isDropped () {
- return popup.getVisible ();
-}
-public boolean isFocusControl () {
- checkWidget();
- if (text.isFocusControl() || arrow.isFocusControl() || list.isFocusControl() || popup.isFocusControl()) {
- return true;
- } else {
- return super.isFocusControl();
- }
-}
-
-//public boolean isListVisible()
-//{
-// checkWidget();
-// return list.isVisible();
-//}
-
-void internalLayout () {
- if (isDropped ()) dropDown (false);
-
- Rectangle rect = getClientArea();
- int width = rect.width;
- int height = rect.height;
- Point arrowSize = arrow.computeSize(SWT.DEFAULT, height);
- text.setBounds (0, 0, width - arrowSize.x, height);
- arrow.setBounds (width - arrowSize.x, 0, arrowSize.x, arrowSize.y);
-
- Point size = getSize();
- int itemCount = list.getItemCount();
- itemCount = (itemCount == 0) ? maxItemCount : Math.min(maxItemCount, itemCount);
- int itemHeight = list.getItemHeight () * itemCount;
- Point listSize = list.computeSize (SWT.DEFAULT, itemHeight);
- list.setBounds (1, 1, Math.max (size.x - 2, listSize.x), listSize.y);
-}
-void listEvent (Event event) {
- switch (event.type) {
- case SWT.FocusIn: {
- if (hasFocus) return;
- hasFocus = true;
- if (getEditable ()) text.selectAll ();
- Event e = new Event();
- e.time = event.time;
- notifyListeners(SWT.FocusIn, e);
- break;
- }
- case SWT.FocusOut: {
- event.display.asyncExec(new Runnable() {
- public void run() {
- if (DynamicCellEditor.this.isDisposed()) return;
- Control focusControl = getDisplay().getFocusControl();
- if (focusControl == text || focusControl == arrow || focusControl == list) return;
- hasFocus = false;
- Event e = new Event();
- notifyListeners(SWT.FocusOut, e);
- }
- });
- break;
- }
- case SWT.MouseUp: {
- if (event.button != 1) return;
- dropDown (false);
- break;
- }
- case SWT.Selection: {
- int index = list.getSelectionIndex ();
- if (index == -1) return;
- text.setText (list.getItem (index));
- text.selectAll ();
- list.setSelection(index);
- Event e = new Event();
- e.time = event.time;
- e.stateMask = event.stateMask;
- e.doit = event.doit;
- notifyListeners(SWT.Selection, e);
- event.doit = e.doit;
- break;
- }
- case SWT.Traverse: {
- switch (event.detail) {
- case SWT.TRAVERSE_TAB_NEXT:
- case SWT.TRAVERSE_RETURN:
- case SWT.TRAVERSE_ESCAPE:
- case SWT.TRAVERSE_ARROW_PREVIOUS:
- case SWT.TRAVERSE_ARROW_NEXT:
- event.doit = false;
- break;
- }
- Event e = new Event();
- e.time = event.time;
- e.detail = event.detail;
- e.doit = event.doit;
- e.keyCode = event.keyCode;
- notifyListeners(SWT.Traverse, e);
- event.doit = e.doit;
- break;
- }
- case SWT.KeyUp: {
- Event e = new Event();
- e.time = event.time;
- e.character = event.character;
- e.keyCode = event.keyCode;
- e.stateMask = event.stateMask;
- notifyListeners(SWT.KeyUp, e);
- break;
- }
- case SWT.KeyDown: {
- if (event.character == SWT.ESC) {
- // escape key cancels popup list
- dropDown (false);
- }
- if (event.character == SWT.CR || event.character == '\t') {
- // Enter and Tab cause default selection
- dropDown (false);
- Event e = new Event();
- e.time = event.time;
- e.stateMask = event.stateMask;
- notifyListeners(SWT.DefaultSelection, e);
- }
- //At this point the widget may have been disposed.
- // If so, do not continue.
- if (isDisposed()) break;
- Event e = new Event();
- e.time = event.time;
- e.character = event.character;
- e.keyCode = event.keyCode;
- e.stateMask = event.stateMask;
- notifyListeners(SWT.KeyDown, e);
- break;
-
- }
- }
-}
-void popupEvent(Event event) {
- switch (event.type) {
- case SWT.Paint:
- // draw black rectangle around list
- Rectangle listRect = list.getBounds();
- Color black = getDisplay().getSystemColor(SWT.COLOR_BLACK);
- event.gc.setForeground(black);
- event.gc.drawRectangle(0, 0, listRect.width + 1, listRect.height + 1);
- break;
- case SWT.Close:
- event.doit = false;
- dropDown (false);
- break;
- case SWT.Deactivate:
- dropDown (false);
- break;
- }
-}
-public void redraw () {
- super.redraw();
- text.redraw();
- arrow.redraw();
- if (popup.isVisible()) list.redraw();
-}
-public void redraw (int x, int y, int width, int height, boolean all) {
- super.redraw(x, y, width, height, true);
-}
-
-/**
-* Removes an item at an index.
-* <p>
-* Indexing is zero based.
-*
-* This operation will fail when the index is out
-* of range or an item could not be removed from
-* the OS.
-*
-* @param index the index of the item
-* @return the selection state
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_REMOVED)
-* when the operation fails
-*/
-public void remove (int index) {
- checkWidget();
- list.remove (index);
-}
-/**
-* Removes a range of items.
-* <p>
-* Indexing is zero based. The range of items
-* is from the start index up to and including
-* the end index.
-*
-* This operation will fail when the index is out
-* of range or an item could not be removed from
-* the OS.
-*
-* @param start the start of the range
-* @param end the end of the range
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_REMOVED)
-* when the operation fails
-*/
-public void remove (int start, int end) {
- checkWidget();
- list.remove (start, end);
-}
-/**
-* Removes an item.
-* <p>
-* This operation will fail when the item
-* could not be removed from the OS.
-*
-* @param string the search item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when string is null
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_REMOVED)
-* when the operation fails
-*/
-public void remove (String string) {
- checkWidget();
- if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- list.remove (string);
-}
-/**
-* Removes all items.
-* <p>
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-*/
-public void removeAll () {
- checkWidget();
- text.setText (""); //$NON-NLS-1$
- list.removeAll ();
-}
-/**
-* Removes the listener.
-* <p>
-*
-* @param listener the listener
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when listener is null
-*/
-public void removeModifyListener (ModifyListener listener) {
- checkWidget();
- if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- removeListener(SWT.Modify, listener);
-}
-/**
-* Removes the listener.
-* <p>
-*
-* @param listener the listener
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when listener is null
-*/
-public void removeSelectionListener (SelectionListener listener) {
- checkWidget();
- if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- removeListener(SWT.Selection, listener);
- removeListener(SWT.DefaultSelection,listener);
-}
-/**
-* Selects an item.
-* <p>
-* If the item at an index is not selected, it is
-* selected. Indices that are out of
-* range are ignored. Indexing is zero based.
-*
-* @param index the index of the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-*/
-public void select (int index) {
- checkWidget();
- if (index == -1) {
- list.deselectAll ();
- text.setText (""); //$NON-NLS-1$
- return;
- }
- if (0 <= index && index < list.getItemCount()) {
- if (index != getSelectionIndex()) {
- text.setText (list.getItem (index));
- text.selectAll ();
- list.select (index);
- list.showSelection ();
- }
- }
-}
-public void setBackground (Color color) {
- super.setBackground(color);
- if (text != null) text.setBackground(color);
- if (list != null) list.setBackground(color);
- if (arrow != null) arrow.setBackground(color);
-}
-public boolean setFocus () {
- checkWidget();
- return text.setFocus ();
-}
-public void setFont (Font font) {
- super.setFont (font);
- text.setFont (font);
- list.setFont (font);
- internalLayout ();
-}
-public void setForeground (Color color) {
- super.setForeground(color);
- if (text != null) text.setForeground(color);
- if (list != null) list.setForeground(color);
- if (arrow != null) arrow.setForeground(color);
-}
-/**
-* Sets the text of an item; indexing is zero based.
-*
-* This operation will fail when the index is out
-* of range or an item could not be changed in
-* the OS.
-*
-* @param index the index for the item
-* @param string the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when items is null
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_MODIFIED)
-* when the operation fails
-*/
-public void setItem (int index, String string) {
- checkWidget();
- if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- list.setItem (index, string);
-}
-/**
-* Sets all items.
-*
-* @param items the array of items
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when items is null
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_ADDED)
-* when the operation fails
-*/
-public void setItems (String [] items) {
- checkWidget();
- if (items == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- int style = getStyle();
- if ((style & SWT.READ_ONLY) != 0) text.setText (""); //$NON-NLS-1$
- list.setItems (items);
-}
-/**
-* Sets the new selection.
-*
-* @param selection point representing the start and the end of the new selection
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when selection is null
-*/
-public void setSelection (Point selection) {
- checkWidget();
- if (selection == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- text.setSelection (selection.x, selection.y);
-}
-
-/**
-* Sets the widget text.
-*
-* @param string the widget text
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-* when string is null
-*/
-public void setText (String string) {
- checkWidget();
- if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- int index = list.indexOf (string);
- if (index == -1) {
- list.deselectAll ();
- text.setText (string);
- return;
- }
- text.setText (string);
- text.selectAll ();
- list.setSelection (index);
- list.showSelection ();
-}
-/**
-* Sets the text limit.
-*
-* @param limit new text limit
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-* when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-* when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_CANNOT_BE_ZERO)
-* when limit is 0
-*/
-public void setTextLimit (int limit) {
- checkWidget();
- text.setTextLimit (limit);
-}
-
-public void setToolTipText (String string) {
- checkWidget();
- super.setToolTipText(string);
- arrow.setToolTipText (string);
- text.setToolTipText (string);
-}
-
-public void setVisible (boolean visible) {
- super.setVisible(visible);
- if (!visible) popup.setVisible(false);
-}
-
-void textEvent (Event event) {
- switch (event.type) {
- case SWT.FocusIn: {
- if (hasFocus) return;
- hasFocus = true;
- if (getEditable ()) text.selectAll ();
- Event e = new Event();
- e.time = event.time;
- notifyListeners(SWT.FocusIn, e);
- break;
- }
- case SWT.FocusOut: {
- event.display.asyncExec(new Runnable() {
- public void run() {
- if (DynamicCellEditor.this.isDisposed()) return;
- Control focusControl = getDisplay().getFocusControl();
- if (focusControl == list || focusControl == arrow) return;
- hasFocus = false;
- Event e = new Event();
- notifyListeners(SWT.FocusOut, e);
- }
- });
- break;
- }
- case SWT.KeyDown: {
-
- if (event.character == SWT.ESC) { // escape key cancels popup list
- dropDown (false);
- }
- if (event.character == SWT.CR) {
- dropDown (false);
- Event e = new Event();
- e.time = event.time;
- e.stateMask = event.stateMask;
- notifyListeners(SWT.DefaultSelection, e);
- }
- //At this point the widget may have been disposed.
- // If so, do not continue.
- if (isDisposed()) break;
-
- if (event.keyCode == SWT.ARROW_UP || event.keyCode == SWT.ARROW_DOWN) {
- int oldIndex = getSelectionIndex ();
- if (event.keyCode == SWT.ARROW_UP) {
- select (Math.max (oldIndex - 1, 0));
- } else {
- select (Math.min (oldIndex + 1, getItemCount () - 1));
- }
-
- if (oldIndex != getSelectionIndex ()) {
- Event e = new Event();
- e.time = event.time;
- e.stateMask = event.stateMask;
- notifyListeners(SWT.Selection, e);
- }
- //At this point the widget may have been disposed.
- // If so, do not continue.
- if (isDisposed()) break;
- }
-
- // Further work : Need to add support for incremental search in
- // pop up list as characters typed in text widget
-
- Event e = new Event();
- e.time = event.time;
- e.character = event.character;
- e.keyCode = event.keyCode;
- e.stateMask = event.stateMask;
- notifyListeners(SWT.KeyDown, e);
- break;
- }
- case SWT.KeyUp: {
- Event e = new Event();
- e.time = event.time;
- e.character = event.character;
- e.keyCode = event.keyCode;
- e.stateMask = event.stateMask;
- notifyListeners(SWT.KeyUp, e);
- break;
- }
- case SWT.Modify: {
- list.deselectAll ();
- Event e = new Event();
- e.time = event.time;
- notifyListeners(SWT.Modify, e);
- break;
- }
- case SWT.MouseDown: {
- if (event.button != 1) return;
- if (text.getEditable ()) return;
- boolean dropped = isDropped ();
- text.selectAll ();
- if (!dropped) setFocus ();
- dropDown (!dropped);
- break;
- }
- case SWT.MouseUp: {
- if (event.button != 1) return;
- if (text.getEditable ()) return;
- text.selectAll ();
- break;
- }
- case SWT.Traverse: {
- switch (event.detail) {
- case SWT.TRAVERSE_RETURN:
- case SWT.TRAVERSE_ARROW_PREVIOUS:
- case SWT.TRAVERSE_ARROW_NEXT:
- // The enter causes default selection and
- // the arrow keys are used to manipulate the list contents so
- // do not use them for traversal.
- event.doit = false;
- break;
- }
-
- Event e = new Event();
- e.time = event.time;
- e.detail = event.detail;
- e.doit = event.doit;
- e.keyCode = event.keyCode;
- notifyListeners(SWT.Traverse, e);
- event.doit = e.doit;
- break;
- }
- }
-}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ElementPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ElementPropertySource.java
deleted file mode 100644
index 1eba5d953d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ElementPropertySource.java
+++ /dev/null
@@ -1,546 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalElementRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class ElementPropertySource extends BasePropertySource implements IPropertySource
-{
- private static final String PROPERTY_NAME = "org.eclipse.wst.xsd.ui.internal.name";
- private String[] blockComboValues =
- { "", "#all", "extension", "restriction", "substitution" };
- private String[] finalComboValues =
- { "", "#all", "extension", "restriction" };
- private String[] substitutionGroupComboValues = { "" };
- private String[] formComboValues =
- {
- "",
- XSDEditorPlugin.getXSDString("_UI_COMBO_UNQUALIFIED"),
- XSDEditorPlugin.getXSDString("_UI_COMBO_QUALIFIED")
- };
-
- public ElementPropertySource()
- {
- super();
- }
-
- public ElementPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
-
- public ElementPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
-
- public void setInput(Element element)
- {
- this.element = element;
- TypesHelper helper = new TypesHelper(xsdSchema);
- List globals = helper.getGlobalElements();
- int size = globals.size() + 1;
- substitutionGroupComboValues = new String[size];
- substitutionGroupComboValues[0] = "";
- if (globals != null)
- {
- for (int k = 0; k < globals.size(); k++)
- {
- substitutionGroupComboValues[k + 1] = (String) globals.get(k);
- }
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
-// return element.getNodeName();
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- Object parentNode = element.getParentNode();
- boolean isGlobalElement = XSDDOMHelper.inputEquals(parentNode, XSDConstants.SCHEMA_ELEMENT_TAG, false);
-
- List list = new ArrayList();
- // Create a descriptor and set a category
-// These have been moved to the general tab
-// PropertyDescriptor nameDescriptor =
-// new TextPropertyDescriptor(
-// XSDConstants.NAME_ATTRIBUTE,
-// XSDConstants.NAME_ATTRIBUTE);
-// list.add(nameDescriptor);
-// TypesPropertyDescriptor typeDescriptor = new TypesPropertyDescriptor(
-// XSDConstants.TYPE_ATTRIBUTE,
-// XSDConstants.TYPE_ATTRIBUTE,
-// element, xsdSchema);
-// list.add(typeDescriptor);
- if (isGlobalElement)
- {
- XSDComboBoxPropertyDescriptor abstractDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.ABSTRACT_ATTRIBUTE,
- XSDConstants.ABSTRACT_ATTRIBUTE,
- trueFalseComboValues);
- list.add(abstractDescriptor);
- }
- if (!isGlobalElement)
- {
- PropertyDescriptor minOccursDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.MINOCCURS_ATTRIBUTE,
- XSDConstants.MINOCCURS_ATTRIBUTE);
- list.add(minOccursDescriptor);
-
- PropertyDescriptor maxOccursDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.MAXOCCURS_ATTRIBUTE,
- XSDConstants.MAXOCCURS_ATTRIBUTE);
- list.add(maxOccursDescriptor);
- }
- XSDComboBoxPropertyDescriptor nillableDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.NILLABLE_ATTRIBUTE,
- XSDConstants.NILLABLE_ATTRIBUTE,
- trueFalseComboValues);
- list.add(nillableDescriptor);
- XSDComboBoxPropertyDescriptor blockDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.BLOCK_ATTRIBUTE,
- XSDConstants.BLOCK_ATTRIBUTE,
- blockComboValues);
- list.add(blockDescriptor);
- if (isGlobalElement)
- {
- XSDComboBoxPropertyDescriptor finalDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.FINAL_ATTRIBUTE,
- XSDConstants.FINAL_ATTRIBUTE,
- finalComboValues);
- list.add(finalDescriptor);
- XSDComboBoxPropertyDescriptor substitutionGroupDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.SUBSTITUTIONGROUP_ATTRIBUTE,
- XSDConstants.SUBSTITUTIONGROUP_ATTRIBUTE,
- substitutionGroupComboValues);
- list.add(substitutionGroupDescriptor);
- }
- if (!isGlobalElement)
- {
- XSDComboBoxPropertyDescriptor formDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.FORM_ATTRIBUTE,
- XSDConstants.FORM_ATTRIBUTE,
- formComboValues);
- list.add(formDescriptor);
- }
-
- Attr fixedAttr = element.getAttributeNode(XSDConstants.FIXED_ATTRIBUTE);
- Attr defaultAttr = element.getAttributeNode(XSDConstants.DEFAULT_ATTRIBUTE);
- String str;
- if (fixedAttr != null)
- {
- str = XSDConstants.FIXED_ATTRIBUTE;
- }
- else if (defaultAttr != null)
- {
- str = XSDConstants.DEFAULT_ATTRIBUTE;
- }
- else
- {
- str = XSDConstants.FIXED_ATTRIBUTE + "/" + XSDConstants.DEFAULT_ATTRIBUTE;
- }
-
- FixedOrDefaultTextPropertyDescriptor fixedOrDefaultDescriptor =
- new FixedOrDefaultTextPropertyDescriptor(
- str,
- str,
- element);
- list.add(fixedOrDefaultDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- // return propertyDescriptors;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- String attributeName = (String)id;
- result = element.getAttribute(attributeName);
- if (result == null)
- {
- result = "";
- }
- if (attributeName.equals(XSDConstants.TYPE_ATTRIBUTE))
- {
- boolean isAnonymous = checkForAnonymousType(element);
- if (isAnonymous)
- {
- return "**anonymous**";
- }
- if (result.equals(""))
- {
- result = XSDEditorPlugin.getXSDString("_UI_NO_TYPE");
- }
- return result;
- }
- else if (attributeName.equals(XSDConstants.MAXOCCURS_ATTRIBUTE)
- || attributeName.equals(XSDConstants.MINOCCURS_ATTRIBUTE)
- || attributeName.equals(XSDConstants.SUBSTITUTIONGROUP_ATTRIBUTE)
- || attributeName.equals(XSDConstants.FORM_ATTRIBUTE)
- || attributeName.equals(XSDConstants.ABSTRACT_ATTRIBUTE)
- || attributeName.equals(XSDConstants.NILLABLE_ATTRIBUTE)
- || attributeName.equals(XSDConstants.BLOCK_ATTRIBUTE)
- || attributeName.equals(XSDConstants.FINAL_ATTRIBUTE)
- || attributeName.equals(XSDConstants.FIXED_ATTRIBUTE)
- || attributeName.equals(XSDConstants.DEFAULT_ATTRIBUTE)
- || attributeName.equals(XSDConstants.NAME_ATTRIBUTE))
- {
- return result;
- }
- }
- return "";
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object,
- * java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- String newValue = (String)value;
- String attributeName = (String)id;
-
- if (attributeName.equals(XSDConstants.MAXOCCURS_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_MAXOCCURS_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.MINOCCURS_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_MINOCCURS_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.SUBSTITUTIONGROUP_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_SUBSTITUTIONGROUP_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.FORM_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_FORM_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.ABSTRACT_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_ABSTRACT_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.NILLABLE_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_NILLABLE_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.BLOCK_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_BLOCK_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.FINAL_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_FINAL_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.FIXED_ATTRIBUTE) || attributeName.equals(XSDConstants.DEFAULT_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_VALUE_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.NAME_ATTRIBUTE))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_NAME_CHANGE"), element);
- // now rename any references to this element
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDElementDeclaration && comp.getContainer().equals(xsdSchema))
- {
- GlobalElementRenamer renamer = new GlobalElementRenamer((XSDNamedComponent)comp, newValue);
- renamer.visitSchema(xsdSchema);
- }
- }
- }
- }
- else if (attributeName.equals(XSDConstants.TYPE_ATTRIBUTE))
- {
- // put logic in descriptor/cell editor
-// beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_TYPE_CHANGE"), element);
- }
-
- if (newValue.length() > 0)
- {
- element.setAttribute((String) id, (String) value);
- }
- else
- {
- if (!attributeName.equals(XSDConstants.NAME_ATTRIBUTE))
- {
- element.removeAttribute((String) id);
- }
- }
- endRecording(element);
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
- boolean checkForAnonymousType(Element element)
- {
- /* Using Ed's model to check
- boolean isAnonymous = false;
-
- XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(element);
- if (component instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElem = (XSDElementDeclaration)component;
- isAnonymous = xsdElem.isSetAnonymousTypeDefinition();
- }
- return isAnonymous;
- */
-
- boolean isAnonymous = false;
-
- Node aNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- return true;
- }
- aNode = getDomHelper().getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- isAnonymous = true;
- }
- return isAnonymous;
- }
-
-
-// void updateElementToAnonymous(Element element, String xsdType)
-// {
-// String prefix = element.getPrefix();
-// prefix = (prefix == null) ? "" : (prefix + ":");
-//
-// updateElementToNotAnonymous(element);
-// boolean hasChildrenElements = hasElementChildren(element);
-//
-// Element childNode = null;
-// if (xsdType.equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-// {
-// childNode = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-// }
-// else if (xsdType.equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG))
-// {
-// childNode = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-// }
-//
-// element.appendChild(childNode);
-// formatChild(childNode, hasChildrenElements);
-//
-//
-// /* Using Ed's model to do the above
-// XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(element);
-// if (component instanceof XSDElementDeclaration)
-// {
-// XSDElementDeclaration xsdElem = (XSDElementDeclaration)component;
-// XSDFactoryImpl factory = new XSDFactoryImpl();
-// XSDComplexTypeDefinition complex = factory.createXSDComplexTypeDefinition();
-// XSDSimpleTypeDefinition simple = factory.createXSDSimpleTypeDefinition();
-//
-// Node child = element.getFirstChild();
-// if (XSDDOMHelper.inputEquals(child, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false) ||
-// XSDDOMHelper.inputEquals(child, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-// {
-// element.removeChild(child);
-// }
-//
-// FormatProcessor formatProcessor = new FormatProcessor();
-// if (xsdType.equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-// {
-// xsdElem.setAnonymousTypeDefinition(complex);
-// Element elem = complex.getElement();
-// formatProcessor.formatWithSiblingIndent((XMLNode)elem);
-// }
-// else if (xsdType.equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG))
-// {
-// xsdElem.setAnonymousTypeDefinition(simple);
-// Element elem = simple.getElement();
-// formatProcessor.formatWithSiblingIndent((XMLNode)elem);
-// }
-// }
-// component.updateElement();
-// */
-// }
-//
-// boolean isSTAnonymous(Element element)
-// {
-// Node aNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-// if (aNode != null)
-// {
-// if (XSDDOMHelper.inputEquals(aNode, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-// {
-// return true;
-// }
-// }
-// return false;
-// }
-//
-// boolean isCTAnonymous(Element element)
-// {
-// Node aNode = getDomHelper().getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-// if (aNode != null)
-// {
-// if (XSDDOMHelper.inputEquals(aNode, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-// {
-// return true;
-// }
-// }
-// return false;
-// }
-//
-// XSDTypeDefinition getAnonymousTypeDefinition(Element element)
-// {
-// Node typeDefinitionNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-// if (typeDefinitionNode == null)
-// {
-// typeDefinitionNode = getDomHelper().getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-// }
-// if (typeDefinitionNode != null)
-// {
-// XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(typeDefinitionNode);
-// if (component instanceof XSDTypeDefinition)
-// {
-// return (XSDTypeDefinition)component;
-// }
-// }
-// return null;
-//
-// /* XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(element);
-// if (component instanceof XSDElementDeclaration)
-// {
-// XSDElementDeclaration xsdElem = (XSDElementDeclaration)component;
-//
-// return xsdElem.getAnonymousTypeDefinition();
-// }
-// return null;
-// */
-// }
-//
-// void updateElementToNotAnonymous(Element element)
-// {
-// NodeList children = element.getChildNodes();
-// if (children != null)
-// {
-// for (int i = 0; i < children.getLength(); i++)
-// {
-// Node node = (Node)children.item(i);
-// if (node instanceof Element)
-// {
-// if (node.getLocalName().equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG) ||
-// node.getLocalName().equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-// {
-// XSDDOMHelper.removeNodeAndWhitespace(node);
-// i=0;
-// }
-// }
-// }
-// }
-// /* XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(element);
-// if (component instanceof XSDElementDeclaration)
-// {
-// XSDElementDeclaration xsdElem = (XSDElementDeclaration)component;
-// if (xsdElem.isSetAnonymousTypeDefinition())
-// {
-// xsdElem.unsetAnonymousTypeDefinition();
-// xsdElem.setAnonymousTypeDefinition(null);
-// }
-// }
-// component.updateElement();
-// */
-// }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/EnumerationPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/EnumerationPropertySource.java
deleted file mode 100644
index 65124f7015..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/EnumerationPropertySource.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class EnumerationPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- /**
- *
- */
- public EnumerationPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public EnumerationPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public EnumerationPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
- PropertyDescriptor nameDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.VALUE_ATTRIBUTE,
- XSDConstants.VALUE_ATTRIBUTE);
- list.add(nameDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- }
- if (result == null)
- {
- result = "";
- }
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value != null)
- {
- if (value instanceof String)
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ENUM_VALUE_CHANGE"), element);
- element.setAttribute(XSDConstants.VALUE_ATTRIBUTE, (String)value);
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/FixedOrDefaultTextPropertyDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/FixedOrDefaultTextPropertyDescriptor.java
deleted file mode 100644
index 21e09aa229..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/FixedOrDefaultTextPropertyDescriptor.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-
-public class FixedOrDefaultTextPropertyDescriptor extends PropertyDescriptor
-{
- protected static String choice = "";
- Element element;
- /**
- * @param id
- * @param displayName
- */
- public FixedOrDefaultTextPropertyDescriptor(Object id, String displayName, Element element)
- {
- super(id, displayName);
- this.element = element;
- }
-
- public CellEditor createPropertyEditor(Composite parent)
- {
- CellEditor editor = new FixedOrDefaultTextCellEditor(parent);
- if (getValidator() != null)
- editor.setValidator(getValidator());
- return editor;
- }
-
-// public void setChoice(String newChoice)
-// {
-// choice = newChoice;
-// }
-
- public Object getId()
- {
- Attr fixedAttr = element.getAttributeNode(XSDConstants.FIXED_ATTRIBUTE);
- Attr defaultAttr = element.getAttributeNode(XSDConstants.DEFAULT_ATTRIBUTE);
- if (fixedAttr != null)
- {
- choice = "fixed";
- }
- else if (defaultAttr != null) // what if both attributes were specified? Use default...
- {
- choice = "default";
- }
- else
- {
- choice = "";
- }
-
- if (choice.equals("fixed"))
- {
- return "fixed";
- }
- else if (choice.equals("default"))
- {
- return "default";
- }
- else
- {
- return super.getId();
- }
- }
-
- public String getDisplayName()
- {
- Attr fixedAttr = element.getAttributeNode(XSDConstants.FIXED_ATTRIBUTE);
- Attr defaultAttr = element.getAttributeNode(XSDConstants.DEFAULT_ATTRIBUTE);
- if (fixedAttr != null)
- {
- choice = "fixed";
- }
- else if (defaultAttr != null) // what if both attributes were specified? Use default...
- {
- choice = "default";
- }
- else
- {
- choice = "fixed/default";
- }
-
- if (choice.equals("fixed"))
- {
- return "fixed";
- }
- else if (choice.equals("default"))
- {
- return "default";
- }
- else
- {
- return super.getDisplayName();
- }
- }
-
- class FixedOrDefaultTextCellEditor extends DialogCellEditor
- {
- public FixedOrDefaultTextCellEditor(Composite parent)
- {
- super(parent);
- }
-
- protected Object openDialogBox(Control cellEditorWindow)
- {
- Shell shell = Display.getCurrent().getActiveShell();
-
- FixedOrDefaultDialog dialog = new FixedOrDefaultDialog(shell);
-
- dialog.setBlockOnOpen(true);
- dialog.create();
-
- String value = (String)getValue();
-
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- String newValue = dialog.getValue();
- fireApplyEditorValue();
- }
- deactivate();
- return null;
- }
- }
-
- class FixedOrDefaultDialog extends Dialog implements SelectionListener
- {
- private int FIXED = 0;
- private int DEFAULT = 1;
- private int type;
- private int value;
- protected Button fixedButton, defaultButton;
- protected Text valueField;
- protected String valueString = "";
-
- public FixedOrDefaultDialog(Shell shell)
- {
- super(shell);
- }
-
- protected void configureShell(Shell shell)
- {
- super.configureShell(shell);
- }
-
- protected void buttonPressed(int buttonId)
- {
- if (buttonId == Dialog.OK)
- {
- valueString = valueField.getText();
- applyEditorValueAndDeactivate();
- }
- super.buttonPressed(buttonId);
- }
-
- public String getValue() { return valueString; }
- public String getType() { return type == FIXED? "fixed" : "default"; }
-
- //
- // Create the controls
- //
- public Control createDialogArea(Composite parent)
- {
- Composite client = (Composite)super.createDialogArea(parent);
- getShell().setText("Fixed/Default Value");
-
- GridLayout gl = new GridLayout(1, true);
-// gl.marginHeight = 0;
-// gl.marginWidth = 0;
-// gl.horizontalSpacing = 0;
-// gl.verticalSpacing = 0;
- client.setLayout(gl);
-
- GridData gd = new GridData();
- gd.grabExcessHorizontalSpace = true;
- gd.grabExcessVerticalSpace = true;
- gd.horizontalAlignment = GridData.FILL;
- gd.verticalAlignment = GridData.FILL;
- gd.horizontalIndent = 0;
- client.setLayoutData(gd);
-
-// isTextReadOnly = false;
-
- fixedButton = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_FIXED"));
-// WorkbenchHelp.setHelp(fixedButton, XSDEditorContextIds.XSDE_ELEMENT_FIXED);
-
- defaultButton = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_DEFAULT"));
-// WorkbenchHelp.setHelp(defaultButton, XSDEditorContextIds.XSDE_ELEMENT_DEFAULT);
-
- valueField = ViewUtility.createTextField(client, 30);
-
-// WorkbenchHelp.setHelp(valueField, XSDEditorContextIds.XSDE_ELEMENT_VALUE);
-// valueField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_VALUE"));
-
- WorkbenchHelp.setHelp(fixedButton, XSDEditorContextIds.XSDE_ATTRIBUTE_FIXED);
- WorkbenchHelp.setHelp(defaultButton, XSDEditorContextIds.XSDE_ATTRIBUTE_DEFAULT);
- // WorkbenchHelp.setHelp(valueField, XSDEditorContextIds.XSDE_ATTRIBUTE_VALUE);
-
- Attr fixedAttr = element.getAttributeNode(XSDConstants.FIXED_ATTRIBUTE);
- Attr defaultAttr = element.getAttributeNode(XSDConstants.DEFAULT_ATTRIBUTE);
-
- if (fixedAttr != null)
- {
- fixedButton.setSelection(true);
- defaultButton.setSelection(false);
- choice = "fixed";
- type = FIXED;
- valueField.setText(element.getAttribute("fixed"));
- valueField.setFocus();
- valueField.selectAll();
- }
- if (defaultAttr != null) // what if both attributes were specified? Use default...
- {
- fixedButton.setSelection(false);
- defaultButton.setSelection(true);
- choice = "default";
- type = DEFAULT;
- valueField.setText(element.getAttribute("default"));
- valueField.setFocus();
- valueField.selectAll();
- }
-
- fixedButton.addSelectionListener(this);
- defaultButton.addSelectionListener(this);
- return client;
- }
-
- void applyEditorValueAndDeactivate()
- {
- String value = valueField.getText();
- if (value != null && value.length() > 0)
- {
- choice = type == FIXED? "fixed" : "default";
- }
- if (value != null && value.length() > 0)
- {
- if (choice.equals("fixed"))
- {
- element.removeAttribute(XSDConstants.DEFAULT_ATTRIBUTE);
- element.setAttribute(XSDConstants.FIXED_ATTRIBUTE, value);
- }
- else if (choice.equals("default"))
- {
- element.removeAttribute(XSDConstants.FIXED_ATTRIBUTE);
- element.setAttribute(XSDConstants.DEFAULT_ATTRIBUTE, value);
- }
- }
- if (value.equals(""))
- {
- choice = "";
- element.removeAttribute(XSDConstants.DEFAULT_ATTRIBUTE);
- element.removeAttribute(XSDConstants.FIXED_ATTRIBUTE);
- }
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == fixedButton && fixedButton.getSelection())
- {
- type = FIXED;
- choice = "fixed";
- }
- else if (e.widget == defaultButton && defaultButton.getSelection())
- {
- type = DEFAULT;
- choice = "default";
- }
- }
-
- public void widgetDefaultSelected(SelectionEvent e)
- {
- }
-
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/GroupRefPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/GroupRefPropertySource.java
deleted file mode 100644
index 7f10f66946..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/GroupRefPropertySource.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class GroupRefPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- private String[] refComboValues = { "" };
- /**
- *
- */
- public GroupRefPropertySource()
- {
- super();
- }
-
-// public void setReferenceComboContextHelp(String contextId)
-// {
-// WorkbenchHelp.setHelp(refCombo, contextId);
-// }
-
- /**
- * @param viewer
- * @param xsdSchema
- */
- public GroupRefPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public GroupRefPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
-
- public void setInput(Element element)
- {
- this.element = element;
- TypesHelper helper = new TypesHelper(xsdSchema);
- java.util.List items = helper.getGlobalElements();
- if (XSDDOMHelper.inputEquals(element, XSDConstants.GROUP_ELEMENT_TAG, true))
- {
- items = helper.getModelGroups();
- // Need tooltip for Group Ref
-// minimumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MINIMUM"));
-// WorkbenchHelp.setHelp(minimumField, XSDEditorContextIds.XSDE_GROUP_REF_MINIMUM);
-// maximumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MAXIMUM"));
-// WorkbenchHelp.setHelp(maximumField, XSDEditorContextIds.XSDE_GROUP_REF_MAXIMUM);
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, true))
- {
- items = helper.getGlobalElements();
-// minimumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MINIMUM"));
-// WorkbenchHelp.setHelp(minimumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MINIMUM);
-// maximumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MAXIMUM"));
-// WorkbenchHelp.setHelp(maximumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MAXIMUM);
- }
-
- int size = items.size() + 1;
- refComboValues = new String[size];
- refComboValues[0] = "";
- if (items != null)
- {
- for (int i = 0; i < items.size(); i++)
- {
- refComboValues[i + 1] = (String) items.get(i);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- XSDComboBoxPropertyDescriptor refDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.REF_ATTRIBUTE,
- XSDConstants.REF_ATTRIBUTE,
- refComboValues);
- list.add(refDescriptor);
-
- PropertyDescriptor minOccursDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.MINOCCURS_ATTRIBUTE,
- XSDConstants.MINOCCURS_ATTRIBUTE);
- list.add(minOccursDescriptor);
- PropertyDescriptor maxOccursDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.MAXOCCURS_ATTRIBUTE,
- XSDConstants.MAXOCCURS_ATTRIBUTE);
- list.add(maxOccursDescriptor);
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- if (result == null)
- {
- result = "";
- }
- return result;
-
-// if (((String) id).equals(XSDConstants.REF_ATTRIBUTE))
-// {
-// return result;
-// }
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- String newValue = (String)value;
- String attributeName = (String)id;
- if (((String) id).equals(XSDConstants.MAXOCCURS_ATTRIBUTE))
- {
- String max = (String)value;
- String min = element.getAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- beginRecording(XSDEditorPlugin.getXSDString("_UI_MAXOCCURS_CHANGE"), element);
- if (max.length() > 0)
- {
- element.setAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE, max);
- }
- else
- {
- element.removeAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
- }
- endRecording(element);
- }
- else if (((String) id).equals(XSDConstants.MINOCCURS_ATTRIBUTE))
- {
- String min = (String)value;
- String max = element.getAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
- beginRecording(XSDEditorPlugin.getXSDString("_UI_MINOCCURS_CHANGE"), element);
- if (min.length() > 0)
- {
- element.setAttribute(XSDConstants.MINOCCURS_ATTRIBUTE, min);
- }
- else
- {
- element.removeAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- }
- endRecording(element);
- }
- else if (((String) id).equals(XSDConstants.REF_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_REF_CHANGE"), element);
- element.setAttribute((String) id, newValue);
- endRecording(element);
- }
- }
-// Runnable delayedUpdate = new Runnable()
-// {
-// public void run()
-// {
- if (viewer != null)
- viewer.refresh();
-// }
-// };
-// Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ImportPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ImportPropertySource.java
deleted file mode 100644
index 896c922500..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ImportPropertySource.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.XSDExternalFileCleanup;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class ImportPropertySource
- extends SchemaDirectiveHelperPropertySource
- implements IPropertySource
-{
- boolean isSetNamespace = false;
- /**
- * @param viewer
- * @param xsdSchema
- */
- public ImportPropertySource(Viewer viewer, XSDSchema xsdSchema, IFile currentIFile)
- {
- super(viewer, xsdSchema, false);
- this.currentIFile = currentIFile;
-// WorkbenchHelp.setHelp(controlsContainer, XSDEditorContextIds.XSDE_IMPORT_DESIGN_VIEW);
-//WorkbenchHelp.setHelp(selectButton, XSDEditorContextIds.XSDE_INCLUDE_HELPER_SELECT);
-//WorkbenchHelp.setHelp(prefixField, XSDEditorContextIds.XSDE_IMPORT_PREFIX);
- }
- /**
- * @param xsdSchema
- */
- public ImportPropertySource(XSDSchema xsdSchema, IFile currentIFile)
- {
- super(xsdSchema, false);
- this.currentIFile = currentIFile;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
-
- SchemaLocationPropertyDescriptor schemaLocationDescriptor =
- new SchemaLocationPropertyDescriptor(
- XSDConstants.SCHEMALOCATION_ATTRIBUTE,
- XSDConstants.SCHEMALOCATION_ATTRIBUTE
- );
- schemaLocationDescriptor.setHelpContextIds(XSDEditorContextIds.XSDE_INCLUDE_HELPER_SELECT);
- list.add(schemaLocationDescriptor);
-
- if (isSetNamespace)
- {
- PropertyDescriptor prefixDescriptor =
- new TextPropertyDescriptor(
- "Prefix",
- "Prefix");
- prefixDescriptor.setHelpContextIds(XSDEditorContextIds.XSDE_IMPORT_PREFIX);
- list.add(prefixDescriptor);
- }
- else
- {
- PropertyDescriptor prefixDescriptor =
- new PropertyDescriptor(
- "Prefix",
- "Prefix");
- prefixDescriptor.setHelpContextIds(XSDEditorContextIds.XSDE_IMPORT_PREFIX);
- list.add(prefixDescriptor);
- }
-
- PropertyDescriptor namespaceDescriptor =
- new PropertyDescriptor(
- XSDConstants.NAMESPACE_ATTRIBUTE,
- XSDConstants.NAMESPACE_ATTRIBUTE);
- list.add(namespaceDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- String attributeName = (String)id;
- if (result == null)
- {
- result = "";
- }
-
- if (attributeName.equals("Prefix"))
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- String aPrefix = helper.getPrefix(element.getAttribute(XSDConstants.NAMESPACE_ATTRIBUTE), false);
- if (aPrefix != null && aPrefix.length() > 0)
- {
- return aPrefix;
- }
- return "";
- }
- else
- {
- return result;
- }
- }
- return "";
-
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- String newValue = (String)value;
- TypesHelper typesHelper = new TypesHelper(xsdSchema);
- String namespace = element.getAttribute(XSDConstants.NAMESPACE_ATTRIBUTE);
- String oldPrefixValue = typesHelper.getPrefix(namespace, false);
-
- String schemaLocation = element.getAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE);
- if (((String) id).equals("Prefix"))
- {
- if (validatePrefix(newValue) && schemaLocation.length() > 0)
- {
- Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-
- if (map.containsKey(newValue))
- {
-// setErrorMessage(XSDEditorPlugin.getXSDString("_ERROR_LABEL_PREFIX_EXISTS"));
- }
- else
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_PREFIX_CHANGE"), element);
-
- Element schemaElement = xsdSchema.getElement();
- map.remove(oldPrefixValue);
- map.put(newValue, namespace);
- XSDSchemaHelper.updateElement(xsdSchema);
-
- endRecording(element);
- }
- }
- }
- else if (((String) id).equals(XSDConstants.SCHEMALOCATION_ATTRIBUTE))
- {
- updateExternalModel((String)value, selectedIFile, selectedNamespace, selectedXSDSchema);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
- public void setInput(Element element)
- {
- this.element = element;
- String namespace = element.getAttribute(XSDConstants.NAMESPACE_ATTRIBUTE);
- if (namespace != null && namespace.trim().length() > 0)
- {
- isSetNamespace = true;
- }
-
- }
-
- protected void updateExternalModel(String newLocation, IFile newFile, String namespace, XSDSchema externalSchema)
- {
- if (xsdSchema == null) // in case we have a bad schema
- {
- return;
- }
- Element importElement = element;
- if (namespace == null)
- {
- namespace = "";
- }
-
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp instanceof XSDImport)
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_IMPORT_CHANGE"), importElement);
- java.util.Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-
- // Referential integrity on old import
- // How can we be sure that if the newlocation is the same as the oldlocation
- // the file hasn't changed
-
- XSDSchema referencedSchema = ((XSDSchemaDirective)comp).getResolvedSchema();
- if (referencedSchema != null)
- {
- XSDExternalFileCleanup cleanHelper = new XSDExternalFileCleanup(referencedSchema);
- cleanHelper.visitSchema(xsdSchema);
- }
-
- Element schemaElement = xsdSchema.getElement();
-
-// String oldPrefix = prefixField.getText();
-//
-// // Use the existing xmlns if available
-// if (!map.containsValue(namespace))
-// {
-// if (oldPrefix.length() > 0)
-// {
-// schemaElement.removeAttribute("xmlns:"+oldPrefix);
-// map.remove(oldPrefix);
-// }
-// }
-
- XSDImport xsdImport = (XSDImport)comp;
-// xsdImport.setSchemaLocation(null);
-// xsdImport.setResolvedSchema(externalSchema);
-
- // update the xmlns in the schema element first, and then update the import element next
- // so that the last change will be in the import element. This keeps the selection
- // on the import element
- TypesHelper helper = new TypesHelper(externalSchema);
- String prefix = helper.getPrefix(namespace, false);
-
- boolean prefixAlreadyExists = false;
- if (map.containsKey(prefix))
- {
- prefixAlreadyExists = true;
- }
-
- if (prefix == null || (prefix !=null && prefix.length() == 0) || prefixAlreadyExists)
- {
- prefix = "pref";
-
- int prefixExtension = 1;
- while (map.containsKey(prefix) && prefixExtension < 100)
- {
- prefix = prefix + String.valueOf(prefixExtension);
- prefixExtension++;
- }
- }
-
- if (namespace.length() > 0)
- {
- // if ns already in map, use its corresponding prefix
- if (map.containsValue(namespace))
- {
- TypesHelper typesHelper = new TypesHelper(xsdSchema);
- prefix = typesHelper.getPrefix(namespace, false);
- }
- else // otherwise add to the map
- {
-// prefixMap.put(prefix, newLocation);
- schemaElement.setAttribute("xmlns:"+prefix, namespace);
- }
- }
-
- // Now update the import element's attributes
- importElement.setAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, newLocation);
-
- if (!namespace.equals(""))
- {
- importElement.setAttribute(XSDConstants.NAMESPACE_ATTRIBUTE, namespace);
- }
- else
- {
- importElement.removeAttribute(XSDConstants.NAMESPACE_ATTRIBUTE);
- }
-
-// if (getEditor() != null)
-// {
-// getEditor().reparseSchema();
-// getEditor().getGraphViewer().setSchema(getXSDSchema());
-// }
-
- endRecording(importElement);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/IncludePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/IncludePropertySource.java
deleted file mode 100644
index bbc15e86c3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/IncludePropertySource.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.XSDExternalFileCleanup;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class IncludePropertySource
- extends SchemaDirectiveHelperPropertySource
- implements IPropertySource
-{
- /**
- *
- */
- public IncludePropertySource(IFile currentIFile)
- {
- super(true);
- this.currentIFile = currentIFile;
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public IncludePropertySource(Viewer viewer, XSDSchema xsdSchema, IFile currentIFile)
- {
- super(viewer, xsdSchema, true);
- this.currentIFile = currentIFile;
- }
- /**
- * @param xsdSchema
- */
- public IncludePropertySource(XSDSchema xsdSchema, IFile currentIFile)
- {
- super(xsdSchema, true);
- this.currentIFile = currentIFile;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
-
- SchemaLocationPropertyDescriptor schemaLocationDescriptor =
- new SchemaLocationPropertyDescriptor(
- XSDConstants.SCHEMALOCATION_ATTRIBUTE,
- XSDConstants.SCHEMALOCATION_ATTRIBUTE);
-
- list.add(schemaLocationDescriptor);
-
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- String attributeName = (String)id;
- if (result == null)
- {
- result = "";
- }
- return result;
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- if (((String) id).equals(XSDConstants.SCHEMALOCATION_ATTRIBUTE))
- {
- //element.setAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, (String)value);
- updateExternalModel((String)value, selectedIFile, selectedNamespace, selectedXSDSchema);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
- }
-
- protected void updateExternalModel(String newLocation, IFile newFile, String namespace, XSDSchema externalSchema)
- {
- Element includeElement = element;
-
- String existingSchemaLocation = includeElement.getAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE);
-
-// beginRecording(XSDEditorPlugin.getXSDString("_UI_INCLUDE_CHANGE"), includeElement);
- beginRecording("Include Change", includeElement);
- includeElement.setAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, newLocation);
-
- // If there is no existing schemaLocation, then just set it
- if (existingSchemaLocation == null)
- {
- return;
- }
-
- XSDConcreteComponent includeComponent = xsdSchema.getCorrespondingComponent(includeElement);
- if (includeComponent instanceof XSDInclude)
- {
- XSDInclude include = (XSDInclude) includeComponent;
-
- XSDSchema referencedSchema = include.getResolvedSchema();
- if (referencedSchema != null)
- {
- XSDExternalFileCleanup cleanHelper = new XSDExternalFileCleanup(referencedSchema);
- cleanHelper.visitSchema(xsdSchema);
-
- xsdSchema.update();
- include.updateElement();
- }
-
- }
- endRecording(includeElement);
- }
-
-
-// Redefine's version
-// protected void updateExternalModel(IFile newFile, String namespace, XSDSchema externalSchema)
-// {
-// Element redefineElement = (Element) getNode();
-//
-// redefineElement.setAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, locationField.getText());
-//
-// String existingSchemaLocation = redefineElement.getAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE);
-//
-// // If there is no existing schemaLocation, then just set it and return
-// if (existingSchemaLocation == null)
-// {
-// return;
-// }
-//
-// XSDConcreteComponent redefineComponent = getXSDSchema().getCorrespondingComponent(redefineElement);
-// if (redefineComponent instanceof XSDRedefine)
-// {
-// XSDRedefine redefine = (XSDRedefine) redefineComponent;
-// XSDExternalFileCleanup cleanup = new XSDExternalFileCleanup(redefine.getIncorporatedSchema());
-//
-// cleanup.visitSchema(getXSDSchema());
-// if (getEditor() != null)
-// {
-//// DisplayErrorInTaskList task = new DisplayErrorInTaskList(getEditor().getEditorIDocument(), getEditor().getFileResource(), cleanup.getMessages());
-//// task.run();
-//
-// // Workaround to reset included elements in XSD model
-// getEditor().reparseSchema();
-// getEditor().getGraphViewer().setSchema(getXSDSchema());
-// }
-// }
-//
-// /* since we are reparsing, we don't need this
-//
-// Iterator contents = getXSDSchema().getContents().iterator();
-// while (contents.hasNext())
-// {
-// XSDSchemaContent content = (XSDSchemaContent)contents.next();
-// if (content instanceof XSDSchemaDirective)
-// {
-// XSDSchemaDirective directive = (XSDSchemaDirective)content;
-//
-// if (directive.getSchemaLocation().equals(oldSchemaLocation) && directive instanceof XSDRedefine)
-// {
-// directive.unsetSchemaLocation();
-// directive.setSchemaLocation(locationField.getText());
-// directive.unsetResolvedSchema();
-// redefineElement.setAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, locationField.getText());
-// getXSDSchema().updateDocument();
-// XSDSchemaHelper.updateElement(directive);
-//// directive.updateElement();
-// break;
-// }
-// }
-// }
-// */
-// }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/KeyrefPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/KeyrefPropertySource.java
deleted file mode 100644
index c3b4a4f3bb..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/KeyrefPropertySource.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class KeyrefPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- private String[] refComboValues = { "" };
- /**
- *
- */
- public KeyrefPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public KeyrefPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public KeyrefPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
-
- public void setInput(Element element)
- {
- this.element = element;
- TypesHelper helper = new TypesHelper(xsdSchema);
- java.util.List items = new ArrayList();
-
-
- if (xsdSchema != null)
- {
- Iterator iter = xsdSchema.getIdentityConstraintDefinitions().iterator();
- String name = element.getAttribute(XSDConstants.NAME_ATTRIBUTE);
- while (iter.hasNext())
- {
- XSDIdentityConstraintDefinition constraint = (XSDIdentityConstraintDefinition)iter.next();
- if (name != null && !name.equals(""))
- {
- if (constraint.getName() != null)
- {
- if (!name.equals(constraint.getQName(xsdSchema)))
- {
- items.add(constraint.getQName(xsdSchema));
- }
- }
- }
- else
- {
- if (constraint.getName() != null)
- {
- items.add(constraint.getQName(xsdSchema));
- }
- }
- }
- }
-
- int size = items.size() + 1;
- refComboValues = new String[size];
- refComboValues[0] = "";
- if (items != null)
- {
- for (int i = 0; i < items.size(); i++)
- {
- refComboValues[i + 1] = (String) items.get(i);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
-// This property is moved to the General Tab
-// PropertyDescriptor nameDescriptor =
-// new TextPropertyDescriptor(
-// XSDConstants.NAME_ATTRIBUTE,
-// XSDConstants.NAME_ATTRIBUTE);
-// list.add(nameDescriptor);
-
- XSDComboBoxPropertyDescriptor refDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.REFER_ATTRIBUTE,
- XSDConstants.REFER_ATTRIBUTE,
- refComboValues);
- list.add(refDescriptor);
-
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
-
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- if (result == null)
- {
- result = "";
- }
- return result;
-// if (((String) id).equals(XSDConstants.REFER_ATTRIBUTE))
-// {
-// return result;
-// }
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- String newValue = (String)value;
- if (((String) id).equals(XSDConstants.NAME_ATTRIBUTE))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_KEYREF_NAME_CHANGE"), element);
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- endRecording(element);
- }
- }
- else if (((String) id).equals(XSDConstants.REFER_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_KEYREF_REFER_CHANGE"), element);
- element.setAttribute((String) id, newValue);
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ModelGroupPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ModelGroupPropertySource.java
deleted file mode 100644
index 750b81dc10..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ModelGroupPropertySource.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class ModelGroupPropertySource // all or sequence or choice
- extends BasePropertySource
- implements IPropertySource
-{
- private String[] modelGroupComboValues = { "sequence", "choice", "all" };
- /**
- *
- */
- public ModelGroupPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public ModelGroupPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public ModelGroupPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
-
- XSDComboBoxPropertyDescriptor modelGroupDescriptor =
- new XSDComboBoxPropertyDescriptor(
- "model group",
- "model group",
- modelGroupComboValues);
- list.add(modelGroupDescriptor);
-
- PropertyDescriptor minOccursDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.MINOCCURS_ATTRIBUTE,
- XSDConstants.MINOCCURS_ATTRIBUTE);
- list.add(minOccursDescriptor);
- PropertyDescriptor maxOccursDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.MAXOCCURS_ATTRIBUTE,
- XSDConstants.MAXOCCURS_ATTRIBUTE);
- list.add(maxOccursDescriptor);
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- String attributeName = (String)id;
- if (result == null)
- {
- result = "";
- }
- if (attributeName.equals("model group"))
- {
- result = element.getLocalName();
- return result;
- }
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- String property = (String)id;
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- String newValue = (String)value;
- if (property.equals("model group"))
- {
- Document doc = element.getOwnerDocument();
- Element parent = (Element)element.getParentNode();
- String prefix = element.getPrefix();
- prefix = prefix == null ? "" : prefix + ":";
- Element newNode = null;
- // int compositor = XSDCompositor.SEQUENCE;
- beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_SCOPE_CHANGE"), parent);
- changeContentModel(parent, newValue);
- endRecording(parent);
- XSDDOMHelper domHelper = new XSDDOMHelper();
- setInput(domHelper.getContentModelFromParent(parent));
- }
- else if (property.equals(XSDConstants.MAXOCCURS_ATTRIBUTE))
- {
- String max = (String)value;
- String min = element.getAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- beginRecording(XSDEditorPlugin.getXSDString("_UI_MAXOCCURS_CHANGE"), element);
- if (max.length() > 0)
- {
- element.setAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE, max);
- }
- else
- {
- element.removeAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
- }
- endRecording(element);
- }
- else if (((String) id).equals(XSDConstants.MINOCCURS_ATTRIBUTE))
- {
- String min = (String)value;
- String max = element.getAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
- beginRecording(XSDEditorPlugin.getXSDString("_UI_MINOCCURS_CHANGE"), element);
- if (min.length() > 0)
- {
- element.setAttribute(XSDConstants.MINOCCURS_ATTRIBUTE, min);
- }
- else
- {
- element.removeAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- }
- endRecording(element);
- }
- }
-
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
- public void setInput(Element element)
- {
- super.setInput(element);
-
- if (element != null)
- {
- boolean parentIsSequence = false;
- boolean parentIsChoice = false;
-
- Object parent = element.getParentNode();
-
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SEQUENCE_ELEMENT_TAG, false))
- {
- parentIsSequence = true;
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.CHOICE_ELEMENT_TAG, false))
- {
- parentIsChoice = true;
- }
-
- if (parentIsChoice || parentIsSequence)
- {
- modelGroupComboValues = new String[2];
- modelGroupComboValues[0] = XSDConstants.SEQUENCE_ELEMENT_TAG;
- modelGroupComboValues[1] = XSDConstants.CHOICE_ELEMENT_TAG;
- }
- else
- {
- modelGroupComboValues = new String[3];
- modelGroupComboValues[0] = XSDConstants.SEQUENCE_ELEMENT_TAG;
- modelGroupComboValues[1] = XSDConstants.CHOICE_ELEMENT_TAG;
- modelGroupComboValues[2] = XSDConstants.ALL_ELEMENT_TAG;
- }
- }
- }
-
- private void changeContentModel(Element parent, String contentModel)
- {
- Document doc = parent.getOwnerDocument();
- XSDDOMHelper domHelper = new XSDDOMHelper();
-
- String prefix = parent.getPrefix();
- prefix = prefix == null ? "" : prefix + ":";
-
- Element contentModelElement = domHelper.getContentModelFromParent(parent);
-
- if (contentModelElement.getLocalName().equals(contentModel))
- {
- return; // it's already the content model
- }
-
- Element newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + contentModel);
-
- if (contentModelElement.hasChildNodes())
- {
- NodeList nodes = contentModelElement.getChildNodes();
- // use clones so we don't have a refresh problem
- for (int i = 0; i < nodes.getLength(); i++)
- {
- Node node = nodes.item(i);
- newNode.appendChild(node.cloneNode(true));
- }
- }
- parent.replaceChild(newNode, contentModelElement);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NamePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NamePropertySource.java
deleted file mode 100644
index bbfb786416..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NamePropertySource.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalAttributeGroupRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalGroupRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class NamePropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- /**
- *
- */
- public NamePropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public NamePropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public NamePropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
-
-// From attribute group
-// WorkbenchHelp.setHelp(client, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_DESIGN_VIEW);
-// WorkbenchHelp.setHelp(nameField, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_NAME);
-
-// From unique
-// WorkbenchHelp.setHelp(nameField, XSDEditorContextIds.XSDE_UNIQUE_BASE_NAME);
-
-// From key
-// WorkbenchHelp.setHelp(nameField, XSDEditorContextIds.XSDE_UNIQUE_BASE_NAME);
-
-// From group
-// WorkbenchHelp.setHelp(controlsContainer, XSDEditorContextIds.XSDE_GROUP_DESIGN_VIEW);
-// WorkbenchHelp.setHelp(nameField, XSDEditorContextIds.XSDE_GROUP_NAME);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
- PropertyDescriptor nameDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.NAME_ATTRIBUTE,
- XSDConstants.NAME_ATTRIBUTE);
- list.add(nameDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- }
- if (result == null)
- {
- result = "";
- }
- return result;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value != null)
- {
- if (value instanceof String)
- {
- String newValue = (String)value;
- if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTEGROUP_NAME_CHANGE"), element);
-
- // now rename any references to this element
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDAttributeGroupDefinition && comp.getContainer().equals(xsdSchema))
- {
- GlobalAttributeGroupRenamer renamer = new GlobalAttributeGroupRenamer((XSDNamedComponent)comp, (String)value);
- renamer.visitSchema(xsdSchema);
- }
- }
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, (String)value);
- endRecording(element);
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.UNIQUE_ELEMENT_TAG, false))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_UNIQUE_NAME_CHANGE"), element);
- if (newValue.length() > 0)
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- }
- else
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, "");
- }
- endRecording(element);
- }
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.KEY_ELEMENT_TAG, false))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_KEY_NAME_CHANGE"), element);
- if (newValue.length() > 0)
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- }
- else
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, "");
- }
- endRecording(element);
- }
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.GROUP_ELEMENT_TAG, false))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_NAME_CHANGE"), element);
- // now rename any references to this element
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDModelGroupDefinition && comp.getContainer().equals(xsdSchema))
- {
- GlobalGroupRenamer renamer = new GlobalGroupRenamer((XSDNamedComponent)comp, newValue);
- renamer.visitSchema(xsdSchema);
- }
- }
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- endRecording(element);
- }
-
- }
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NotationPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NotationPropertySource.java
deleted file mode 100644
index 573d83dd32..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NotationPropertySource.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class NotationPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- /**
- *
- */
- public NotationPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public NotationPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public NotationPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
-// Removed for tabbed properties
-// PropertyDescriptor nameDescriptor =
-// new TextPropertyDescriptor(
-// XSDConstants.NAME_ATTRIBUTE,
-// XSDConstants.NAME_ATTRIBUTE);
-// list.add(nameDescriptor);
-
- PropertyDescriptor publicDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.PUBLIC_ATTRIBUTE,
- XSDConstants.PUBLIC_ATTRIBUTE);
- list.add(publicDescriptor);
-
- PropertyDescriptor systemDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.SYSTEM_ATTRIBUTE,
- XSDConstants.SYSTEM_ATTRIBUTE);
- list.add(systemDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
-
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- }
- if (result == null)
- {
- result = "";
- }
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- String newValue = (String)value;
- if (((String)id).equals(XSDConstants.NAME_ATTRIBUTE))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_NOTATION_NAME_CHANGE"), element);
- if (newValue.length() > 0)
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- }
- else
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, "");
- }
- endRecording(element);
- }
- }
- else if (((String)id).equals(XSDConstants.PUBLIC_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_NOTATION_PUBLIC_CHANGE"), element);
- if (newValue.length() > 0)
- {
- element.setAttribute(XSDConstants.PUBLIC_ATTRIBUTE, newValue);
- }
- else
- {
- element.setAttribute(XSDConstants.PUBLIC_ATTRIBUTE, "");
- }
- endRecording(element);
- }
- else if (((String)id).equals(XSDConstants.SYSTEM_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_NOTATION_SYSTEM_CHANGE"), element);
- if (newValue.length() > 0)
- {
- element.setAttribute(XSDConstants.SYSTEM_ATTRIBUTE, newValue);
- }
- else
- {
- element.removeAttribute(XSDConstants.SYSTEM_ATTRIBUTE);
- }
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/OptionsTextCellEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/OptionsTextCellEditor.java
deleted file mode 100644
index 3f0e59191a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/OptionsTextCellEditor.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-
-
-public abstract class OptionsTextCellEditor extends CellEditor implements SelectionListener, KeyListener
-{
- private Composite fEditor;
- protected Text fText;
- protected boolean isTextReadOnly;
- Button moreButton;
- Shell dialog;
-
- private String fSelection;
- protected Object fValue;
- int selection;
- Object typeObject;
-
- private class ComboCellLayout extends Layout
- {
- public void layout(Composite editor, boolean force)
- {
- Rectangle bounds= editor.getClientArea();
- Point size= moreButton.computeSize(SWT.DEFAULT, bounds.height, force);
- fText.setBounds(0, 0, bounds.width - size.x, bounds.height);
- moreButton.setBounds(bounds.width - size.x, 0, size.x, size.y);
- }
-
- public Point computeSize(Composite editor, int wHint, int hHint, boolean force)
- {
- if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
- {
- return new Point(wHint, hHint);
- }
- Point size= fText.computeSize(SWT.DEFAULT, SWT.DEFAULT, force);
-// size.x += moreButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, force).x;
- return size;
- }
- }
-
-/**
- * Creates a new combo box cell editor with the given choices.
- */
- public OptionsTextCellEditor(Composite parent)
- {
- super(parent);
- fSelection = "";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.CellEditor#createControl(org.eclipse.swt.widgets.Composite)
- */
- protected Control createControl(Composite parent)
- {
- fEditor = ViewUtility.createComposite(parent, 2);
- fEditor.setLayout(new ComboCellLayout());
-
- if (isTextReadOnly)
- {
- fText = new Text(fEditor, SWT.LEFT | SWT.READ_ONLY);
- }
- else
- {
- fText = new Text(fEditor, SWT.LEFT);
- }
-// fText.setEnabled(false);
-
- fText.setBackground(parent.getBackground());
- fText.setText("");
- fText.addKeyListener(this);
- fText.addFocusListener(new FocusAdapter()
- {
- public void focusLost(FocusEvent e)
- {
- if (!moreButton.isFocusControl())
- {
- OptionsTextCellEditor.this.focusLost();
- }
- }
- });
-
- moreButton = ViewUtility.createPushButton(fEditor, "...");
- moreButton.addSelectionListener(new SelectionAdapter()
- {
- public void widgetSelected(SelectionEvent e)
- {
- // System.out.println("More Button Clicked");
- openDialog();
- }
- });
- moreButton.addKeyListener(this);
- moreButton.addFocusListener(new FocusAdapter() {
- public void focusLost(FocusEvent e) {
- if (!fText.isFocusControl() && (dialog==null ||
- dialog.isDisposed() ||
- (dialog!=null && !dialog.isFocusControl())))
- {
- // System.out.println("MoreButton focusLost");
- OptionsTextCellEditor.this.focusLost();
- }
- }
- });
-
-
- setValueValid(true);
-
- return fEditor;
- }
-
- public void activate()
- {
- // System.out.println("Cell editor activated");
- fText.setText(fValue == null ? "" : fValue.toString());
- }
-
- protected void focusLost() {
- // System.out.println("CELLEDITOR FOCUS LOST");
- if (isActivated()) {
- applyEditorValueAndDeactivate();
- }
- }
-
- void applyEditorValueAndDeactivate() {
- // must set the selection before getting value
-// if (dialog != null && !dialog.isDisposed())
-// {
-// dialog.close();
-// dialog.dispose();
-// }
- fireApplyEditorValue();
- deactivate();
- }
-
- public void keyPressed(KeyEvent e)
- {
- if (e.character == SWT.ESC)
- { // Escape character
- fireCancelEditor();
- }
- else if ((e.character == SWT.CR) || (e.character == SWT.LF))
- { // Return key
- applyEditorValueAndDeactivate();
- }
- }
-
- public void keyReleased(KeyEvent e)
- {
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.CellEditor#doGetValue()
- * Returns the cell editor's value.
- */
- protected Object doGetValue()
- {
- return fValue;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.CellEditor#doSetFocus()
- * Set the focus to the cell editor's UI representation.
- */
- protected void doSetFocus()
- {
-// fButton.setFocus();
-// System.out.println("doSetFocus() " + moreButton.setFocus());
- fText.setFocus();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.CellEditor#doSetValue(java.lang.Object)
- * Sets the value of the cell editor to the given value.
- */
- protected void doSetValue(Object value)
- {
- fValue = value;
- }
-
- protected Point getButtonAbsoluteLocation()
- {
- Rectangle buttonBounds = moreButton.getBounds();
- int x = buttonBounds.x;
- int y = buttonBounds.y;
- Control c = moreButton;
- while (c != null)
- {
- c = c.getParent();
- if (c == null)
- break;
- x += c.getBounds().x;
- y += c.getBounds().y;
- }
- x += buttonBounds.width + 5;
- y += buttonBounds.height;
- Point p = new Point(x,y);
- return p;
- }
-
- protected void cancel()
- {
- dialog.close();
- dialog.dispose();
- }
-
- protected abstract void openDialog();
-
- public void widgetSelected(SelectionEvent e)
- {
- }
- public void widgetDefaultSelected(SelectionEvent e)
- {
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/PatternPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/PatternPropertySource.java
deleted file mode 100644
index 38f166ab5d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/PatternPropertySource.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.wizards.RegexWizard;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class PatternPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- /**
- *
- */
- public PatternPropertySource()
- {
- super();
-// expressionField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_PATTERN"));
-// WorkbenchHelp.setHelp(expressionField, XSDEditorContextIds.XSDE_PATTERN_VALUE);
-// WorkbenchHelp.setHelp(activateWizardButton, XSDEditorContextIds.XSDE_PATTERN_REGULAR);
-// activateWizardButton.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_BUTTON"));
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public PatternPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public PatternPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
-
- PatternTextPropertyDescriptor patternDescriptor =
- new PatternTextPropertyDescriptor(
- XSDConstants.VALUE_ATTRIBUTE,
- XSDConstants.VALUE_ATTRIBUTE);
- list.add(patternDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- }
- if (result == null)
- {
- result = "";
- }
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- if (((String) id).equals(XSDConstants.VALUE_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_PATTERN_VALUE_CHANGE"), element);
- element.setAttribute(XSDConstants.VALUE_ATTRIBUTE, (String)value);
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
- public class PatternTextPropertyDescriptor extends PropertyDescriptor
- {
- /**
- * @param id
- * @param displayName
- */
- public PatternTextPropertyDescriptor(Object id, String displayName)
- {
- super(id, displayName);
- }
-
- public CellEditor createPropertyEditor(Composite parent)
- {
- // CellEditor editor = new PatternTextCellEditor(parent);
- CellEditor editor = new PatternDialogCellEditor(parent);
- if (getValidator() != null)
- editor.setValidator(getValidator());
- return editor;
- }
- }
-
- public class PatternDialogCellEditor extends DialogCellEditor {
-
- /**
- * Creates a new Font dialog cell editor parented under the given control.
- * The cell editor value is <code>null</code> initially, and has no
- * validator.
- *
- * @param parent the parent control
- */
- protected PatternDialogCellEditor(Composite parent) {
- super(parent);
- }
-
- /**
- * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(Control)
- */
- protected Object openDialogBox(Control cellEditorWindow)
- {
- String initialValue = element.getAttribute(XSDConstants.VALUE_ATTRIBUTE);
- if (initialValue == null)
- {
- initialValue = "";
- }
- RegexWizard wizard = new RegexWizard(initialValue);
- Shell shell = Display.getCurrent().getActiveShell();
- WizardDialog wizardDialog = new WizardDialog(shell, wizard);
- wizardDialog.create();
-
- String value = (String)getValue();
-
- int result = wizardDialog.open();
-
- if (result == Window.OK)
- {
- return wizard.getPattern();
- }
- return value;
- }
-
- }
-
-// class PatternTextCellEditor extends OptionsTextCellEditor
-// {
-// protected Button fixedButton, defaultButton;
-//
-// public PatternTextCellEditor(Composite parent)
-// {
-// super(parent);
-// }
-//
-// protected Control createControl(Composite parent)
-// {
-// isTextReadOnly = false;
-// return super.createControl(parent);
-// }
-//
-// protected void openDialog()
-// {
-// RegexWizard wizard = new RegexWizard(element.getAttribute(XSDConstants.VALUE_ATTRIBUTE));
-// Shell shell = Display.getCurrent().getActiveShell();
-// WizardDialog wizardDialog = new WizardDialog(shell, wizard);
-// wizardDialog.create();
-//
-// dialog = wizardDialog.getShell();
-// Display display = dialog.getDisplay();
-// dialog.addShellListener(new ShellAdapter()
-// {
-// public void shellDeactivated(ShellEvent e)
-// {
-// cancel();
-// }
-// });
-//
-// int result = wizardDialog.open();
-//
-// if (result == Window.OK)
-// {
-// fText.setText(wizard.getPattern());
-// applyEditorValueAndDeactivate();
-// }
-//
-// }
-//
-// protected void cancel()
-// {
-// super.cancel();
-// }
-//
-// void applyEditorValueAndDeactivate()
-// {
-// String value = fText.getText();
-// doSetValue(value);
-// fireApplyEditorValue();
-// deactivate();
-// }
-//
-// protected Object doGetValue()
-// {
-// fValue = fText.getText();
-// return fText.getText();
-// }
-//
-// }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ReadOnlyPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ReadOnlyPropertySource.java
deleted file mode 100644
index 0f5cb7f09b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ReadOnlyPropertySource.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-public class ReadOnlyPropertySource implements IPropertySource
-{
- protected Element element;
-
- public ReadOnlyPropertySource(IEditorPart editPart, Element element)
- {
- this.element = element;
- }
-
- public Object getEditableValue()
- {
- return null;
- }
-
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- NamedNodeMap map = element.getAttributes();
- int mapLength = map.getLength();
- for (int i = 0; i < mapLength; i++)
- {
- Attr attr = (Attr) map.item(i);
- list.add(new PropertyDescriptor(attr.getName(), attr.getName()));
- }
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
-
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- }
- return result != null ? result : "";
- }
-
- public boolean isPropertySet(Object id)
- {
- return false;
- }
-
- public void resetPropertyValue(Object id)
- {
- }
-
- public void setPropertyValue(Object id, Object value)
- {
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaDirectiveHelperPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaDirectiveHelperPropertySource.java
deleted file mode 100644
index b8e1ed26ce..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaDirectiveHelperPropertySource.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.navigator.ResourceNavigator;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.common.ui.viewers.ResourceFilter;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.wizards.XSDSelectIncludeFileWizard;
-import org.eclipse.xsd.XSDSchema;
-
-public abstract class SchemaDirectiveHelperPropertySource
- extends BasePropertySource
-{
- protected IFile currentIFile;
-
- IFile selectedIFile;
- String selectedNamespace;
- XSDSchema selectedXSDSchema;
- boolean isInclude;
- /**
- *
- */
- public SchemaDirectiveHelperPropertySource(boolean isInclude)
- {
- super();
- this.isInclude = isInclude;
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public SchemaDirectiveHelperPropertySource(
- Viewer viewer,
- XSDSchema xsdSchema,
- boolean isInclude)
- {
- super(viewer, xsdSchema);
- this.isInclude = isInclude;
- }
- /**
- * @param xsdSchema
- */
- public SchemaDirectiveHelperPropertySource(XSDSchema xsdSchema, boolean isInclude)
- {
- super(xsdSchema);
- this.isInclude = isInclude;
- }
-
-
- public class SchemaLocationPropertyDescriptor extends PropertyDescriptor
- {
- /**
- * @param id
- * @param displayName
- */
- public SchemaLocationPropertyDescriptor(Object id, String displayName)
- {
- super(id, displayName);
- }
-
- public CellEditor createPropertyEditor(Composite parent)
- {
- CellEditor editor = new SchemaLocationDialogCellEditor(parent);
- if (getValidator() != null)
- editor.setValidator(getValidator());
- return editor;
- }
- }
-
- public class SchemaLocationDialogCellEditor extends DialogCellEditor {
-
- /**
- * Creates a new Font dialog cell editor parented under the given control.
- * The cell editor value is <code>null</code> initially, and has no
- * validator.
- *
- * @param parent the parent control
- */
- protected SchemaLocationDialogCellEditor(Composite parent) {
- super(parent);
- }
-
- /**
- * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(Control)
- */
- protected Object openDialogBox(Control cellEditorWindow)
- {
- Shell shell = Display.getCurrent().getActiveShell();
-
-// oldSchemaLocation = locationField.getText().trim();
-// IFile currentIFile = ((IFileEditorInput)getIEditorPart().getEditorInput()).getFile();
- ViewerFilter filter = new ResourceFilter(new String[] { ".xsd" },
- new IFile[] { currentIFile },
- null);
-//
-
- IViewPart viewParts[] = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViews();
- ResourceNavigator resourceNav = null;
- for (int i = 0; i < viewParts.length; i++)
- {
- if (viewParts[i] instanceof ResourceNavigator)
- {
- resourceNav = (ResourceNavigator) viewParts[i];
- break;
- }
- }
- IStructuredSelection selection = StructuredSelection.EMPTY;
- if (resourceNav != null)
- {
- selection = (IStructuredSelection)resourceNav.getViewSite().getSelectionProvider().getSelection();
- }
-
- XSDSelectIncludeFileWizard fileSelectWizard =
- new XSDSelectIncludeFileWizard(xsdSchema, isInclude,
- XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_SCHEMA"),
- XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_DESC"),
- filter,
- selection);
-
- WizardDialog wizardDialog = new WizardDialog(shell, fileSelectWizard);
- wizardDialog.create();
- wizardDialog.setBlockOnOpen(true);
- int result = wizardDialog.open();
-
-
- String value = (String)getValue();
- // System.out.println("VALUE IS *** = " + value);
- if (result == Window.OK)
- {
- selectedIFile = fileSelectWizard.getResultFile();
- String schemaFileString = value;
- if (selectedIFile != null)
- {
- schemaFileString = URIHelper.getRelativeURI(selectedIFile.getLocation(), currentIFile.getLocation());
- }
- else
- {
- schemaFileString = fileSelectWizard.getURL();
- }
-
-// updateExternalModel(selectedIFile, fileSelectWizard.getNamespace(), fileSelectWizard.getExternalSchema());
- selectedNamespace = fileSelectWizard.getNamespace();
- selectedXSDSchema = fileSelectWizard.getExternalSchema();
-
- return schemaFileString;
- }
- return value;
- }
- }
-
- public IFile getSelectedIFile()
- {
- return selectedIFile;
- }
-
- public String getSelectedNamespace()
- {
- return selectedNamespace;
- }
-
- public XSDSchema getSelectedXSDSchema()
- {
- return selectedXSDSchema;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaPropertySource.java
deleted file mode 100644
index 051c3c8587..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaPropertySource.java
+++ /dev/null
@@ -1,530 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.TargetNamespaceChangeHandler;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class SchemaPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- private String oldPrefix = "";
- private String oldNamespace = "";
-
- private String[] attributeFormDefaultComboValues =
- {
- "",
- XSDEditorPlugin.getXSDString("_UI_COMBO_UNQUALIFIED"),
- XSDEditorPlugin.getXSDString("_UI_COMBO_QUALIFIED")
- };
-
- private String[] elementFormDefaultComboValues =
- {
- "",
- XSDEditorPlugin.getXSDString("_UI_COMBO_UNQUALIFIED"),
- XSDEditorPlugin.getXSDString("_UI_COMBO_QUALIFIED")
- };
-
- private String[] blockDefaultComboValues =
- {
- "",
- "#all",
- "extension",
- "restriction",
- "substitution"
- };
-
- private String[] finalDefaultComboValues =
- {
- "",
- "#all",
- "extension",
- "restriction"
- };
-
- /**
- *
- */
- public SchemaPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public SchemaPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public SchemaPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
-// These have been moved to the General tab
-// PropertyDescriptor prefixDescriptor =
-// new TextPropertyDescriptor(
-// "prefix",
-// "prefix");
-// list.add(prefixDescriptor);
-// prefixDescriptor.setCategory("Namespace");
-//
-// PropertyDescriptor targetNamespaceDescriptor =
-// new TextPropertyDescriptor(
-// XSDConstants.TARGETNAMESPACE_ATTRIBUTE,
-// XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
-// list.add(targetNamespaceDescriptor);
-// targetNamespaceDescriptor.setCategory("Namespace");
-
- PropertyDescriptor versionDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.VERSION_ATTRIBUTE,
- XSDConstants.VERSION_ATTRIBUTE);
-// versionDescriptor.setDescription("Version attribute"); // XSDEditorPlugin.getXSDString("_UI_TOOLTIP_VERSION"));
- list.add(versionDescriptor);
- PropertyDescriptor xmlLangDescriptor =
- new TextPropertyDescriptor(
- "xml:lang",
- "xml:lang");
- list.add(xmlLangDescriptor);
-
- XSDComboBoxPropertyDescriptor attributeFormDefaultDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.ATTRIBUTEFORMDEFAULT_ATTRIBUTE,
- XSDConstants.ATTRIBUTEFORMDEFAULT_ATTRIBUTE,
- attributeFormDefaultComboValues);
- list.add(attributeFormDefaultDescriptor);
-
-
- XSDComboBoxPropertyDescriptor elementFormDefaultDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.ELEMENTFORMDEFAULT_ATTRIBUTE,
- XSDConstants.ELEMENTFORMDEFAULT_ATTRIBUTE,
- elementFormDefaultComboValues);
- list.add(elementFormDefaultDescriptor);
-
- XSDComboBoxPropertyDescriptor blockDefaultDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.BLOCKDEFAULT_ATTRIBUTE,
- XSDConstants.BLOCKDEFAULT_ATTRIBUTE,
- blockDefaultComboValues);
- list.add(blockDefaultDescriptor);
- XSDComboBoxPropertyDescriptor finalDefaultDescriptor =
- new XSDComboBoxPropertyDescriptor(
- XSDConstants.FINALDEFAULT_ATTRIBUTE,
- XSDConstants.FINALDEFAULT_ATTRIBUTE,
- finalDefaultComboValues);
- list.add(finalDefaultDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- // return propertyDescriptors;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- String attributeName = (String)id;
- if (result == null)
- {
- result = "";
- }
-
- if (attributeName.equals("prefix"))
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- String aPrefix = helper.getPrefix(element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
- // System.out.println("schema targetNS is " + xsdSchema.getTargetNamespace());
- if (aPrefix != null && aPrefix.length() > 0)
- {
- return aPrefix;
- }
- return "";
- }
- else
- {
- return result;
- }
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- String newValue = (String)value;
- String attributeName = (String)id;
- if (attributeName.equals("prefix"))
- {
- updatePrefix(newValue);
- }
- else if (attributeName.equals(XSDConstants.TARGETNAMESPACE_ATTRIBUTE))
- {
- updateTargetNamespace(newValue);
- }
- else if (attributeName.equals("xml:lang"))
- {
- validateLanguage(newValue);
- // return; // we will accept the value even though it does not conform
- beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_LANG_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.VERSION_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_VERSION_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.ATTRIBUTEFORMDEFAULT_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_ATTRIBUTEFORMDEFAULT_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.ELEMENTFORMDEFAULT_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_ELEMENTFORMDEFAULT_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.BLOCKDEFAULT_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_BLOCKDEFAULT_CHANGE"), element);
- }
- else if (attributeName.equals(XSDConstants.FINALDEFAULT_ATTRIBUTE))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_FINALDEFAULT_CHANGE"), element);
- }
-
- if (!attributeName.equals("prefix") && !attributeName.equals(XSDConstants.TARGETNAMESPACE_ATTRIBUTE))
- {
- if (newValue.equals(""))
- {
- element.removeAttribute(attributeName);
- }
- else
- {
- element.setAttribute(attributeName, newValue);
- }
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
- public void setInput(Element element)
- {
- super.setInput(element);
-
- oldNamespace = "";
- oldPrefix = "";
-
- if (element!= null)
- {
- String targetNamespace = element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
- oldNamespace = targetNamespace;
-
- TypesHelper helper = new TypesHelper(xsdSchema);
- String aPrefix = helper.getPrefix(targetNamespace, false);
- if (aPrefix != null && aPrefix.length() > 0)
- {
- oldPrefix = aPrefix;
- }
- }
-
-// For debugging
-// System.out.println("old Prefix is " + oldPrefix);
-// System.out.println("old NS is " + oldNamespace);
- if (xsdSchema != null)
- {
- Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-// System.out.println("SetInput: Prefixes: " + map.values());
-// System.out.println("SetInput: NS:" + map.keySet());
- }
-
- }
-
-
- private void updatePrefix(String newPrefix)
- {
- updateNamespaceInfo(newPrefix, oldNamespace);
- }
-
- private void updateTargetNamespace(String newTargetNamespace)
- {
- updateNamespaceInfo(oldPrefix, newTargetNamespace);
- }
-
- private void updateNamespaceInfo(String newPrefix, String newTargetNamespace)
- {
-// System.out.println("\nold Prefix is " + oldPrefix);
-// System.out.println("old NS is " + oldNamespace);
-// System.out.println("new Prefix is " + newPrefix);
-// System.out.println("new NS is " + newTargetNamespace);
-
- DocumentImpl doc = (DocumentImpl)element.getOwnerDocument();
-
- String modelTargetNamespace = xsdSchema.getTargetNamespace();
-// System.out.println("Model TargetNS is " + modelTargetNamespace);
- if (modelTargetNamespace == null)
- {
- modelTargetNamespace = "";
- }
-
- String targetNamespace = newTargetNamespace.trim();
- String prefix = newPrefix.trim();
-
- if (!validatePrefix(prefix) || !validateTargetNamespace(targetNamespace))
- {
- return;
- }
-
- if (prefix.length() > 0 && targetNamespace.length() == 0)
- {
- // can't have blank targetnamespace and yet specify a prefix
- return;
- }
-
- doc.getModel().beginRecording(this, "Target Namespace Change");
- String xsdForXSDPrefix = xsdSchema.getSchemaForSchemaQNamePrefix();
- Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-
-// For debugging
-// System.out.println("1. SW Map is " + map.values());
-// System.out.println("1. SW Map keys are " + map.keySet());
-
- // Check if prefix is blank
- // if it is, then make sure we have a prefix
- // for schema for schema
- if (prefix.length() == 0)
- {
- // if prefix for schema for schema is blank
- // then set it to value specified in preference
- // and update ALL nodes with this prefix
- if (xsdForXSDPrefix == null || (xsdForXSDPrefix != null && xsdForXSDPrefix.trim().length() == 0))
- {
- // get preference prefix
- xsdForXSDPrefix = XSDEditorPlugin.getPlugin().getXMLSchemaPrefix();
- // get a unique prefix by checking what's in the map
-
- xsdForXSDPrefix = getUniqueSchemaForSchemaPrefix(xsdForXSDPrefix, map);
- element.setAttribute("xmlns:" + xsdForXSDPrefix, XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001);
-
- updateAllNodes(element, xsdForXSDPrefix);
-
- // remove the old xmlns attribute for the schema for schema
- if (element.getAttribute("xmlns") != null &&
- element.getAttribute("xmlns").equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
- {
- element.removeAttribute("xmlns");
- }
- }
- }
-
- if (targetNamespace.length() > 0 ||
- (targetNamespace.length() == 0 && prefix.length() == 0))
- {
- // clean up the old prefix for this schema
- if (oldPrefix != null && oldPrefix.length() > 0)
- {
- element.removeAttribute("xmlns:"+oldPrefix);
-// element.setAttribute("xmlns:" + prefix, targetNamespace);
-// java.util.Map prefixToNameSpaceMap = xsdSchema.getQNamePrefixToNamespaceMap();
-// prefixToNameSpaceMap.remove(oldPrefix);
- }
- else // if no prefix
- {
- if (element.getAttribute("xmlns") != null)
- {
- if (!element.getAttribute("xmlns").equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
- {
- element.removeAttribute("xmlns");
- }
- }
- }
- }
-
- if (targetNamespace.length() > 0)
- {
- if (!modelTargetNamespace.equals(targetNamespace))
- {
- element.setAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE, targetNamespace);
- }
- // now set the new xmlns:prefix attribute
- if (prefix.length() > 0)
- {
- element.setAttribute("xmlns:" + prefix, targetNamespace);
- }
- else
- {
- element.setAttribute("xmlns", targetNamespace);
- }
- // set the targetNamespace attribute
- }
- else // else targetNamespace is blank
- {
- if (prefix.length() == 0)
- {
- element.removeAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
- }
- }
-
-// System.out.println("1.5 SW Map is " + map.values());
-// System.out.println("1.5 SW Map keys are " + map.keySet());
-
- // do our own referential integrity
- TargetNamespaceChangeHandler targetNamespaceChangeHandler = new TargetNamespaceChangeHandler(xsdSchema, oldNamespace, targetNamespace);
- targetNamespaceChangeHandler.resolve();
-
- oldPrefix = prefix;
- oldNamespace = targetNamespace;
-
- XSDSchemaHelper.updateElement(xsdSchema);
-
- doc.getModel().endRecording(this);
-
-// For debugging
- map = xsdSchema.getQNamePrefixToNamespaceMap();
-// System.out.println("2. SW Map is " + map.values());
-// System.out.println("2. SW Map keys are " + map.keySet());
- }
-
-
- private String getUniqueSchemaForSchemaPrefix(String xsdForXSDPrefix, Map map)
- {
- if (xsdForXSDPrefix == null || (xsdForXSDPrefix != null && xsdForXSDPrefix.trim().length() == 0))
- {
- xsdForXSDPrefix = "xsd";
- }
- // ensure prefix is unique
- int prefixExtension = 1;
- while (map.containsKey(xsdForXSDPrefix) && prefixExtension < 100)
- {
- xsdForXSDPrefix = xsdForXSDPrefix + String.valueOf(prefixExtension);
- prefixExtension++;
- }
- return xsdForXSDPrefix;
- }
-
- private void updateAllNodes(Element element, String prefix)
- {
- element.setPrefix(prefix);
- NodeList list = element.getChildNodes();
- if (list != null)
- {
- for (int i=0; i < list.getLength(); i++)
- {
- Node child = list.item(i);
- if (child != null && child instanceof Element)
- {
- child.setPrefix(prefix);
- if (child.hasChildNodes())
- {
- updateAllNodes((Element)child, prefix);
- }
- }
- }
- }
- }
-
- protected boolean validateTargetNamespace(String ns)
- {
- // will allow blank namespace !!
- if (ns.equals(""))
- {
- return true;
- }
-
- String errorMessage = null;
- try
- {
- URI testURI = new URI(ns);
- }
- catch (URISyntaxException e)
- {
- errorMessage = XSDEditorPlugin.getXSDString("_WARN_INVALID_TARGET_NAMESPACE");
- }
-
- if (errorMessage == null || errorMessage.length() == 0)
- {
- return true;
- }
- return false;
- }
-
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertyDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertyDescriptor.java
deleted file mode 100644
index 1948146370..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertyDescriptor.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xsd.ui.internal.properties.section.SimpleContentBaseTypeOptionsDialog;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-
-public class SimpleContentPropertyDescriptor extends TypesPropertyDescriptor
-{
- public SimpleContentPropertyDescriptor(Object id, String displayName, Element element, XSDSchema xsdSchema)
- {
- super(id, displayName, element, xsdSchema);
- }
-
- public CellEditor createPropertyEditor(Composite parent)
- {
- // CellEditor editor = new SimpleContentBaseTypeOptionsTextCellEditor(parent);
- CellEditor editor = new SimpleContentBaseTypeDialogCellEditor(parent);
- if (getValidator() != null)
- editor.setValidator(getValidator());
- return editor;
- }
-
- public class SimpleContentBaseTypeDialogCellEditor extends TypesDialogCellEditor
- {
-
- /**
- * Creates a new Font dialog cell editor parented under the given control.
- * The cell editor value is <code>null</code> initially, and has no
- * validator.
- *
- * @param parent the parent control
- */
- protected SimpleContentBaseTypeDialogCellEditor(Composite parent)
- {
- super(parent);
- }
-
- protected Object openDialogBox(Control cellEditorWindow)
- {
- Shell shell = Display.getCurrent().getActiveShell();
-
- // SimpleContentBaseTypeOptionsDialog dialog = new SimpleContentBaseTypeOptionsDialog(shell);
- SimpleContentBaseTypeOptionsDialog dialog = new SimpleContentBaseTypeOptionsDialog(shell, element, property, xsdSchema);
-
- dialog.setBlockOnOpen(true);
- dialog.create();
-
- String value = (String)getValue();
-
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- value = dialog.getType();
- return value;
- }
- deactivate();
- return value;
- }
- }
-
-// class SimpleContentBaseTypeOptionsDialog extends TypesDialog
-// {
-// public SimpleContentBaseTypeOptionsDialog(Shell shell)
-// {
-// super(shell);
-// showAnonymous = false;
-// }
-//
-//// protected void ok()
-//// {
-//// TableItem[] items = table.getItems();
-//// selection = table.getSelectionIndex();
-//// if (items != null && items.length > 0 && selection >= 0)
-//// {
-//// typeObject = items[selection].getData();
-//// }
-//// System.out.println("typeObject is " + typeObject);
-////
-//// doSetValue(typeObject);
-//// applyEditorValueAndDeactivate();
-//// dialog.close();
-//// }
-//
-// public void handleSetInput()
-// {
-// XSDDOMHelper domHelper = new XSDDOMHelper();
-// typeSection.getSimpleType().setSelection(false);
-// typeSection.getUserSimpleType().setSelection(false);
-// typeSection.getUserComplexType().setSelection(false);
-// showAnonymous = false;
-// if (element != null)
-// {
-// String derivedBy = domHelper.getDerivedByName(element);
-// String baseType = domHelper.getBaseType(element);
-// boolean derivedByRestriction = true;
-//
-// if (XSDDOMHelper.inputEquals(element, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-// {
-// typeSection.getSimpleType().setEnabled(false);
-// typeSection.getUserSimpleType().setEnabled(false);
-// typeSection.getUserComplexType().setSelection(true);
-//
-// previousType = 3;
-// }
-// else if (XSDDOMHelper.inputEquals(element, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-// {
-// typeSection.getSimpleType().setEnabled(false);
-// typeSection.getUserSimpleType().setEnabled(false);
-//
-// if (derivedBy.equals("restriction"))
-// {
-// typeSection.getSimpleType().setEnabled(false);
-// typeSection.getUserSimpleType().setEnabled(false);
-// typeSection.getUserComplexType().setEnabled(true);
-// }
-// else if (derivedBy.equals("extension"))
-// {
-// derivedByRestriction = false;
-// typeSection.getSimpleType().setEnabled(true);
-// typeSection.getUserSimpleType().setEnabled(true);
-// typeSection.getUserComplexType().setEnabled(true);
-// }
-// }
-//
-// if (derivedBy != null)
-// {
-// if (baseType != null && !baseType.equals(""))
-// {
-// Element parent = (Element)element.getParentNode();
-// XSDConcreteComponent component = null;
-// if (parent != null)
-// {
-// component = xsdSchema.getCorrespondingComponent(parent);
-// }
-// XSDTypeDefinition baseTypeDefinition = null;
-// if (component instanceof XSDComplexTypeDefinition)
-// {
-// XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition)component;
-// baseTypeDefinition = complexType.getBaseTypeDefinition();
-// }
-//
-// if (typeSection.getBuiltInTypeNamesList(xsdSchema).contains(baseType) && !derivedByRestriction)
-// {
-// typeSection.getSimpleType().setSelection(true);
-// populateBuiltInType();
-// int i = typeSection.getBuiltInTypeNamesList(xsdSchema).indexOf(baseType);
-// table.setSelection(i);
-// previousType = 1;
-// }
-// else if (baseTypeDefinition instanceof XSDSimpleTypeDefinition && !derivedByRestriction)
-// {
-// typeSection.getUserSimpleType().setSelection(true);
-// populateUserSimpleType();
-// int i = typeSection.getUserSimpleTypeNamesList(xsdSchema).indexOf(baseType);
-// if (showAnonymous)
-// {
-// table.setSelection(i + 1);
-// }
-// else
-// {
-// table.setSelection(i);
-// }
-// previousType = 2;
-// }
-// else if (baseTypeDefinition instanceof XSDComplexTypeDefinition)
-// {
-// typeSection.getUserComplexType().setSelection(true);
-// populateUserComplexType();
-// int i = typeSection.getUserComplexTypeNamesList(xsdSchema).indexOf(baseType);
-// if (showAnonymous)
-// {
-// table.setSelection(i + 1);
-// }
-// else
-// {
-// table.setSelection(i);
-// }
-// previousType = 3;
-// }
-// }
-// else
-// {
-// typeSection.getUserComplexType().setSelection(true);
-// populateUserComplexType();
-// table.setSelection(0);
-// }
-// }
-//
-// }
-// }
-// }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertySource.java
deleted file mode 100644
index f0233cd274..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertySource.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class SimpleContentPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- private String DERIVED_BY_ID = "derived by"; // XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY");
- private String BASE_TYPE_ID = "base"; // XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE");
-
- private String derivedByChoicesComboValues[] =
- {
- "",
- XSDConstants.RESTRICTION_ELEMENT_TAG,
- XSDConstants.EXTENSION_ELEMENT_TAG
- };
-
- /**
- *
- */
- public SimpleContentPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public SimpleContentPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public SimpleContentPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
-
- SimpleContentPropertyDescriptor typeDescriptor = new SimpleContentPropertyDescriptor(
- BASE_TYPE_ID,
- BASE_TYPE_ID,
- element, xsdSchema);
- list.add(typeDescriptor);
- XSDComboBoxPropertyDescriptor derivedByDescriptor =
- new XSDComboBoxPropertyDescriptor(
- DERIVED_BY_ID,
- DERIVED_BY_ID,
- derivedByChoicesComboValues);
- list.add(derivedByDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- if (((String) id).equals(DERIVED_BY_ID))
- {
- String derivedBy = getDomHelper().getDerivedByName(element);
- if (derivedBy == null)
- {
- derivedBy = "";
- }
- return derivedBy;
- }
- else if (((String) id).equals(BASE_TYPE_ID))
- {
- String baseType = getDomHelper().getBaseType(element);
- if (baseType == null)
- {
- baseType = "";
- }
- return baseType;
- }
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value != null)
- {
- if (value instanceof String)
- {
- String origBaseType = getDomHelper().getBaseType(element);
- String derivedBy = getDomHelper().getDerivedByName(element);
-
- if (((String) id).equals(BASE_TYPE_ID))
- {
- Document doc = element.getOwnerDocument();
- Element childElement = null;
- beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);
- getDomHelper().setDerivedByBaseType(element, derivedBy, (String)value);
- endRecording(element);
- }
- else if (((String) id).equals(DERIVED_BY_ID))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_DERIVEDBY_CHANGE"), element);
- String newDerivedBy = (String)value;
- if (newDerivedBy.equals(XSDConstants.RESTRICTION_ELEMENT_TAG))
- {
- String prefix = element.getPrefix();
- String anyType = prefix == null? "anyType" : prefix + ":anyType";
- getDomHelper().changeDerivedByType(element, (String)value, anyType);
- }
- else
- {
- Element derivedByElem = getDomHelper().getDerivedByElement(element);
- if (checkForAnonymousType(derivedByElem))
- {
-// KCPort
-// ArrayList message = new ArrayList();
-// ErrorMessage aTask = new ErrorMessage();
-// Node aNode = getDomHelper().getChildNode(derivedByElem, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-////////////// shall we remove the node and its children??
-//// getDomHelper().removeNodeAndWhitespace(aNode);
-//////////////
-//// if (aNode instanceof Element)
-//// {
-//// Element st = (Element)aNode;
-//// if (st instanceof NodeImpl)
-//// {
-//// aTask.setNode((NodeImpl)st);
-//// }
-//// }
-// if (derivedByElem instanceof NodeImpl)
-// {
-// aTask.setModelObject(derivedByElem);
-// }
-// aTask.setLocalizedMessage(XSDEditorPlugin.getXSDString("_ERROR_REMOVE_LOCAL_SIMPLETYPE"));
-// message.add(aTask);
-// if (getEditor() != null)
-// {
-// getEditor().createTasksInTaskList(message);
-// }
- }
- getDomHelper().changeDerivedByType(element, (String)value, origBaseType);
- }
-
-
- endRecording(element);
-// setInput(element);
- }
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
- }
-
- boolean checkForAnonymousType(Element element)
- {
- boolean isAnonymous = false;
-
- Node aNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- return true;
- }
- return isAnonymous;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleRestrictPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleRestrictPropertySource.java
deleted file mode 100644
index 38a8819a48..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleRestrictPropertySource.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDFacet;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.impl.XSDFactoryImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class SimpleRestrictPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- private String BASE_TYPE_ID = XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE");
- private String [] whiteSpaceComboChoices = { "", "preserve", "replace", "collapse" };
- /**
- *
- */
- public SimpleRestrictPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public SimpleRestrictPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public SimpleRestrictPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
-
- SimpleContentPropertyDescriptor typeDescriptor = new SimpleContentPropertyDescriptor(
- XSDConstants.BASE_ATTRIBUTE,
- XSDConstants.BASE_ATTRIBUTE,
- (Element)element.getParentNode(), xsdSchema); // get the parent node!
- list.add(typeDescriptor);
-
- Iterator facets = xsdSimpleType.getValidFacets().iterator();
-
- while(facets.hasNext())
- {
- String aValidFacet = (String)facets.next();
- if (!(aValidFacet.equals(XSDConstants.PATTERN_ELEMENT_TAG) || aValidFacet.equals(XSDConstants.ENUMERATION_ELEMENT_TAG)))
- {
- if (aValidFacet.equals(XSDConstants.WHITESPACE_ELEMENT_TAG))
- {
- XSDComboBoxPropertyDescriptor whitespaceDescriptor = new XSDComboBoxPropertyDescriptor(
- aValidFacet, aValidFacet, whiteSpaceComboChoices);
- list.add(whitespaceDescriptor);
- }
- else
- {
- list.add(new TextPropertyDescriptor(aValidFacet, aValidFacet));
- }
- }
- }
-
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- if (((String) id).equals(XSDConstants.BASE_ATTRIBUTE))
- {
- String baseType = element.getAttribute(XSDConstants.BASE_ATTRIBUTE);
- if (baseType == null)
- {
- baseType = "";
- }
- return baseType;
- }
- else
- {
- String aFacet = (String)id;
- Iterator facets = xsdSimpleType.getFacets().iterator();
-
- while(facets.hasNext())
- {
- XSDFacet aValidFacet = (XSDFacet)facets.next();
- if (aValidFacet.getFacetName().equals(aFacet))
- {
- result = aValidFacet.getLexicalValue();
- if (result == null)
- {
- result = "";
- }
- return result;
- }
- }
- }
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value != null)
- {
- if (value instanceof String)
- {
- String newValue = (String)value;
- String origBaseType = getDomHelper().getBaseType(element);
-
- if (((String) id).equals(XSDConstants.BASE_ATTRIBUTE))
- {
- Document doc = element.getOwnerDocument();
- Element childElement = null;
- beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);
-
- Element parent = (Element)element.getParentNode();
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
-// updateElementToNotAnonymous(element);
- }
- getDomHelper().setSimpleContentType(element, newValue);
- endRecording(element);
- }
- else
- {
- Element simpleTypeElement = xsdSimpleType.getElement();
- XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
- Element derivedByElement = xsdDOMHelper.getDerivedByElement(simpleTypeElement);
- beginRecording(XSDEditorPlugin.getXSDString("_UI_FACET_CHANGE"), simpleTypeElement);
- String prefix = simpleTypeElement.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
-
- String aFacet = (String)id;
- XSDFactoryImpl factory = new XSDFactoryImpl();
-
- Element childNodeElement = null;
- DOMAttribute valueAttr = null;
- XSDFacet facet = null;
- if (aFacet.equals(XSDConstants.TOTALDIGITS_ELEMENT_TAG))
- {
- facet = xsdSimpleType.getTotalDigitsFacet();
- }
- else if (aFacet.equals(XSDConstants.FRACTIONDIGITS_ELEMENT_TAG))
- {
- facet = xsdSimpleType.getFractionDigitsFacet();
- }
- else if (aFacet.equals(XSDConstants.WHITESPACE_ELEMENT_TAG))
- {
- facet = xsdSimpleType.getWhiteSpaceFacet();
- }
- else if (aFacet.equals(XSDConstants.MAXEXCLUSIVE_ELEMENT_TAG))
- {
- facet = xsdSimpleType.getMaxExclusiveFacet();
- }
- else if (aFacet.equals(XSDConstants.MAXINCLUSIVE_ELEMENT_TAG))
- {
- facet = xsdSimpleType.getMaxInclusiveFacet();
- }
- else if (aFacet.equals(XSDConstants.MINEXCLUSIVE_ELEMENT_TAG))
- {
- facet = xsdSimpleType.getMinExclusiveFacet();
- }
- else if (aFacet.equals(XSDConstants.MININCLUSIVE_ELEMENT_TAG))
- {
- facet = xsdSimpleType.getMinInclusiveFacet();
- }
- else if (aFacet.equals(XSDConstants.LENGTH_ELEMENT_TAG))
- {
- facet = xsdSimpleType.getLengthFacet();
- }
- else if (aFacet.equals(XSDConstants.MAXLENGTH_ELEMENT_TAG))
- {
- facet = xsdSimpleType.getMaxLengthFacet();
- }
- else if (aFacet.equals(XSDConstants.MINLENGTH_ELEMENT_TAG))
- {
- facet = xsdSimpleType.getMinLengthFacet();
- }
-
- if (facet != null)
- {
- facet.setLexicalValue(newValue);
- }
- else
- {
- facet = (XSDFacet)factory.createXSDTotalDigitsFacet();
- childNodeElement = (derivedByElement.getOwnerDocument()).createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + aFacet);
- valueAttr = new DOMAttribute(XSDConstants.VALUE_ATTRIBUTE, "");
- childNodeElement.setAttribute(valueAttr.getName(), valueAttr.getValue());
- valueAttr.setValue(newValue);
- childNodeElement.setAttribute(valueAttr.getName(), valueAttr.getValue());
- boolean hasChildrenElements = hasElementChildren(derivedByElement);
- element.appendChild(childNodeElement);
- //formatChild(childNodeElement, hasChildrenElements);
- }
- XSDSchemaHelper.updateElement(xsdSimpleType);
- if (facet != null)
- {
- XSDSchemaHelper.updateElement(facet);
- }
- }
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
- protected boolean isAnonymous;
- protected XSDSimpleTypeDefinition xsdSimpleType;
- public void setInput(Element element)
- {
- this.element = element;
- if (xsdSchema == null)
- {
- return;
- }
- String type = element.getLocalName();
-
- isAnonymous = checkForAnonymousType(element);
-
- int restrictionType = 0; // 0 = SimpleType restriction
- // 1 = SimpleContent restriction
- // ComplexContent restriction different window
-
- if (XSDDOMHelper.inputEquals(element, XSDConstants.RESTRICTION_ELEMENT_TAG, false))
- {
- String baseType = element.getAttribute(XSDConstants.BASE_ATTRIBUTE);
-
- XSDTypeDefinition baseTypeDefinition = null;
-
- Element parent = (Element)element.getParentNode();
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
- {
- restrictionType = 1;
- Element grandparent = (Element)parent.getParentNode();
- XSDConcreteComponent component = null;
- if (grandparent != null)
- {
- component = xsdSchema.getCorrespondingComponent(grandparent);
- }
- if (component instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition)component;
- baseTypeDefinition = complexType.getBaseTypeDefinition();
- }
- }
- else if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
- restrictionType = 0;
- XSDConcreteComponent component = null;
- if (parent != null)
- {
- component = xsdSchema.getCorrespondingComponent(parent);
- }
- if (component instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition simpleType = (XSDSimpleTypeDefinition)component;
- baseTypeDefinition = simpleType.getBaseTypeDefinition();
- }
- }
-
- XSDConcreteComponent xsdConcreteComponent = null;
- if (element.getParentNode() != null)
- {
- xsdConcreteComponent = xsdSchema.getCorrespondingComponent(element.getParentNode());
- }
-
- if (xsdConcreteComponent instanceof XSDSimpleTypeDefinition)
- {
- xsdSimpleType = (XSDSimpleTypeDefinition)xsdConcreteComponent;
- }
- //facetViewer.setInput(xsdSimpleType);
- }
- }
-
- boolean checkForAnonymousType(Element element)
- {
- boolean isAnonymous = false;
-
- Node aNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- return true;
- }
- return isAnonymous;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeListPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeListPropertySource.java
deleted file mode 100644
index fc104c0824..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeListPropertySource.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class SimpleTypeListPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- /**
- *
- */
- public SimpleTypeListPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public SimpleTypeListPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public SimpleTypeListPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
- TypesPropertyDescriptor typeDescriptor = new TypesPropertyDescriptor(
- XSDConstants.ITEMTYPE_ATTRIBUTE,
- XSDConstants.ITEMTYPE_ATTRIBUTE,
- element, xsdSchema);
-
- typeDescriptor.setLabelProvider(new LabelProvider()
- {
- public String getText(Object element)
- {
- return (String) element;
- }
- });
- list.add(typeDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- if (((String) id).equals(XSDConstants.ITEMTYPE_ATTRIBUTE))
- {
- result = element.getAttribute((String) id);
- if (result == null)
- {
- result = "**anonymous**";
- }
- return result;
- }
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value != null)
- {
- if (value instanceof String)
- {
- if (((String) id).equals(XSDConstants.ITEMTYPE_ATTRIBUTE))
- {
- beginRecording("ItemType Change", element);
- element.setAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, (String)value);
- endRecording(element);
- }
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypePropertySource.java
deleted file mode 100644
index 99885fad54..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypePropertySource.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalSimpleOrComplexTypeRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Node;
-
-public class SimpleTypePropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- private boolean isAnonymous = false;
- /**
- *
- */
- public SimpleTypePropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public SimpleTypePropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public SimpleTypePropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- Node parent = element.getParentNode();
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(parent, XSDConstants.ELEMENT_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(parent, XSDConstants.UNION_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(parent, XSDConstants.LIST_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
- {
- isAnonymous = true;
- }
-
- List list = new ArrayList();
- if (!isAnonymous)
- {
- // Create a descriptor and set a category
- PropertyDescriptor nameDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.NAME_ATTRIBUTE,
- XSDConstants.NAME_ATTRIBUTE);
- list.add(nameDescriptor);
- }
- else
- {
- PropertyDescriptor readOnly = new PropertyDescriptor(XSDConstants.NAME_ATTRIBUTE, XSDConstants.NAME_ATTRIBUTE);
- list.add(readOnly);
- }
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- if (isAnonymous)
- {
- result = "**anonymous**";
- }
- }
- if (result == null)
- {
- result = "";
- }
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
- if (value instanceof String)
- {
- String name = (String)value;
- if (validateName(name))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_SIMPLETYPE_NAME_CHANGE"), element);
- if (name != null && name.length() > 0)
- {
- // now rename any references to this type
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDSimpleTypeDefinition && comp.getContainer().equals(xsdSchema))
- {
-// ((XSDNamedComponent)comp).setName(name);
- GlobalSimpleOrComplexTypeRenamer renamer = new GlobalSimpleOrComplexTypeRenamer((XSDNamedComponent)comp, name);
- renamer.visitSchema(xsdSchema);
- }
- }
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, name);
- }
- else
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, "");
- }
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeUnionPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeUnionPropertySource.java
deleted file mode 100644
index ec0adf72e8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeUnionPropertySource.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.wst.xsd.ui.internal.widgets.TypeSection;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class SimpleTypeUnionPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- /**
- *
- */
- public SimpleTypeUnionPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public SimpleTypeUnionPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
- }
- /**
- * @param xsdSchema
- */
- public SimpleTypeUnionPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
- SimpleUnionMemberTypesPropertyDescriptor typeDescriptor = new SimpleUnionMemberTypesPropertyDescriptor(
- XSDConstants.MEMBERTYPES_ATTRIBUTE,
- XSDConstants.MEMBERTYPES_ATTRIBUTE);
-
- typeDescriptor.setLabelProvider(new LabelProvider()
- {
- public String getText(Object element)
- {
- return (String) element;
- }
- });
- list.add(typeDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- if (((String) id).equals(XSDConstants.MEMBERTYPES_ATTRIBUTE))
- {
- result = element.getAttribute((String) id);
- if (result == null)
- {
- result = "";
- }
- return result;
- }
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value == null)
- {
- value = "";
- }
-
- if (value instanceof String)
- {
- String newValue = (String)value;
- if (((String) id).equals(XSDConstants.MEMBERTYPES_ATTRIBUTE))
- {
- beginRecording("MemberTypes Change", element);
- if (newValue.length() > 0)
- {
- element.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, (String)value);
- }
- else
- {
- element.removeAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- }
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-
-
- public class SimpleUnionMemberTypesPropertyDescriptor extends PropertyDescriptor
- {
- /**
- * @param id
- * @param displayName
- */
- public SimpleUnionMemberTypesPropertyDescriptor(Object id, String displayName)
- {
- super(id, displayName);
- }
-
- public CellEditor createPropertyEditor(Composite parent)
- {
- CellEditor editor = new SimpleTypeUnionMemberTypesDialogCellEditor(parent);
- if (getValidator() != null)
- editor.setValidator(getValidator());
- return editor;
- }
- }
-
- public class SimpleTypeUnionMemberTypesDialogCellEditor extends DialogCellEditor {
-
- /**
- * Creates a new Font dialog cell editor parented under the given control.
- * The cell editor value is <code>null</code> initially, and has no
- * validator.
- *
- * @param parent the parent control
- */
- protected SimpleTypeUnionMemberTypesDialogCellEditor(Composite parent) {
- super(parent);
- }
-
- /**
- * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(Control)
- */
- protected Object openDialogBox(Control cellEditorWindow)
- {
- Shell shell = Display.getCurrent().getActiveShell();
-
- SimpleContentUniontMemberTypesDialog dialog = new SimpleContentUniontMemberTypesDialog(shell);
- dialog.setBlockOnOpen(true);
- dialog.create();
-
- String value = (String)getValue();
-
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- return dialog.getResult();
- }
- return value;
- }
-
- }
-
- public class SimpleContentUniontMemberTypesDialog extends org.eclipse.jface.dialogs.Dialog implements SelectionListener
- {
- Table table;
- TypeSection typeSection;
- Button addButton, removeButton;
- org.eclipse.swt.widgets.List memberTypesList;
-
- private String result;
-
- public SimpleContentUniontMemberTypesDialog(Shell shell)
- {
- super(shell);
- }
-
- protected void configureShell(Shell shell)
- {
- super.configureShell(shell);
- }
-
- protected void buttonPressed(int buttonId)
- {
- if (buttonId == Dialog.OK)
- {
- StringBuffer sb = new StringBuffer();
- int length = memberTypesList.getItemCount();
- for (int i=0 ; i < length; i++)
- {
- sb.append(memberTypesList.getItem(i));
- if (i < length - 1)
- {
- sb.append(" ");
- }
- }
- result = sb.toString();
- }
- super.buttonPressed(buttonId);
- }
-
- public String getResult() { return result; }
-
- //
- // Create the controls
- //
- public Control createDialogArea(Composite parent)
- {
- int tabIndex = 0;
- Composite client = (Composite)super.createDialogArea(parent);
- getShell().setText("Union " + XSDConstants.MEMBERTYPES_ATTRIBUTE);
-
- Label instructions = new Label(client, SWT.LEFT | SWT.WRAP);
- instructions.setText("Select from the available types and add to the memberTypes list");
-
- Composite columnsComposite = new Composite(client, SWT.NONE);
- GridLayout ccGL = new GridLayout();
- ccGL.verticalSpacing = 0;
- ccGL.horizontalSpacing = 0;
- ccGL.marginHeight = 0;
- ccGL.marginWidth = 0;
- ccGL.makeColumnsEqualWidth = true;
- ccGL.numColumns = 3;
- columnsComposite.setLayout(ccGL);
-
- GridData ccGD = new GridData();
- ccGD.grabExcessHorizontalSpace = true;
- ccGD.horizontalAlignment = GridData.FILL;
- columnsComposite.setLayoutData(ccGD);
-
- typeSection = new TypeSection(columnsComposite);
- typeSection.setShowUserComplexType(false);
-
- typeSection.createClient(columnsComposite);
- typeSection.getSimpleType().setSelection(false);
- typeSection.getSimpleType().addSelectionListener(this);
- typeSection.getUserSimpleType().addSelectionListener(this);
-
- ViewUtility.createHorizontalFiller(columnsComposite, 1);
-
- Label memberListLabel = new Label(columnsComposite, SWT.LEFT);
- memberListLabel.setText("memberTypes value:");
-
- Composite dataComposite = new Composite(client, SWT.NONE);
- GridLayout dcGL = new GridLayout();
- dcGL.verticalSpacing = 0;
- dcGL.marginHeight = 0;
- dcGL.marginWidth = 0;
- dcGL.numColumns = 3;
- dataComposite.setLayout(dcGL);
-
- GridData dcGD = new GridData();
- dcGD.grabExcessHorizontalSpace = true;
- dcGD.grabExcessVerticalSpace = true;
- dataComposite.setLayoutData(dcGD);
-
- table = new Table(dataComposite,
- SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- table.setHeaderVisible(false);
- table.setLinesVisible(true);
- GridData gd2 = new GridData();
- gd2.grabExcessHorizontalSpace = true;
- gd2.grabExcessVerticalSpace = true;
- gd2.horizontalAlignment = GridData.FILL;
- gd2.verticalAlignment = GridData.FILL;
- gd2.heightHint = 200;
- gd2.widthHint = 200;
- table.setLayoutData(gd2);
-
- // Fill table
- handleSetInput();
- int tableItemCount = table.getItemCount();
-
- TableColumn tc = new TableColumn(table, SWT.LEFT);
-// tc.setImage(XSDEditorPlugin.getXSDImage("icons/XSDElement.gif"));
- //tc.setText("Available types:");
- tc.setWidth(200);
- tc.setResizable(true);
-
- Composite buttonComposite = new Composite(dataComposite, SWT.NONE);
- GridLayout bcGL = new GridLayout();
- bcGL.numColumns = 1;
- buttonComposite.setLayout(bcGL);
- addButton = new Button(buttonComposite, SWT.PUSH);
- addButton.setText(">");
- addButton.addSelectionListener(this);
- removeButton = new Button(buttonComposite, SWT.PUSH);
- removeButton.setText("<");
- removeButton.addSelectionListener(this);
-
- Composite listComposite = new Composite(dataComposite, SWT.NONE);
- GridLayout mtGL = new GridLayout();
- mtGL.numColumns = 1;
- mtGL.marginHeight = 0;
- mtGL.marginWidth = 0;
- mtGL.horizontalSpacing = 0;
- mtGL.verticalSpacing = 0;
- listComposite.setLayout(mtGL);
-
- GridData mtGD = new GridData();
- mtGD.grabExcessHorizontalSpace = true;
- mtGD.grabExcessVerticalSpace = true;
- mtGD.verticalAlignment = GridData.FILL;
- mtGD.horizontalAlignment = GridData.FILL;
- listComposite.setLayoutData(mtGD);
-
- memberTypesList = new org.eclipse.swt.widgets.List(listComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- GridData mtlGD = new GridData();
- mtlGD.grabExcessHorizontalSpace = true;
- mtlGD.grabExcessVerticalSpace = true;
- mtlGD.verticalAlignment = GridData.FILL;
- mtlGD.horizontalAlignment = GridData.FILL;
- mtlGD.heightHint = 200;
- mtlGD.widthHint = 200;
- memberTypesList.setLayoutData(mtlGD);
-
- initializeMemberListContent();
- return client;
- }
-
- private void initializeMemberListContent()
- {
- String result = element.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- if (result == null)
- {
- return;
- }
- StringTokenizer token = new StringTokenizer(result);
- while (token.hasMoreTokens())
- {
- memberTypesList.add(token.nextToken());
- }
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == typeSection.getSimpleType() && typeSection.getSimpleType().getSelection())
- {
- populateBuiltInType();
- }
- else if (e.widget == typeSection.getUserSimpleType() && typeSection.getUserSimpleType().getSelection())
- {
- populateUserSimpleType(false);
- }
- else if (e.widget == addButton)
- {
- TableItem[] items = table.getItems();
- int selection = table.getSelectionIndex();
- if (items != null && items.length > 0 && selection >= 0)
- {
- String typeToAdd = items[selection].getData().toString();
- if (memberTypesList.indexOf(typeToAdd) < 0)
- {
- memberTypesList.add(items[selection].getData().toString());
- }
- }
- }
- else if (e.widget == removeButton)
- {
- String[] typesToRemove = memberTypesList.getSelection();
- for (int i=0; i < typesToRemove.length; i++)
- {
- memberTypesList.remove(typesToRemove[i]);
- }
- }
- }
-
- public void widgetDefaultSelected(SelectionEvent e)
- {
- }
-
- public void handleSetInput()
- {
- populateBuiltInType();
- }
-
- public void populateBuiltInType()
- {
- table.removeAll();
- List items = getBuiltInTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public void populateUserSimpleType(boolean showAnonymous)
- {
- table.removeAll();
- if (showAnonymous)
- {
- TableItem anonymousItem = new TableItem(table, SWT.NONE);
- anonymousItem.setText("**anonymous**");
- anonymousItem.setData("**anonymous**");
- }
- List items = getUserSimpleTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public java.util.List getBuiltInTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getBuiltInTypeNamesList();
- }
-
- public java.util.List getUserSimpleTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getUserSimpleTypeNamesList();
- }
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/TypesPropertyDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/TypesPropertyDescriptor.java
deleted file mode 100644
index 207e53a985..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/TypesPropertyDescriptor.java
+++ /dev/null
@@ -1,1160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.wst.xsd.ui.internal.widgets.TypeSection;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class TypesPropertyDescriptor extends PropertyDescriptor
-{
- Element element;
- XSDSchema xsdSchema;
- String property;
- /**
- * @param id
- * @param displayName
- */
- public TypesPropertyDescriptor(Object id, String displayName, Element element, XSDSchema xsdSchema)
- {
- super(id, displayName);
- this.property = (String)id;
- this.element = element;
- this.xsdSchema = xsdSchema;
- }
-
- boolean showComplexTypes = true;
-
- public CellEditor createPropertyEditor(Composite parent)
- {
- if (XSDDOMHelper.inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, false))
- {
- showComplexTypes = true;
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(element, XSDConstants.LIST_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(element, XSDConstants.UNION_ELEMENT_TAG, false))
- {
- showComplexTypes = false;
- }
- // CellEditor editor = new TypesOptionsTextCellEditor(parent);
- CellEditor editor = new TypesDialogCellEditor(parent);
- if (getValidator() != null)
- editor.setValidator(getValidator());
- return editor;
- }
-
-
- public class TypesDialogCellEditor extends DialogCellEditor
- {
-
- /**
- * Creates a new Font dialog cell editor parented under the given control.
- * The cell editor value is <code>null</code> initially, and has no
- * validator.
- *
- * @param parent the parent control
- */
- protected TypesDialogCellEditor(Composite parent)
- {
- super(parent);
- }
-
- protected Object openDialogBox(Control cellEditorWindow)
- {
- Shell shell = Display.getCurrent().getActiveShell();
-
- TypesDialog dialog = new TypesDialog(shell);
-
- dialog.setBlockOnOpen(true);
- dialog.create();
-
- String value = (String)getValue();
-
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- value = dialog.getType();
- doSetValue(value);
- fireApplyEditorValue();
- }
- deactivate();
- return null;
- }
- }
-
- public class TypesDialog extends org.eclipse.jface.dialogs.Dialog implements SelectionListener
- {
- String type;
- Object typeObject;
- Table table;
-
- TypeSection typeSection;
- boolean showAnonymous = true;
- String previousStringType = "";
- boolean isAnonymous;
- int previousType;
-
-
- public TypesDialog(Shell shell)
- {
- super(shell);
- }
-
- protected void configureShell(Shell shell)
- {
- super.configureShell(shell);
- }
-
- protected void buttonPressed(int buttonId)
- {
- if (buttonId == Dialog.OK)
- {
- type = table.getItem(table.getSelectionIndex()).getText();
- ok();
- }
- super.buttonPressed(buttonId);
- }
-
- public Object getTypeObject() { return typeObject; }
- public String getType() { return type; }
-
- //
- // Create the controls
- //
- public Control createDialogArea(Composite parent)
- {
- int tabIndex = 0;
- Composite client = (Composite)super.createDialogArea(parent);
- getShell().setText("Available Types");
-
- typeObject = null;
-
- GridLayout gl = new GridLayout(1, true);
-// gl.marginHeight = 0;
-// gl.marginWidth = 0;
-// gl.horizontalSpacing = 0;
-// gl.verticalSpacing = 0;
- client.setLayout(gl);
-
- GridData gd = new GridData();
- gd.grabExcessHorizontalSpace = true;
- gd.grabExcessVerticalSpace = true;
- gd.horizontalAlignment = GridData.FILL;
- gd.verticalAlignment = GridData.FILL;
- gd.horizontalIndent = 0;
- client.setLayoutData(gd);
-
- typeSection = new TypeSection(client);
- typeSection.setShowUserComplexType(showComplexTypes);
-
- typeSection.createClient(client);
- typeSection.getSimpleType().setSelection(false);
- typeSection.getSimpleType().addSelectionListener(this);
- typeSection.getUserSimpleType().addSelectionListener(this);
- if (showComplexTypes)
- {
- typeSection.getUserComplexType().addSelectionListener(this);
- }
-
- table = new Table(client,
- SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
- table.setHeaderVisible(false);
- table.setLinesVisible(true);
-
- GridData gd2 = new GridData();
- gd2.grabExcessHorizontalSpace = true;
- gd2.grabExcessVerticalSpace = true;
- gd2.horizontalAlignment = GridData.FILL;
- gd2.heightHint = 200;
- table.setLayoutData(gd2);
-
- TableColumn tableColumn = new TableColumn(table, SWT.LEFT);
-// tableColumn.setImage(XSDEditorPlugin.getXSDImage("icons/XSDElement.gif"));
- tableColumn.setResizable(true);
- tableColumn.setWidth(200);
-
-
- // Fill table and select input type
- handleSetInput();
-
- return client;
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == typeSection.getSimpleType() && typeSection.getSimpleType().getSelection())
- {
- populateBuiltInType();
- }
- else if (e.widget == typeSection.getUserComplexType() && typeSection.getUserComplexType().getSelection())
- {
- populateUserComplexType();
- }
- else if (e.widget == typeSection.getUserSimpleType() && typeSection.getUserSimpleType().getSelection())
- {
- populateUserSimpleType();
- }
-
- }
-
- public void widgetDefaultSelected(SelectionEvent e)
- {
- }
-
- protected void ok()
- {
- TableItem[] items = table.getItems();
- int selection = table.getSelectionIndex();
- if (items != null && items.length > 0 && selection >= 0)
- {
- typeObject = items[selection].getData();
- }
-// System.out.println("typeObject is " + typeObject);
-
-// beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_TYPE_CHANGE"), element);
-// beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);
-// doSetValue(typeObject);
-// applyEditorValueAndDeactivate();
-// dialog.close();
-
- if (!XSDDOMHelper.inputEquals(element, XSDConstants.UNION_ELEMENT_TAG, false))
- {
- if (typeObject.equals("**anonymous**"))
- {
- if (typeSection.getUserSimpleType().getSelection())
- {
- if (!previousStringType.equals("**anonymous**"))
- {
- updateElementToAnonymous(
- element,
- XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- }
- }
- else
- {
- if (!previousStringType.equals("**anonymous**"))
- {
- updateElementToAnonymous(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- }
- }
- // element.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
- element.removeAttribute(property);
- }
- else
- {
- updateElementToNotAnonymous(element);
- //element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, typeObject.toString());
- element.setAttribute(property, typeObject.toString());
- }
- }
-// endRecording(element);
-
- //implement dispose();
-// table.removeAll();
-// table.dispose();
- }
-
-
- public void handleSetInput()
- {
- table.removeAll();
- isAnonymous = checkForAnonymousType(element);
- // Attr attr = element.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
- Attr attr = element.getAttributeNode(property);
- if (attr != null)
- {
- String value = attr.getValue();
- if (typeSection.getBuiltInTypeNamesList(xsdSchema).contains(value))
- {
- typeSection.getSimpleType().setSelection(true);
- populateBuiltInType();
- int i = typeSection.getBuiltInTypeNamesList(xsdSchema).indexOf(value);
- table.setSelection(i);
- previousType = 1;
- }
- else if (typeSection.getUserSimpleTypeNamesList(xsdSchema).contains(value))
- {
- typeSection.getUserSimpleType().setSelection(true);
- populateUserSimpleType();
- int i = typeSection.getUserSimpleTypeNamesList(xsdSchema).indexOf(value);
- if (showAnonymous)
- {
- table.setSelection(i + 1);
- }
- else
- {
- table.setSelection(i);
- }
- previousType = 2;
- }
- else if (typeSection.getUserComplexTypeNamesList(xsdSchema).contains(value))
- {
- typeSection.getUserComplexType().setSelection(true);
- populateUserComplexType();
- int i = typeSection.getUserComplexTypeNamesList(xsdSchema).indexOf(value);
- if (showAnonymous)
- {
- table.setSelection(i + 1);
- }
- else
- {
- table.setSelection(i);
- }
- previousType = 3;
- }
- else // if it is type="" for an empty list of simple types
- {
- typeSection.getUserSimpleType().setSelection(true);
- populateUserSimpleType();
- previousType = 2;
- }
- }
- else
- {
- if (isAnonymous)
- {
- if (isSTAnonymous(element))
- {
- typeSection.getUserSimpleType().setSelection(true);
- populateUserSimpleType();
- previousType = 2;
- }
- else
- {
- typeSection.getUserComplexType().setSelection(true);
- populateUserComplexType();
- previousType = 3;
- }
- table.setSelection(0); // anonymous
- // typeSection.getTypeList().setText("**anonymous**");
- }
- else
- {
- typeSection.getSimpleType().setSelection(true);
- populateBuiltInType();
- table.setSelection(0);
-
- // typeSection.getTypeList().setEnabled(true);
- // typeSection.getSimpleType().setSelection(true);
- // typeSection.populateBuiltInType(xsdSchema);
- // typeSection.getTypeList().setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE"));
- previousType = 1;
- }
- }
- if (table.getSelection() != null && table.getSelection().length > 0)
- {
- previousStringType = (table.getSelection()[0]).getText();
- }
- }
-
- public void populateBuiltInType()
- {
- table.removeAll();
- List items = getBuiltInTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public void populateUserComplexType()
- {
- table.removeAll();
- if (showAnonymous)
- {
- TableItem anonymousItem = new TableItem(table, SWT.NONE);
- anonymousItem.setText("**anonymous**");
- anonymousItem.setData("**anonymous**");
- }
- List items = getUserComplexTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
-// System.out.println("item " + i + " is " + item);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDComplexType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public void populateUserSimpleType()
- {
- table.removeAll();
- if (showAnonymous)
- {
- TableItem anonymousItem = new TableItem(table, SWT.NONE);
- anonymousItem.setText("**anonymous**");
- anonymousItem.setData("**anonymous**");
- }
- List items = getUserSimpleTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- boolean checkForAnonymousType(Element element)
- {
- /*
- * Using Ed's model to check boolean isAnonymous = false;
- *
- * XSDConcreteComponent component =
- * getXSDSchema().getCorrespondingComponent(element); if (component
- * instanceof XSDElementDeclaration) { XSDElementDeclaration xsdElem =
- * (XSDElementDeclaration)component; isAnonymous =
- * xsdElem.isSetAnonymousTypeDefinition(); } return isAnonymous;
- */
- XSDDOMHelper helper = new XSDDOMHelper();
- boolean isAnonymous = false;
- Node aNode =
- helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- return true;
- }
- aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- isAnonymous = true;
- }
- return isAnonymous;
- }
-
- void updateElementToAnonymous(Element element, String xsdType)
- {
- String prefix = element.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
- updateElementToNotAnonymous(element);
- boolean hasChildrenElements = hasElementChildren(element);
- Element childNode = null;
- if (xsdType.equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
- {
- childNode = element.getOwnerDocument().createElementNS(
- XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
- prefix + XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- }
- else if (xsdType.equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG))
- {
- childNode =
- element.getOwnerDocument().createElementNS(
- XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
- prefix + XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- }
- element.appendChild(childNode);
- //formatChild(childNode, hasChildrenElements);
- }
-
- boolean isSTAnonymous(Element element)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Node aNode =
- helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- if (XSDDOMHelper
- .inputEquals(aNode, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
- return true;
- }
- }
- return false;
- }
-
- boolean isCTAnonymous(Element element)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Node aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- if (XSDDOMHelper.inputEquals(aNode, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
- {
- return true;
- }
- }
- return false;
- }
-
- XSDTypeDefinition getAnonymousTypeDefinition(Element element)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Node typeDefinitionNode =
- helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (typeDefinitionNode == null)
- {
- typeDefinitionNode =
- helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- }
- if (typeDefinitionNode != null)
- {
- XSDConcreteComponent component =
- xsdSchema.getCorrespondingComponent(typeDefinitionNode);
- if (component instanceof XSDTypeDefinition)
- {
- return (XSDTypeDefinition) component;
- }
- }
- return null;
- }
-
- void updateElementToNotAnonymous(Element element)
- {
- if (element != null)
- {
- NodeList children = element.getChildNodes();
- if (children != null)
- {
- for (int i = 0; i < children.getLength(); i++)
- {
- Node node = (Node) children.item(i);
- if (node instanceof Element)
- {
- if (node.getLocalName().equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG)
- || node.getLocalName().equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
- {
- XSDDOMHelper.removeNodeAndWhitespace(node);
- i = 0;
- }
- }
- }
- }
- }
- }
-
- public java.util.List getBuiltInTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getBuiltInTypeNamesList();
- }
-
- public java.util.List getUserSimpleTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getUserSimpleTypeNamesList();
- }
-
- public java.util.List getUserComplexTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getUserComplexTypeNamesList();
- }
-
- protected boolean hasElementChildren(Node parentNode)
- {
- boolean hasChildrenElements = false;
- if (parentNode != null && parentNode.hasChildNodes())
- {
- NodeList nodes = parentNode.getChildNodes();
- for (int i = 0; i < nodes.getLength(); i++)
- {
- if (nodes.item(i) instanceof Element)
- {
- hasChildrenElements = true;
- break;
- }
- }
- }
- return hasChildrenElements;
- }
-
- }
-
-
-
-
-
-
-
-
- class TypesOptionsTextCellEditor extends OptionsTextCellEditor
- {
- boolean showAnonymous = true;
-
- public TypesOptionsTextCellEditor(Composite parent)
- {
- super(parent);
- }
-
- protected Control createControl(Composite parent)
- {
- isTextReadOnly = true;
- return super.createControl(parent);
- }
-
- Table table;
- TypeSection typeSection;
-
- protected void openDialog()
- {
- typeObject = null;
- dialog = new Shell(XSDEditorPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.MODELESS);
- Display display = dialog.getDisplay();
- GridLayout gl = new GridLayout(1, true);
- gl.marginHeight = 0;
- gl.marginWidth = 0;
- gl.horizontalSpacing = 0;
- gl.verticalSpacing = 0;
- dialog.setLayout(gl);
- GridData gd = new GridData();
- gd.grabExcessHorizontalSpace = true;
- gd.grabExcessVerticalSpace = true;
- gd.horizontalAlignment = GridData.FILL;
- gd.verticalAlignment = GridData.FILL;
- gd.horizontalIndent = 0;
- dialog.setLayoutData(gd);
-
-
-
- typeSection = new TypeSection(dialog);
- typeSection.setShowUserComplexType(showComplexTypes);
-
- typeSection.createClient(dialog);
- typeSection.getSimpleType().setSelection(false);
- typeSection.getSimpleType().addSelectionListener(this);
- typeSection.getUserSimpleType().addSelectionListener(this);
- if (showComplexTypes)
- {
- typeSection.getUserComplexType().addSelectionListener(this);
- }
-
- table = new Table(dialog,
- SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
- table.setHeaderVisible(false);
- table.setLinesVisible(true);
- GridData gd2 = new GridData();
- gd2.grabExcessHorizontalSpace = true;
- gd2.grabExcessVerticalSpace = true;
- gd2.horizontalAlignment = GridData.FILL;
- gd2.verticalAlignment = GridData.FILL;
- table.setLayoutData(gd2);
-
- // Fill table and select input type
- handleSetInput();
- int tableItemCount = table.getItemCount();
-
- TableColumn tc = new TableColumn(table, SWT.LEFT);
- tc.setImage(XSDEditorPlugin.getXSDImage("icons/XSDElement.gif"));
- //tc.setText("Available types:");
- tc.setResizable(false);
-
- int MAX_ITEMS = 23;
-// tc.pack();
-// table.pack();
- Rectangle tableBounds = table.getBounds();
- tableBounds.height = Math.min(tableBounds.height, table.getItemHeight()*MAX_ITEMS);
- table.setBounds(tableBounds);
- dialog.pack();
-
- dialog.addShellListener(new ShellAdapter()
- {
- public void shellDeactivated(ShellEvent e)
- {
- cancel();
- }
- });
-
- Rectangle dialogBounds = dialog.getBounds();
- Point buttonLocation = getButtonAbsoluteLocation();
- dialogBounds.x = buttonLocation.x;
- dialogBounds.y = buttonLocation.y;
-
- if (dialogBounds.height > 200)
- {
- dialogBounds.height = 200;
- }
- if (dialogBounds.height < 100)
- {
- dialogBounds.height = 200;
- }
- if (dialogBounds.width > 200)
- {
- dialogBounds.width = typeSection.getUserComplexType().getBounds().width + 30;
- }
- dialog.setBounds(dialogBounds);
- tc.setWidth(dialogBounds.width);
-
- table.addKeyListener(new KeyAdapter()
- {
- public void keyPressed(KeyEvent e)
- {
- int keyCode = e.keyCode;
- int stateMask = e.stateMask;
- char character = e.character;
- if (character == SWT.CR || character == SWT.LF)
- ok();
- else if (character == SWT.ESC)
- cancel();
- }
- });
-
- table.addMouseListener(new MouseAdapter()
- {
- public void mouseDoubleClick(MouseEvent e)
- {
- ok();
- }
- public void mouseDown(MouseEvent e)
- {
- ok();
- }
- });
-
- try
- {
- dialog.open();
- table.setFocus();
- table.showSelection();
-
- while (!dialog.isDisposed())
- {
- if (!display.readAndDispatch())
- {
- display.sleep();
- }
- }
- }
- finally
- {
- if (!dialog.isDisposed())
- cancel();
- }
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == typeSection.getSimpleType() && typeSection.getSimpleType().getSelection())
- {
- populateBuiltInType();
- }
- else if (e.widget == typeSection.getUserComplexType() && typeSection.getUserComplexType().getSelection())
- {
- populateUserComplexType();
- }
- else if (e.widget == typeSection.getUserSimpleType() && typeSection.getUserSimpleType().getSelection())
- {
- populateUserSimpleType();
- }
- }
-
- protected void cancel()
- {
- super.cancel();
- table.dispose();
- }
-
- protected void ok()
- {
- TableItem[] items = table.getItems();
- selection = table.getSelectionIndex();
- if (items != null && items.length > 0 && selection >= 0)
- {
- typeObject = items[selection].getData();
- }
-// System.out.println("typeObject is " + typeObject);
-
-// beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_TYPE_CHANGE"), element);
-// beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);
- doSetValue(typeObject);
- applyEditorValueAndDeactivate();
- dialog.close();
-
- if (!XSDDOMHelper.inputEquals(element, XSDConstants.UNION_ELEMENT_TAG, false))
- {
- if (typeObject.equals("**anonymous**"))
- {
- if (typeSection.getUserSimpleType().getSelection())
- {
- if (!previousStringType.equals("**anonymous**"))
- {
- updateElementToAnonymous(
- element,
- XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- }
- }
- else
- {
- if (!previousStringType.equals("**anonymous**"))
- {
- updateElementToAnonymous(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- }
- }
- // element.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
- element.removeAttribute(property);
- }
- else
- {
- updateElementToNotAnonymous(element);
- //element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, typeObject.toString());
- element.setAttribute(property, typeObject.toString());
- }
- }
-// endRecording(element);
-
- //implement dispose();
- table.removeAll();
- table.dispose();
- }
-
- String previousStringType = "";
- boolean isAnonymous;
- int previousType;
-
- public void handleSetInput()
- {
- table.removeAll();
- isAnonymous = checkForAnonymousType(element);
- // Attr attr = element.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
- Attr attr = element.getAttributeNode(property);
- if (attr != null)
- {
- String value = attr.getValue();
- if (typeSection.getBuiltInTypeNamesList(xsdSchema).contains(value))
- {
- typeSection.getSimpleType().setSelection(true);
- populateBuiltInType();
- int i = typeSection.getBuiltInTypeNamesList(xsdSchema).indexOf(value);
- table.setSelection(i);
- previousType = 1;
- }
- else if (typeSection.getUserSimpleTypeNamesList(xsdSchema).contains(value))
- {
- typeSection.getUserSimpleType().setSelection(true);
- populateUserSimpleType();
- int i = typeSection.getUserSimpleTypeNamesList(xsdSchema).indexOf(value);
- if (showAnonymous)
- {
- table.setSelection(i + 1);
- }
- else
- {
- table.setSelection(i);
- }
- previousType = 2;
- }
- else if (typeSection.getUserComplexTypeNamesList(xsdSchema).contains(value))
- {
- typeSection.getUserComplexType().setSelection(true);
- populateUserComplexType();
- int i = typeSection.getUserComplexTypeNamesList(xsdSchema).indexOf(value);
- if (showAnonymous)
- {
- table.setSelection(i + 1);
- }
- else
- {
- table.setSelection(i);
- }
- previousType = 3;
- }
- else // if it is type="" for an empty list of simple types
- {
- typeSection.getUserSimpleType().setSelection(true);
- populateUserSimpleType();
- previousType = 2;
- }
- }
- else
- {
- if (isAnonymous)
- {
- if (isSTAnonymous(element))
- {
- typeSection.getUserSimpleType().setSelection(true);
- populateUserSimpleType();
- previousType = 2;
- }
- else
- {
- typeSection.getUserComplexType().setSelection(true);
- populateUserComplexType();
- previousType = 3;
- }
- table.setSelection(0); // anonymous
- // typeSection.getTypeList().setText("**anonymous**");
- }
- else
- {
- typeSection.getSimpleType().setSelection(true);
- populateBuiltInType();
- table.setSelection(0);
-
- // typeSection.getTypeList().setEnabled(true);
- // typeSection.getSimpleType().setSelection(true);
- // typeSection.populateBuiltInType(xsdSchema);
- // typeSection.getTypeList().setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE"));
- previousType = 1;
- }
- }
- if (table.getSelection() != null && table.getSelection().length > 0)
- {
- previousStringType = (table.getSelection()[0]).getText();
- }
- }
-
- public void populateBuiltInType()
- {
- table.removeAll();
- List items = getBuiltInTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public void populateUserComplexType()
- {
- table.removeAll();
- if (showAnonymous)
- {
- TableItem anonymousItem = new TableItem(table, SWT.NONE);
- anonymousItem.setText("**anonymous**");
- anonymousItem.setData("**anonymous**");
- }
- List items = getUserComplexTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
-// System.out.println("item " + i + " is " + item);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDComplexType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public void populateUserSimpleType()
- {
- table.removeAll();
- if (showAnonymous)
- {
- TableItem anonymousItem = new TableItem(table, SWT.NONE);
- anonymousItem.setText("**anonymous**");
- anonymousItem.setData("**anonymous**");
- }
- List items = getUserSimpleTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- boolean checkForAnonymousType(Element element)
- {
- /*
- * Using Ed's model to check boolean isAnonymous = false;
- *
- * XSDConcreteComponent component =
- * getXSDSchema().getCorrespondingComponent(element); if (component
- * instanceof XSDElementDeclaration) { XSDElementDeclaration xsdElem =
- * (XSDElementDeclaration)component; isAnonymous =
- * xsdElem.isSetAnonymousTypeDefinition(); } return isAnonymous;
- */
- XSDDOMHelper helper = new XSDDOMHelper();
- boolean isAnonymous = false;
- Node aNode =
- helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- return true;
- }
- aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- isAnonymous = true;
- }
- return isAnonymous;
- }
-
- void updateElementToAnonymous(Element element, String xsdType)
- {
- String prefix = element.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
- updateElementToNotAnonymous(element);
- boolean hasChildrenElements = hasElementChildren(element);
- Element childNode = null;
- if (xsdType.equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
- {
- childNode = element.getOwnerDocument().createElementNS(
- XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
- prefix + XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- }
- else if (xsdType.equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG))
- {
- childNode =
- element.getOwnerDocument().createElementNS(
- XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
- prefix + XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- }
- element.appendChild(childNode);
- //formatChild(childNode, hasChildrenElements);
- }
-
- boolean isSTAnonymous(Element element)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Node aNode =
- helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- if (XSDDOMHelper
- .inputEquals(aNode, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
- return true;
- }
- }
- return false;
- }
-
- boolean isCTAnonymous(Element element)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Node aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- if (XSDDOMHelper.inputEquals(aNode, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
- {
- return true;
- }
- }
- return false;
- }
-
- XSDTypeDefinition getAnonymousTypeDefinition(Element element)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Node typeDefinitionNode =
- helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (typeDefinitionNode == null)
- {
- typeDefinitionNode =
- helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- }
- if (typeDefinitionNode != null)
- {
- XSDConcreteComponent component =
- xsdSchema.getCorrespondingComponent(typeDefinitionNode);
- if (component instanceof XSDTypeDefinition)
- {
- return (XSDTypeDefinition) component;
- }
- }
- return null;
- }
-
- void updateElementToNotAnonymous(Element element)
- {
- NodeList children = element.getChildNodes();
- if (children != null)
- {
- for (int i = 0; i < children.getLength(); i++)
- {
- Node node = (Node) children.item(i);
- if (node instanceof Element)
- {
- if (node.getLocalName().equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG)
- || node.getLocalName().equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
- {
- XSDDOMHelper.removeNodeAndWhitespace(node);
- i = 0;
- }
- }
- }
- }
- }
-
- public java.util.List getBuiltInTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getBuiltInTypeNamesList();
- }
-
- public java.util.List getUserSimpleTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getUserSimpleTypeNamesList();
- }
-
- public java.util.List getUserComplexTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getUserComplexTypeNamesList();
- }
-
- protected boolean hasElementChildren(Node parentNode)
- {
- boolean hasChildrenElements = false;
- if (parentNode != null && parentNode.hasChildNodes())
- {
- NodeList nodes = parentNode.getChildNodes();
- for (int i = 0; i < nodes.getLength(); i++)
- {
- if (nodes.item(i) instanceof Element)
- {
- hasChildrenElements = true;
- break;
- }
- }
- }
- return hasChildrenElements;
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XPathPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XPathPropertySource.java
deleted file mode 100644
index 9a5d893cca..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XPathPropertySource.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class XPathPropertySource
- extends BasePropertySource
- implements IPropertySource
-{
- /**
- *
- */
- public XPathPropertySource()
- {
- super();
- }
- /**
- * @param viewer
- * @param xsdSchema
- */
- public XPathPropertySource(Viewer viewer, XSDSchema xsdSchema)
- {
- super(viewer, xsdSchema);
-// From Field
-// WorkbenchHelp.setHelp(comp, XSDEditorContextIds.XSDE_UNIQUE_BASE_FIELDS_GROUP);
-// fieldField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_FIELD_TEXT"));
-// WorkbenchHelp.setHelp(fieldField, XSDEditorContextIds.XSDE_UNIQUE_BASE_SOURCE);
-
-// From Selector
-// WorkbenchHelp.setHelp(comp, XSDEditorContextIds.XSDE_UNIQUE_BASE_SELECTOR_GROUP);
-// WorkbenchHelp.setHelp(selectorField, XSDEditorContextIds.XSDE_UNIQUE_BASE_SELECTOR);
-// selectorField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_SELECTOR_TEXT"));
-
- }
- /**
- * @param xsdSchema
- */
- public XPathPropertySource(XSDSchema xsdSchema)
- {
- super(xsdSchema);
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue()
- {
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
- public IPropertyDescriptor[] getPropertyDescriptors()
- {
- List list = new ArrayList();
- // Create a descriptor and set a category
- PropertyDescriptor xpathDescriptor =
- new TextPropertyDescriptor(
- XSDConstants.XPATH_ATTRIBUTE,
- XSDConstants.XPATH_ATTRIBUTE);
- list.add(xpathDescriptor);
-
- IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
- list.toArray(result);
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id)
- {
- Object result = null;
- if (id instanceof String)
- {
- result = element.getAttribute((String) id);
- }
- if (result == null)
- {
- result = "";
- }
- return result;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
- public void setPropertyValue(Object id, Object value)
- {
- if (value != null)
- {
- if (value instanceof String)
- {
- if (XSDDOMHelper.inputEquals(element, XSDConstants.FIELD_ELEMENT_TAG, false))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_FIELD_XPATH_CHANGE"), element);
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.SELECTOR_ELEMENT_TAG, false))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_SELECTOR_XPATH_CHANGE"), element);
- }
-
- element.setAttribute(XSDConstants.XPATH_ATTRIBUTE, (String)value);
- endRecording(element);
- }
- }
- Runnable delayedUpdate = new Runnable()
- {
- public void run()
- {
- if (viewer != null)
- viewer.refresh();
- }
- };
- Display.getCurrent().asyncExec(delayedUpdate);
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java
deleted file mode 100644
index b4d9cc2531..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.PopupList;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-public class XSDComboBoxPropertyDescriptor extends PropertyDescriptor
-{
- private String[] values;
-
- public XSDComboBoxPropertyDescriptor(Object id, String displayName, String[] valuesArray) {
- super(id, displayName);
- values = valuesArray;
- }
- /**
- * The <code>ComboBoxPropertyDescriptor</code> implementation of this
- * <code>IPropertyDescriptor</code> method creates and returns a new
- * <code>ComboBoxCellEditor</code>.
- * <p>
- * The editor is configured with the current validator if there is one.
- * </p>
- */
- public CellEditor createPropertyEditor(Composite parent) {
- CellEditor editor = new XSDComboBoxCellEditor(parent, values);
- //CellEditor editor = new StringComboBoxCellEditor(parent, values);
- if (getValidator() != null)
- editor.setValidator(getValidator());
- return editor;
- }
-
- public class XSDComboBoxCellEditor extends CellEditor
- {
- DynamicCellEditor comboBox;
-
- private String fSelection;
- protected String[] fItems;
- protected Object fValue;
- int selection;
- Object typeObject;
-
- public void createItems(String[] items)
- {
- fItems = items;
- }
-
- public String[] getComboBoxItems()
- {
- return fItems;
- }
-
- /**
- * Creates a new combo box cell editor with the given choices.
- */
- public XSDComboBoxCellEditor(Composite parent, String[] items)
- {
- super(parent);
- fSelection = "";
- setItems(items);
-// fText.setText("");
- }
-
- public void activate() {
- if (doGetValue() != null)
- {
-// int i = ((Integer)doGetValue()).intValue();
-// if (i >= 0)
-// {
-// comboBox.setText(fItems[i]);
-// }
- comboBox.setText((String)fValue);
- }
- }
-
- public void deactivate() {
- super.deactivate();
- }
-
- public void setItems(String[] items) {
- Assert.isNotNull(items);
- this.fItems = items;
- populateComboBoxItems();
- }
-
- private void populateComboBoxItems() {
- if (comboBox != null && fItems != null) {
- comboBox.removeAll();
- for (int i = 0; i < fItems.length; i++)
- comboBox.add(fItems[i], i);
-
- setValueValid(true);
- selection = 0;
- }
- }
-
- /**
- * Creates the actual UI representation.
- */
-
- protected Control createControl(Composite parent)
- {
- comboBox = new DynamicCellEditor(parent, SWT.READ_ONLY |SWT.NONE | SWT.NO_TRIM);
- comboBox.addKeyListener(new KeyAdapter() {
- // hook key pressed - see PR 14201
- public void keyPressed(KeyEvent e) {
-// System.out.println("Key e " + e);
- keyReleaseOccured(e);
- }
- });
-
- comboBox.addSelectionListener(new SelectionAdapter() {
- public void widgetDefaultSelected(SelectionEvent event) {
- }
-
- public void widgetSelected(SelectionEvent event) {
-// System.out.println("combo selected");
- selection = comboBox.getSelectionIndex();
- if (!comboBox.isDropped()) // allows user to traverse list using keyboard without applying value
- applyEditorValueAndDeactivate();
- }
- });
-
- comboBox.addTraverseListener(new TraverseListener() {
- public void keyTraversed(TraverseEvent e) {
-// System.out.println("TRAVERSE e " + e);
- if (e.detail == SWT.TRAVERSE_ESCAPE || e.detail == SWT.TRAVERSE_RETURN) {
- e.doit = false;
- }
- }
- });
-
-
- comboBox.addFocusListener(new FocusAdapter() {
- public void focusLost(FocusEvent e) {
- XSDComboBoxCellEditor.this.focusLost();
- }
- public void focusGained(FocusEvent e) {
-// System.out.println("focusGained");
- }
- });
- setValueValid(true);
- return comboBox;
- }
-
- protected void focusLost() {
-// System.out.println("CELLEDITOR FOCUS LOST");
- if (isActivated()) {
- applyEditorValueAndDeactivate();
- }
- }
-
- protected void keyReleaseOccured(KeyEvent keyEvent) {
- if (keyEvent.character == '\u001b') { // Escape character
- comboBox.setText(""); // clear text
- fireCancelEditor();
- } else if (keyEvent.character == '\r') { // Return key
- //fireApplyEditorValue();
- applyEditorValueAndDeactivate();
- deactivate();
- }
- }
-
- void applyEditorValueAndDeactivate() {
- // must set the selection before getting value
- selection = comboBox.getSelectionIndex();
- if (selection < 0)
- {
- deactivate();
- return;
- }
- // Object newValue = new Integer(selection);
- Object newValue = fItems[selection];
- markDirty();
- boolean isValid = isCorrect(newValue);
- setValueValid(isValid);
- if (!isValid) {
- // try to insert the current value into the error message.
- setErrorMessage(
- MessageFormat.format(getErrorMessage(), new Object[] {fItems[selection]}));
- }
- doSetValue(newValue);
- fireApplyEditorValue();
- deactivate();
- }
-
- protected Object doGetValue() {
- return fValue;
- // otherwise limits to set of valid values
-// Object index = super.doGetValue();
-// int selection = -1;
-// if (index instanceof Integer)
-// selection = ((Integer) index).intValue();
-// if (selection >= 0)
-// return fItems[selection];
-// else if (getControl() instanceof CCombo) {
-// // retrieve the actual text as the list of valid items doesn't contain the value
-// return ((CCombo) getControl()).getText();
-// }
-// return null;
- }
- private boolean fSettingValue = false;
- protected void doSetValue(Object value) {
- if (fSettingValue)
- return;
- fSettingValue = true;
- if (value instanceof Integer) {
- //super.doSetValue(value);
- fValue = value;
- }
- else {
- String stringValue = value.toString();
- int selection = -1;
- for (int i = 0; i < fItems.length; i++)
- if (fItems[i].equals(stringValue))
- selection = i;
- if (selection >= 0)
- //super.doSetValue(new Integer(selection));
- fValue = stringValue;
- else {
- // super.doSetValue(new Integer(-1));
- // fValue = new Integer(-1);
- fValue = stringValue;
- if (getControl() instanceof CCombo && !stringValue.equals(((CCombo) getControl()).getText())) {
- // update the Text widget
- ((CCombo) getControl()).setText(stringValue);
- }
- }
- }
- fSettingValue = false;
- }
-
- /**
- * Returns the cell editor's value.
- */
-// protected Object doGetValue()
-// {
-// return fValue;
-// }
-
- /**
- * Set the focus to the cell editor's UI representation.
- */
- protected void doSetFocus()
- {
-// fButton.setFocus();
-// System.out.println("doSetFocus() " + moreButton.setFocus());
- comboBox.setFocus();
- }
-
- /**
- * Sets the value of the cell editor to the given value.
- */
-// protected void doSetValue(Object value)
-// {
-// fValue = value;
-// }
-
- protected void fillPopupList(PopupList list)
- {
- String[] labels= new String[fItems.length];
- for (int i= 0; i < labels.length; i++)
- {
- String item= fItems[i];
- labels[i]= item;
-// System.out.println(fItems[i]);
- if (fSelection == null && fValue != null && fValue.equals(item))
- {
- fSelection = item;
- }
- }
-
- list.setItems(labels);
- if (fSelection != null)
- {
-// fText.setText(fSelection);
- list.select(fSelection);
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySheetPage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySheetPage.java
deleted file mode 100644
index 95ee94bba1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySheetPage.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.views.properties.PropertySheet;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.ViewerSelectionManager;
-import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.sse.ui.views.properties.RemoveAction;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-public class XSDPropertySheetPage extends PropertySheetPage implements ISelectionChangedListener, INodeSelectionListener
-{
- /**
- * @param model
- */
-
- IEditorPart editorPart;
- private ViewerSelectionManager fViewerSelectionManager;
- IStructuredModel model;
- protected RemoveAction fRemoveAction;
- Control designControl;
-
- public XSDPropertySheetPage(IStructuredModel model, IEditorPart editorPart)
- {
- super();
- this.model = model;
- this.editorPart = editorPart;
- }
-
- public void selectionChanged(SelectionChangedEvent event)
- {
- super.selectionChanged(null, event.getSelection());
- }
-
- public void setViewerSelectionManager(ViewerSelectionManager viewerSelectionManager) {
- // disconnect from old one
- if (fViewerSelectionManager != null) {
- fViewerSelectionManager.removeNodeSelectionListener(this);
- }
-
- fViewerSelectionManager = viewerSelectionManager;
-
- // connect to new one
- if (fViewerSelectionManager != null) {
- fViewerSelectionManager.addNodeSelectionListener(this);
- }
- }
-
- public void dispose() {
- // disconnect from the ViewerSelectionManager
- if (fViewerSelectionManager != null) {
- fViewerSelectionManager.removeNodeSelectionListener(this);
- }
- super.dispose();
- }
-
- public void nodeSelectionChanged(NodeSelectionChangedEvent event) {
- // multiple selection is unsupported
- if (event.getSelectedNodes().size() > 1)
- {
- selectionChanged(null, StructuredSelection.EMPTY);
- }
- else if (event.getSelectedNodes().size() == 0)
- {
-
- }
- else
- {
- Object item = event.getSelectedNodes().get(0);
- if (item instanceof Text)
- {
- Node parent = ((Text)item).getParentNode();
- selectionChanged(null, new StructuredSelection(parent));
- }
- else
- {
- selectionChanged(null, new StructuredSelection(event.getSelectedNodes()));
- }
- }
- }
-
- private void setPropertiesTitle(PropertySheet thePart, String title)
- {
- Control control = thePart.getDefaultPage().getControl();
- for (Composite parent = control.getParent(); parent != null; parent = parent.getParent())
- {
- if (parent instanceof ViewForm)
- {
- Control[] children = parent.getChildren();
- if (children.length > 0 && children[0] instanceof CLabel)
- {
- CLabel clabel = (CLabel)children[0];
- clabel.setText(title);
- }
- }
- }
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySourceProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySourceProvider.java
deleted file mode 100644
index 78e790b1ef..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySourceProvider.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.IPropertySourceProvider;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class XSDPropertySourceProvider implements IPropertySourceProvider
-{
- XSDSchema xsdSchema;
- /**
- *
- * @todo Generated comment
- */
- public XSDPropertySourceProvider()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySourceProvider#getPropertySource(java.lang.Object)
- */
- public IPropertySource getPropertySource(Object object)
- {
- if (object == null) return null;
-
- if (object instanceof XSDConcreteComponent)
- {
- XSDConcreteComponent component = (XSDConcreteComponent)object;
-
- xsdSchema = component.getSchema();
-
- if (component instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)component;
- if (elementDeclaration.isElementDeclarationReference())
- {
- component = elementDeclaration.getResolvedElementDeclaration();
- }
- }
-
- Element input = component.getElement();
-
- BasePropertySource bps = (BasePropertySource)getXSDPropertySource(input);
- if (bps == null) return null;
-
- bps.setInput(input);
- return bps;
- }
- return null;
- }
-
- boolean showParent = false;
-
- public IPropertySource getXSDPropertySource(Object object)
- {
- Element input = (Element)object;
-
- showParent = false;
-
- if (inputEquals(input, XSDConstants.ELEMENT_ELEMENT_TAG, false))
- {
- return new ElementPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.ELEMENT_ELEMENT_TAG, true))
- {
- return new GroupRefPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
- inputEquals(input, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
- inputEquals(input, XSDConstants.ALL_ELEMENT_TAG, false))
- {
- return new ModelGroupPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
- {
- return new AttributePropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
- {
- return new AttributeGroupRefPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false))
- {
- return new NamePropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
- {
- return new AttributeGroupRefPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.NOTATION_ELEMENT_TAG, false))
- {
- return new NotationPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
- return new SimpleTypePropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.GROUP_ELEMENT_TAG, false))
- {
- return new NamePropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.GROUP_ELEMENT_TAG, true))
- {
- return new GroupRefPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.SCHEMA_ELEMENT_TAG, false))
- {
- return new SchemaPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
- {
- return new ComplexTypePropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.DOCUMENTATION_ELEMENT_TAG, false))
- {
- return new DocumentationPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.APPINFO_ELEMENT_TAG, false))
- {
- return new AppInfoPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
- {
- if (input != null && input instanceof Element)
- {
- Element parent = (Element)input;
- XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
- Element derivedByNode = xsdDOMHelper.getDerivedByElement(parent);
- if (derivedByNode != null)
- {
- if (inputEquals(derivedByNode, XSDConstants.RESTRICTION_ELEMENT_TAG, false) ||
- inputEquals(derivedByNode, XSDConstants.EXTENSION_ELEMENT_TAG, false))
- {
- return new SimpleContentPropertySource(xsdSchema);
- }
- }
- else
- {
- return null;
- }
- }
- }
- else if (inputEquals(input, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- if (input != null && input instanceof Element)
- {
- Element parent = (Element)input;
- XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
- Element derivedByNode = xsdDOMHelper.getDerivedByElement(parent);
- if (derivedByNode != null)
- {
- return new SimpleContentPropertySource(xsdSchema);
- }
- else
- {
- return null;
- }
- }
- }
- else if (inputEquals(input, XSDConstants.LIST_ELEMENT_TAG, false))
- {
- return new SimpleTypeListPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.UNION_ELEMENT_TAG, false))
- {
- return new SimpleTypeUnionPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.RESTRICTION_ELEMENT_TAG, false))
- {
- return createRestrictWindow(input, xsdSchema);
- }
- else if (XSDDOMHelper.isFacet(input))
- {
- if (input != null && input instanceof Element)
- {
- Node parent = ((Element)input).getParentNode();
- if (inputEquals(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false))
- {
- return createRestrictWindow(input, xsdSchema);
- }
- }
- }
- else if (inputEquals(input, XSDConstants.EXTENSION_ELEMENT_TAG, false))
- {
- if (input != null && input instanceof Element)
- {
- Node parent = ((Element)input).getParentNode();
- if (inputEquals(parent, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false)
- || inputEquals(parent, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
- {
- showParent = true;
- return new SimpleContentPropertySource(xsdSchema);
- }
- }
- }
- else if (inputEquals(input, XSDConstants.PATTERN_ELEMENT_TAG, false))
- {
- return new PatternPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.ENUMERATION_ELEMENT_TAG, false))
- {
- return new EnumerationPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.ANY_ELEMENT_TAG, false))
- {
- return new AnyElementPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false))
- {
- return new AnyAttributePropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.UNIQUE_ELEMENT_TAG, false))
- {
- return new NamePropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.KEYREF_ELEMENT_TAG, false))
- {
- return new KeyrefPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.SELECTOR_ELEMENT_TAG, false))
- {
- return new XPathPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.FIELD_ELEMENT_TAG, false))
- {
- return new XPathPropertySource(xsdSchema);
- }
- else if (inputEquals(input, XSDConstants.KEY_ELEMENT_TAG, false))
- {
- return new NamePropertySource(xsdSchema);
- }
- else
- {
- return null;
- }
- return null;
- }
-
- protected IPropertySource createRestrictWindow(Object input, XSDSchema xsdSchema)
- {
- // special case where SimpleType restriction is different than SimpleContent restriction
-
- if (input != null && input instanceof Element)
- {
- Node parent = ((Element)input).getParentNode();
- if (inputEquals(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
- return new SimpleRestrictPropertySource(xsdSchema);
- }
- else if (inputEquals(parent, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
- {
- return new SimpleRestrictPropertySource(xsdSchema);
- }
- else if (inputEquals(parent, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- showParent = true;
- return new SimpleContentPropertySource(xsdSchema);
- }
- }
- return null;
- }
-
-
- protected boolean inputEquals(Object input, String tagname, boolean isRef)
- {
- return XSDDOMHelper.inputEquals(input, tagname, isRef);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSection.java
deleted file mode 100644
index 010bf735e3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSection.java
+++ /dev/null
@@ -1,495 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetPage;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xml.core.NameValidator;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateElementAction;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class AbstractSection implements ISection, IPropertyChangeListener, Listener, SelectionListener
-{
- private TabbedPropertySheetWidgetFactory factory;
- protected IWorkbenchPart part;
- protected ISelection selection;
- protected Object input;
- protected boolean doRefresh = true;
- XSDSchema xsdSchema;
- protected boolean isReadOnly = false;
- private IStatusLineManager statusLine;
- protected Composite composite;
- protected int rightMarginSpace;
- protected int tableMinimumWidth = 50;
-
- /**
- *
- */
- public AbstractSection()
- {
- super();
- }
-
- public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage)
- {
- createControls(parent, tabbedPropertySheetPage.getWidgetFactory());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory aFactory)
- {
- this.factory = aFactory;
- GC gc = new GC(parent);
- Point extent = gc.textExtent(" ... ");
- rightMarginSpace = extent.x;
- gc.dispose();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#setInput(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public void setInput(IWorkbenchPart part, ISelection selection)
- {
- Assert.isTrue(selection instanceof IStructuredSelection);
- this.part = part;
- this.selection = selection;
- Object input = ((IStructuredSelection)selection).getFirstElement();
- this.input = input;
-
- if (input instanceof XSDConcreteComponent)
- {
- xsdSchema = ((XSDConcreteComponent)input).getSchema();
-
- Element element = ((XSDConcreteComponent)input).getElement();
- if (element instanceof XMLNode)
- {
- isReadOnly = false;
- }
- else
- {
- isReadOnly = true;
- }
- }
- statusLine = getStatusLine();
- clearErrorMessage();
-
-// refresh();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#aboutToBeShown()
- */
- public void aboutToBeShown()
- {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#aboutToBeHidden()
- */
- public void aboutToBeHidden()
- {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#dispose()
- */
- public void dispose()
- {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#getMinimumHeight()
- */
- public int getMinimumHeight()
- {
- return SWT.DEFAULT;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#refresh()
- */
- public void refresh()
- {
- }
-
- public Object getInput()
- {
- if (input instanceof Element)
- {
- input = xsdSchema.getCorrespondingComponent((Element)input);
- }
- return input;
- }
-
- public XSDSchema getSchema()
- {
- return xsdSchema;
- }
-
- /**
- * Get the widget factory.
- * @return the widget factory.
- */
- public TabbedPropertySheetWidgetFactory getWidgetFactory() {
- return factory;
- }
-
- public void propertyChange(PropertyChangeEvent event)
- {
- refresh();
- }
-
-
- public void doWidgetDefaultSelected(SelectionEvent e)
- {}
-
- public void doWidgetSelected(SelectionEvent e)
- {}
-
- /**
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(SelectionEvent)
- */
- public void widgetDefaultSelected(SelectionEvent e)
- {
- if (isListenerEnabled() &&
- getInput() != null &&
- !isInDoHandle &&
- !isReadOnly)
- {
- isInDoHandle = true;
- doWidgetDefaultSelected(e);
- isInDoHandle = false;
- }
-
- }
-
- /**
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e)
- {
- if (isListenerEnabled() &&
- getInput() != null &&
- !isInDoHandle &&
- !isReadOnly)
- {
- isInDoHandle = true;
- doWidgetSelected(e);
- isInDoHandle = false;
- }
-
- }
-
- boolean listenerEnabled = true;
- /**
- * Get the value of listenerEnabled.
- * @return value of listenerEnabled.
- */
- public boolean isListenerEnabled()
- {
- return listenerEnabled;
- }
-
- /**
- * Set the value of listenerEnabled.
- * @param v Value to assign to listenerEnabled.
- */
- public void setListenerEnabled(boolean v)
- {
- this.listenerEnabled = v;
- }
-
- public void handleEvent(Event event)
- {
- if (isListenerEnabled() && !isInDoHandle && !isReadOnly)
- {
- isInDoHandle = true;
- startDelayedEvent(event);
- isInDoHandle = false;
- } // end of if ()
- }
-
- public void doHandleEvent(Event event)
- {
-
- }
-
- protected DelayedEvent delayedTask;
-
- protected void startDelayedEvent(Event e)
- {
- if (delayedTask == null ||
- delayedTask.getEvent() == null)
- {
- delayedTask = new DelayedEvent();
- delayedTask.setEvent(e);
- Display.getDefault().timerExec(500,delayedTask);
- }
- else
- {
- Event delayedEvent = delayedTask.getEvent();
-
- if (e.widget == delayedEvent.widget &&
- e.type == delayedEvent.type)
- {
- // same event, just different data, delay new event
- delayedTask.setEvent(null);
- }
- delayedTask = new DelayedEvent();
- delayedTask.setEvent(e);
- Display.getDefault().timerExec(500,delayedTask);
- }
- }
-
- class DelayedEvent implements Runnable
- {
- protected Event event;
-
- /*
- * @see Runnable#run()
- */
- public void run()
- {
- if (event != null)
- {
- isInDoHandle = true;
- doHandleEvent(event);
- isInDoHandle = false;
- event = null;
- }
- }
-
- /**
- * Gets the event.
- * @return Returns a Event
- */
- public Event getEvent()
- {
- return event;
- }
-
- /**
- * Sets the event.
- * @param event The event to set
- */
- public void setEvent(Event event)
- {
- this.event = event;
- }
-
- }
-
- boolean isInDoHandle;
- /**
- * Get the value of isInDoHandle.
- * @return value of isInDoHandle.
- */
- public boolean isInDoHandle()
- {
- return isInDoHandle;
- }
-
-
- protected IEditorPart getActiveEditor()
- {
- IWorkbench workbench = XSDEditorPlugin.getPlugin().getWorkbench();
- IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
- IEditorPart editorPart = workbenchWindow.getActivePage().getActiveEditor();
-// IEditorPart editorPart = part.getSite().getWorkbenchWindow().getActivePage().getActiveEditor();
-
- return editorPart;
- }
-
- static protected IStatusLineManager getStatusLineManager(IEditorPart editorPart)
- {
- IStatusLineManager result = null;
- try
- {
- EditorActionBarContributor contributor = (EditorActionBarContributor)editorPart.getEditorSite().getActionBarContributor();
- result = contributor.getActionBars().getStatusLineManager();
- }
- catch (Exception e)
- {
- }
- return result;
- }
-
- protected XSDDOMHelper domHelper = new XSDDOMHelper();
- /**
- * Gets the domHelper.
- * @return Returns a XSDDomHelper
- */
- public XSDDOMHelper getDomHelper()
- {
- return domHelper;
- }
-
- public DocumentImpl getDocument(Element element)
- {
- return (DocumentImpl) element.getOwnerDocument();
- }
-
- public void beginRecording(String description, Element element)
- {
- getDocument(element).getModel().beginRecording(this, description);
- }
-
- public void endRecording(Element element)
- {
- DocumentImpl doc = (DocumentImpl) getDocument(element);
-
- doc.getModel().endRecording(this);
- }
-
- protected boolean validateName(String name)
- {
- try
- {
- return NameValidator.isValid(name);
- }
- catch (Exception e)
- {
- return false;
- }
- }
-
- // TODO
- protected boolean validateLanguage(String lang)
- {
- return true;
- }
-
- // TODO
- protected boolean validatePrefix(String prefix)
- {
- return true;
- }
-
-
- protected Action getNewElementAction(String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- CreateElementAction action = new CreateElementAction(label);
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- action.setXSDSchema(getSchema());
- action.setSelectionProvider(null);
- return action;
- }
-
- public void setErrorMessage(String message)
- {
- if (statusLine != null)
- {
- statusLine.setErrorMessage(message);
- statusLine.update(true);
- }
- }
-
- public void clearErrorMessage()
- {
- if (statusLine != null)
- {
- statusLine.setErrorMessage(null);
- statusLine.update(false);
- }
- }
-
- EditorActionBarContributor contributor;
- protected IStatusLineManager getStatusLine()
- {
-// IWorkbench workbench = XSDEditorPlugin.getPlugin().getWorkbench();
-// IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
- IEditorPart editorPart = part.getSite().getWorkbenchWindow().getActivePage().getActiveEditor();
-
- if (statusLine == null)
- {
- try
- {
- contributor = (EditorActionBarContributor)editorPart.getEditorSite().getActionBarContributor();
- statusLine = contributor.getActionBars().getStatusLineManager();
- }
- catch (Exception e)
- {
- }
- }
- return statusLine;
- }
-
- /**
- * Get the standard label width when labels for sections line up on the left
- * hand side of the composite. We line up to a fixed position, but if a
- * string is wider than the fixed position, then we use that widest string.
- *
- * @param parent
- * The parent composite used to create a GC.
- * @param labels
- * The list of labels.
- * @return the standard label width.
- */
- protected int getStandardLabelWidth(Composite parent, String[] labels) {
- int standardLabelWidth = 100; // STANDARD_LABEL_WIDTH;
- GC gc = new GC(parent);
- int indent = gc.textExtent("XXX").x; //$NON-NLS-1$
- for (int i = 0; i < labels.length; i++) {
- int width = gc.textExtent(labels[i]).x;
- if (width + indent > standardLabelWidth) {
- standardLabelWidth = width + indent;
- }
- }
- gc.dispose();
- return standardLabelWidth;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSectionDescriptor.java
deleted file mode 100644
index 68bc6f7990..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSectionDescriptor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.wst.common.ui.properties.ISectionDescriptor;
-import org.eclipse.wst.common.ui.properties.ITypeMapper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-
-public class AbstractSectionDescriptor implements ISectionDescriptor
-{
- /**
- *
- */
- public AbstractSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getFilter()
- */
- public ITypeMapper getFilter()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDConcreteComponent.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDConcreteComponent || object instanceof Element)
- {
- return true;
- }
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getAfterSection()
- */
- public String getAfterSection()
- {
- return "";
- }
-
- protected boolean inputEquals(Object input, String tagname, boolean isRef)
- {
- return XSDDOMHelper.inputEquals(input, tagname, isRef);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSection.java
deleted file mode 100644
index 75da7205e1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSection.java
+++ /dev/null
@@ -1,595 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFacet;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.XSDXPathDefinition;
-import org.eclipse.xsd.impl.XSDFactoryImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class AnnotationSection extends AbstractSection
-{
- DocumentationWorkbookPage documentationPage;
- AppInfoWorkbookPage appInfoPage;
- XSDWorkbook workbook;
- XSDFactory factory;
-
- /**
- *
- */
- public AnnotationSection()
- {
- super();
- factory = new XSDFactoryImpl();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
-// Composite composite = getWidgetFactory().createFlatFormComposite(parent);
-// Composite composite = new Composite(parent, SWT.NONE);
- FormData data;
-
- workbook = new XSDWorkbook(parent, SWT.BOTTOM | SWT.FLAT);
-
- documentationPage = new DocumentationWorkbookPage(workbook);
- appInfoPage = new AppInfoWorkbookPage(workbook);
-
- documentationPage.activate();
- appInfoPage.activate();
- workbook.setSelectedPage(documentationPage);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- if (doRefresh)
- {
- if (documentationPage.getDocumentationText().isFocusControl() || appInfoPage.getAppInfoText().isFocusControl())
- {
- return;
- }
-
- if (isReadOnly)
- {
- documentationPage.setEnabled(false);
- appInfoPage.setEnabled(false);
- }
- else
- {
- documentationPage.setEnabled(true);
- appInfoPage.setEnabled(true);
- }
- setListenerEnabled(false);
- Object input = getInput();
- if (input != null)
- {
- XSDAnnotation xsdAnnotation = getInputXSDAnnotation(false);
- setInitialText(xsdAnnotation);
- }
- setListenerEnabled(true);
- }
- }
-
-
- public void doHandleEvent(Event event)
- {
- Object input = getInput();
- if (input != null)
- {
- XSDAnnotation xsdAnnotation = getInputXSDAnnotation(true);
-
- if (event.widget == documentationPage.getDocumentationText())
- {
- documentationPage.doHandleEvent(xsdAnnotation);
- }
- else if (event.widget == appInfoPage.getAppInfoText())
- {
- appInfoPage.doHandleEvent(xsdAnnotation);
- }
- }
-
- }
-
- protected XSDAnnotation getInputXSDAnnotation(boolean createIfNotExist)
- {
- XSDAnnotation xsdAnnotation = null;
-
- if (input instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration xsdComp = (XSDAttributeDeclaration)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDAttributeGroupDefinition)
- {
- XSDAttributeGroupDefinition xsdComp = (XSDAttributeGroupDefinition)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdComp = (XSDElementDeclaration)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDNotationDeclaration)
- {
- XSDNotationDeclaration xsdComp =(XSDNotationDeclaration)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDXPathDefinition)
- {
- XSDXPathDefinition xsdComp = (XSDXPathDefinition)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDModelGroup)
- {
- XSDModelGroup xsdComp = (XSDModelGroup)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDModelGroupDefinition)
- {
- XSDModelGroupDefinition xsdComp = (XSDModelGroupDefinition)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDIdentityConstraintDefinition)
- {
- XSDIdentityConstraintDefinition xsdComp = (XSDIdentityConstraintDefinition)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDWildcard)
- {
- XSDWildcard xsdComp = (XSDWildcard)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDSchema)
- {
- XSDSchema xsdComp = (XSDSchema)input;
- List list = xsdComp.getAnnotations();
- if (list.size() > 0)
- {
- xsdAnnotation = (XSDAnnotation)list.get(0);
- }
- else
- {
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- if (xsdComp.getContents() != null)
- {
- xsdComp.getContents().add(0, xsdAnnotation);
- }
- }
- }
- return xsdAnnotation;
- }
- else if (input instanceof XSDFacet)
- {
- XSDFacet xsdComp = (XSDFacet)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDTypeDefinition)
- {
- XSDTypeDefinition xsdComp = (XSDTypeDefinition)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDInclude)
- {
- XSDInclude xsdComp = (XSDInclude)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDImport)
- {
- XSDImport xsdComp = (XSDImport)input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDRedefine)
- {
- XSDRedefine xsdComp = (XSDRedefine)input;
- List list = xsdComp.getAnnotations();
- if (list.size() > 0)
- {
- xsdAnnotation = (XSDAnnotation)list.get(0);
- }
- else
- {
- if (createIfNotExist && xsdAnnotation == null)
- {
-// ?
- }
- }
- return xsdAnnotation;
- }
- else if (input instanceof XSDAnnotation)
- {
- xsdAnnotation = (XSDAnnotation)input;
- }
-
- if (createIfNotExist)
- {
- formatAnnotation(xsdAnnotation);
- }
-
- return xsdAnnotation;
- }
-
- private void formatAnnotation(XSDAnnotation annotation)
- {
- Element element = annotation.getElement();
- XSDDOMHelper.formatChild(element);
- }
-
-
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
- public void dispose()
- {
- factory = null;
- }
-
- private void setInitialText(XSDAnnotation an)
- {
- if (documentationPage != null)
- {
- documentationPage.setText("");
- }
- if (appInfoPage != null)
- {
- appInfoPage.setText("");
- }
-
- if (an != null)
- {
- Element element = an.getElement();
- try
- {
- if (element.hasChildNodes())
- {
- // if the element is Text
- Element docElement = (Element)domHelper.getChildNode(element, XSDConstants.DOCUMENTATION_ELEMENT_TAG);
- if (docElement != null)
- {
- Node node = docElement.getFirstChild();
- if (node instanceof CharacterData)
- {
- documentationPage.setText( ((CharacterData)node).getData());
- }
- }
-
- Element appInfoElement = (Element)domHelper.getChildNode(element, XSDConstants.APPINFO_ELEMENT_TAG);
- if (appInfoElement != null)
- {
- Node node = appInfoElement.getFirstChild();
- if (node instanceof CharacterData)
- {
- appInfoPage.setText( ((CharacterData)node).getData());
- }
- }
-
- }
- }
- catch (Exception e)
- {
-
- }
- }
- }
-
-
- class DocumentationWorkbookPage extends XSDWorkbookPage
- {
- Text documentationText;
- Composite page1;
-
- public DocumentationWorkbookPage(XSDWorkbook workbook)
- {
- super(workbook);
- this.getTabItem().setText("Documentation");
- }
-
- public void setText(String value)
- {
- documentationText.setText(value);
- }
-
- public void setEnabled(boolean state)
- {
- page1.setEnabled(state);
- }
-
- public String getText()
- {
- return documentationText.getText();
- }
-
- public Text getDocumentationText()
- {
- return documentationText;
- }
-
- public Control createControl (Composite parent)
- {
- page1 = getWidgetFactory().createFlatFormComposite(parent);
- documentationText = getWidgetFactory().createText(page1, "", SWT.V_SCROLL | SWT.H_SCROLL);
- documentationText.addListener(SWT.Modify, AnnotationSection.this);
-
- FormData data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(0, 0);
- data.bottom = new FormAttachment(100, 0);
- documentationText.setLayoutData(data);
-
- return page1;
- }
-
- public void doHandleEvent(XSDAnnotation xsdAnnotation)
- {
- if (xsdAnnotation != null)
- {
- Element element = xsdAnnotation.getElement();
- List documentationList = xsdAnnotation.getUserInformation();
- Element documentationElement = null;
- if (documentationList.size() > 0)
- {
- documentationElement = (Element)documentationList.get(0);
- }
-
- beginRecording(XSDEditorPlugin.getXSDString("_UI_DOCUMENTATION_COMMENT_CHANGE"), element);
-
- if (documentationElement == null)
- {
- documentationElement = xsdAnnotation.createUserInformation(null);
- element.appendChild(documentationElement);
- XSDDOMHelper.formatChild(documentationElement);
- // Defect in model....I create it but the model object doesn't appear to be updated
- // Notice that it is fine for appinfo
- xsdAnnotation.updateElement();
- xsdAnnotation.setElement(element);
- }
-
- String newValue = documentationText.getText();
- if (documentationElement != null)
- {
- try
- {
- if (documentationElement.hasChildNodes())
- {
- // if the element is Text
- Node node = documentationElement.getFirstChild();
- if (node instanceof CharacterData)
- {
- ((CharacterData)node).setData(newValue);
- }
- }
- else
- {
- if (newValue.length() > 0)
- {
- Node childNode = documentationElement.getOwnerDocument().createTextNode(newValue);
- documentationElement.appendChild(childNode);
- }
- }
- }
- catch (Exception e)
- {
-
- }
- }
- endRecording(element);
- }
- }
- }
-
- class AppInfoWorkbookPage extends XSDWorkbookPage
- {
- Text appInfoText;
- Composite page2;
-
- public AppInfoWorkbookPage(XSDWorkbook workbook)
- {
- super(workbook);
- this.getTabItem().setText("App Info");
- }
-
- public void setText(String value)
- {
- appInfoText.setText(value);
- }
-
- public String getText()
- {
- return appInfoText.getText();
- }
-
- public Text getAppInfoText()
- {
- return appInfoText;
- }
-
- public void setEnabled(boolean state)
- {
- page2.setEnabled(state);
- }
-
- public Control createControl (Composite parent)
- {
- page2 = getWidgetFactory().createFlatFormComposite(parent);
- appInfoText = getWidgetFactory().createText(page2, "", SWT.V_SCROLL | SWT.H_SCROLL);
- appInfoText.addListener(SWT.Modify, AnnotationSection.this);
-
- FormData data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(100, 0);
- //data.top = new FormAttachment(documentationText, +ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(0, 0);
- data.bottom = new FormAttachment(100, 0);
- appInfoText.setLayoutData(data);
-
- return page2;
- }
-
- public void doHandleEvent(XSDAnnotation xsdAnnotation)
- {
- if (xsdAnnotation != null)
- {
- Element element = xsdAnnotation.getElement();
- List appInfoList = xsdAnnotation.getApplicationInformation();
-
- Element appInfoElement = null;
- if (appInfoList.size() > 0)
- {
- appInfoElement = (Element)appInfoList.get(0);
- }
-
- beginRecording(XSDEditorPlugin.getXSDString("_UI_COMMENT_CHANGE"), element);
- if (appInfoElement == null)
- {
- appInfoElement = xsdAnnotation.createApplicationInformation(null);
- element.appendChild(appInfoElement);
- XSDDOMHelper.formatChild(appInfoElement);
- }
-
- String newValue = appInfoText.getText();
- if (appInfoElement != null)
- {
- try
- {
- if (appInfoElement.hasChildNodes())
- {
- // if the element is Text
- Node node = appInfoElement.getFirstChild();
- if (node instanceof CharacterData)
- {
- ((CharacterData)node).setData(newValue);
- }
- }
- else
- {
- if (newValue.length() > 0)
- {
- Node childNode = appInfoElement.getOwnerDocument().createTextNode(newValue);
- appInfoElement.appendChild(childNode);
- }
- }
- }
- catch (Exception e)
- {
-
- }
- endRecording(element);
- }
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSectionDescriptor.java
deleted file mode 100644
index e6bf7b89be..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSectionDescriptor.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFacet;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.XSDXPathDefinition;
-
-public class AnnotationSectionDescriptor extends AbstractSectionDescriptor
-{
- /**
- *
- */
- public AnnotationSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.annotation";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDAnnotation.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new AnnotationSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.documentation";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDAttributeDeclaration ||
- object instanceof XSDAttributeGroupDefinition ||
- object instanceof XSDElementDeclaration ||
- object instanceof XSDNotationDeclaration ||
- object instanceof XSDXPathDefinition ||
- object instanceof XSDModelGroup ||
- object instanceof XSDModelGroupDefinition ||
- object instanceof XSDIdentityConstraintDefinition ||
- object instanceof XSDWildcard ||
- object instanceof XSDSchema ||
- object instanceof XSDFacet ||
- object instanceof XSDTypeDefinition ||
- object instanceof XSDAnnotation ||
- object instanceof XSDSchemaDirective)
- {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewContentProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewContentProvider.java
deleted file mode 100644
index 3b647359bc..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewContentProvider.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDAbstractAdapter;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDAdapterFactoryLabelProvider;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDModelAdapterFactoryImpl;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-
-
-public class AttributesViewContentProvider implements ITreeContentProvider, ITableLabelProvider, ILabelProvider, INotifyChangedListener
-{
- IEditorPart editorPart;
-
- static XSDModelAdapterFactoryImpl xsdModelAdapterFactory = new XSDModelAdapterFactoryImpl(); // XSDTextEditor.getXSDModelAdapterFactory();
- static XSDAdapterFactoryLabelProvider adapterFactoryLabelProvider = new XSDAdapterFactoryLabelProvider(xsdModelAdapterFactory); // XSDTextEditor.getLabelProvider();
-
- XSDAbstractAdapter elementAdapter;
- XSDAbstractAdapter ctAdapter;
- XSDComplexTypeDefinition ct;
-
- /**
- *
- */
- public AttributesViewContentProvider()
- {
- super();
-// if (xsdModelAdapterFactory instanceof IChangeNotifier)
-// {
-// ((IChangeNotifier)xsdModelAdapterFactory).addListener(this);
-// }
-
- }
-
- Viewer attributesViewer;
- public AttributesViewContentProvider(IEditorPart editorPart, Viewer viewer)
- {
- super();
- this.editorPart = editorPart;
- this.attributesViewer = viewer;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
- */
- public Object[] getChildren(Object inputElement)
- {
- List list = new ArrayList();
- ct = null;
- if (inputElement instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElement = (XSDElementDeclaration)inputElement;
-
- if (elementAdapter != null)
- {
- elementAdapter.removeListener((INotifyChangedListener)this);
- }
- elementAdapter = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(xsdElement, xsdModelAdapterFactory);
- elementAdapter.addListener((INotifyChangedListener)this);
-
- if (xsdElement.getAnonymousTypeDefinition() instanceof XSDComplexTypeDefinition)
- {
- ct = (XSDComplexTypeDefinition)xsdElement.getAnonymousTypeDefinition();
- }
- else
- {
- XSDTypeDefinition xsdType = xsdElement.getTypeDefinition();
- if (xsdType instanceof XSDComplexTypeDefinition)
- {
- ct = (XSDComplexTypeDefinition)xsdType;
- }
- }
- }
- else if (inputElement instanceof XSDComplexTypeDefinition)
- {
- ct = (XSDComplexTypeDefinition)inputElement;
- }
-
- if (ct != null)
- {
- if (ctAdapter != null)
- {
- ctAdapter.removeListener((INotifyChangedListener)this);
- }
- ctAdapter = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(ct, xsdModelAdapterFactory);
- ctAdapter.addListener((INotifyChangedListener)this);
-
- XSDWildcard wildcard = ct.getAttributeWildcard();
- if (wildcard != null)
- {
- list.add(wildcard);
- }
-
- Iterator i = ct.getAttributeContents().iterator();
- while (i.hasNext())
- {
- XSDAttributeGroupContent attributeGroupContent = (XSDAttributeGroupContent)i.next();
- if (attributeGroupContent instanceof XSDAttributeGroupDefinition)
- {
- XSDAttributeGroupDefinition attributeGroupDefinition = (XSDAttributeGroupDefinition)attributeGroupContent;
- XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(attributeGroupDefinition, xsdModelAdapterFactory);
- a.removeListener((INotifyChangedListener)this);
- a.addListener((INotifyChangedListener)this);
- list.add(attributeGroupDefinition);
- }
- else if (attributeGroupContent instanceof XSDAttributeUse)
- {
- XSDAttributeUse attributeUse = (XSDAttributeUse)attributeGroupContent;
-
- XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
-
- boolean isRef = XSDDOMHelper.isAttributeRef(ct.getElement(), attribute.getQName(), attribute.getTargetNamespace());
-
- if (isRef)
- {
- XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(attributeUse, xsdModelAdapterFactory);
- a.removeListener((INotifyChangedListener)this);
- a.addListener((INotifyChangedListener)this);
- list.add(attributeUse);
- }
- else
- {
- XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(attribute, xsdModelAdapterFactory);
- a.removeListener((INotifyChangedListener)this);
- a.addListener((INotifyChangedListener)this);
- list.add(attribute);
- }
- }
- }
- }
- return list.toArray();
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
- */
- public Object getParent(Object element)
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
- */
- public boolean hasChildren(Object element)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
- */
- public Image getColumnImage(Object element, int columnIndex)
- {
- if (element instanceof XSDConcreteComponent)
- {
- return adapterFactoryLabelProvider.getImage((XSDConcreteComponent)element);
- }
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
- */
- public String getColumnText(Object element, int columnIndex)
- {
- if (element instanceof XSDConcreteComponent)
- {
- XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt((XSDConcreteComponent)element, xsdModelAdapterFactory);
- return a.getText((XSDConcreteComponent)element);
- }
- return "";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
- */
- public Image getImage(Object element)
- {
- if (element instanceof XSDConcreteComponent)
- {
- return adapterFactoryLabelProvider.getImage((XSDConcreteComponent)element);
- }
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- */
- public String getText(Object element)
- {
- if (element instanceof XSDConcreteComponent)
- {
- XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt((XSDConcreteComponent)element, xsdModelAdapterFactory);
- return a.getText((XSDConcreteComponent)element);
- }
- return "";
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- */
- public Object[] getElements(Object inputElement)
- {
- return getChildren(inputElement);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
- */
- public void dispose()
- {
- if (elementAdapter != null)
- {
- elementAdapter.removeListener(this);
- }
- if (ctAdapter != null)
- {
- ctAdapter.removeListener((INotifyChangedListener)this);
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
- */
- Viewer viewer;
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
-// System.out.println("input changed " + oldInput + "\n" + newInput);
- this.viewer = viewer;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
- */
- public void addListener(ILabelProviderListener listener)
- {
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
- */
- public boolean isLabelProperty(Object element, String property)
- {
- return false;
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
- */
- public void removeListener(ILabelProviderListener listener)
- {
- }
-
- public void notifyChanged(Notification notification)
- {
- if (attributesViewer != null && !attributesViewer.getControl().isDisposed())
- {
- if (attributesViewer instanceof StructuredViewer)
- {
- attributesViewer.refresh();
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSection.java
deleted file mode 100644
index 8b79242b9d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSection.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.XSDMenuListener;
-import org.eclipse.wst.xsd.ui.internal.actions.AddAttributeAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateAttributeAndRequired;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.actions.DeleteAction;
-import org.eclipse.wst.xsd.ui.internal.properties.XSDPropertySourceProvider;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class AttributesViewSection extends AbstractSection implements ISelectionChangedListener
-{
- AttributeTableTreeViewer viewer;
- AttributesPropertySheetPage propertySheetPage;
-
- /**
- *
- */
- public AttributesViewSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory) {
- super.createControls(parent, factory);
-
- composite = getWidgetFactory().createFlatFormComposite(parent);
- SashForm sashForm = new SashForm(composite, SWT.HORIZONTAL);
-
- FormData data = new FormData();
- data.top = new FormAttachment(0, 0);
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(100, 0);
- data.bottom = new FormAttachment(100, 0);
- sashForm.setLayoutData(data);
-
- viewer = new AttributeTableTreeViewer(sashForm);
- propertySheetPage = new AttributesPropertySheetPage();
- propertySheetPage.createControl(sashForm);
-
- AttributesViewContentProvider provider = new AttributesViewContentProvider(getActiveEditor(), viewer);
- viewer.setContentProvider(provider);
-
- viewer.setLabelProvider(provider);
- viewer.addSelectionChangedListener(this);
-
- propertySheetPage.setPropertySourceProvider(new XSDPropertySourceProvider());
- }
-
- public void setInput(IWorkbenchPart part, ISelection selection)
- {
- super.setInput(part, selection);
- if (input instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)input;
- if (elementDeclaration.isElementDeclarationReference())
- {
- input = elementDeclaration.getResolvedElementDeclaration();
-
- isReadOnly = (!(elementDeclaration.getResolvedElementDeclaration().getRootContainer() == xsdSchema));
- }
- }
- }
-
- public void selectionChanged(SelectionChangedEvent event)
- {
- propertySheetPage.selectionChanged(part, event.getSelection());
- }
-
- public void selectionChanged(IWorkbenchPart part, ISelection selection)
- {
- }
-
- public void aboutToBeShown()
- {
- refresh();
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
- setListenerEnabled(false);
- if (viewer != null)
- {
- viewer.setInput(getInput());
- viewer.refresh();
- }
- setListenerEnabled(true);
- }
-
- public void dispose()
- {
-// if (propertySheetPage != null)
-// {
-// propertySheetPage.dispose();
-// propertySheetPage = null;
-// }
-// if (viewer != null)
-// {
-// viewer = null;
-// }
- }
-
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
-
- class AttributeTableTreeViewer extends TreeViewer // ExtendedTableTreeViewer
- {
- public AttributeTableTreeViewer(Composite c)
- {
- super(c);
-
- MenuManager menuManager = new MenuManager("#popup");//$NON-NLS-1$
- menuManager.setRemoveAllWhenShown(true);
- Menu menu = menuManager.createContextMenu(getTree());
- getTree().setMenu(menu);
-
- XSDAttributeMenuListener menuListener = new XSDAttributeMenuListener(this);
- menuManager.addMenuListener(menuListener);
-
- }
-
- public class XSDAttributeMenuListener extends XSDMenuListener
- {
- public XSDAttributeMenuListener(TreeViewer viewer)
- {
- super(viewer);
- selectionProvider = viewer;
-
- deleteAction = new DeleteAction(XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE"), AttributesViewSection.this.getActiveEditor(), getXSDSchema());
- deleteAction.setSelectionProvider(selectionProvider);
- selectionProvider.addSelectionChangedListener(deleteAction);
- }
-
- protected XSDSchema getXSDSchema()
- {
- return xsdSchema;
-// return getSchema();
-// XSDConcreteComponent xsdInput = (XSDConcreteComponent)AttributesViewSection.this.getInput();
-// return xsdInput.getSchema();
- }
-
- protected Object getSelectedElement()
- {
- XSDComponent xsdInput = (XSDComponent)AttributesViewSection.this.getInput();
-
- if (xsdInput instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElement = (XSDElementDeclaration)xsdInput;
- XSDTypeDefinition xsdType = xsdElement.getType();
- if (xsdType instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)xsdType;
- return ct;
- }
- return xsdElement;
- }
- else if (xsdInput instanceof XSDComplexTypeDefinition)
- {
- return xsdInput;
- }
-
- return null;
- }
-
- public void menuAboutToShow(IMenuManager manager)
- {
- updateXSDSchema();
- if (xsdSchema == null)
- {
- return;
- }
-
- Object selectedElementObj = getSelectedElement();
-
- Element selectedElement = null;
-
- if (selectedElementObj instanceof XSDComplexTypeDefinition)
- {
- selectedElement = ((XSDComplexTypeDefinition)selectedElementObj).getElement();
- }
-
- addContextItems(manager, selectedElement, null);
-
- if (!selectionProvider.getSelection().isEmpty())
- {
- // Add context menu items for selected element
-// addContextItems(manager, selectedElement, null);
-
- manager.add(new Separator());
- if (deleteAction != null)
- {
- deleteAction.setXSDSchema(getXSDSchema());
- manager.add(deleteAction);
- }
- }
- }
-
- protected void addContextItems(IMenuManager manager, Element parent, Node relativeNode)
- {
- ArrayList attributes = null;
- if (XSDDOMHelper.inputEquals(parent, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
- { //
- boolean annotationExists = false;
- boolean contentExists = false;
- boolean complexOrSimpleContentExists = false;
- boolean anyAttributeExists = false;
- Node annotationNode = null;
- Element contentNode = null;
- Node anyAttributeNode = null;
- NodeList children = parent.getChildNodes();
-
- for (int i=0; i < children.getLength(); i++)
- {
- Node child = children.item(i);
- if (child != null && child instanceof Element)
- {
- if (XSDDOMHelper.inputEquals((Element)child, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
- {
- annotationNode = child;
- annotationExists = true;
- }
- else if (XSDDOMHelper.inputEquals((Element)child, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals((Element)child, XSDConstants.ALL_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals((Element)child, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals((Element)child, XSDConstants.GROUP_ELEMENT_TAG, true) ||
- XSDDOMHelper.inputEquals((Element)child, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals((Element)child, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- contentExists = true;
- contentNode = (Element)child;
-
- if (XSDDOMHelper.inputEquals((Element)child, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals((Element)child, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- complexOrSimpleContentExists = true;
- }
- }
- else if (XSDDOMHelper.inputEquals((Element)child, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false))
- {
- anyAttributeExists = true;
- anyAttributeNode = child;
- }
- }
- }
-// addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-// manager.add(new Separator());
-// addSetBaseTypeAction(manager, parent);
-// if (annotationExists)
-// {
-// if (!contentExists)
-// {
-// addCreateElementAction(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, annotationNode.getNextSibling());
-// addCreateSimpleContentAction(manager, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_CONTENT"), attributes, parent, annotationNode.getNextSibling());
-// addCreateSimpleContentAction(manager, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_CONTENT"), attributes, parent, annotationNode.getNextSibling());
-// addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, annotationNode.getNextSibling());
-// attributes = null;
-// }
-// }
-// else
-// {
-// if (!contentExists)
-// {
-// addCreateElementAction(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, parent.getFirstChild());
-// addCreateSimpleContentAction(manager, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_CONTENT"), attributes, parent, parent.getFirstChild());
-// addCreateSimpleContentAction(manager, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_CONTENT"), attributes, parent, parent.getFirstChild());
-// addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, parent.getFirstChild());
-// attributes = null;
-// }
-// }
-//
-// manager.add(new Separator());
-
- if (anyAttributeExists)
- {
- if (!complexOrSimpleContentExists)
- {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE,
- getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
- attributes = null;
-// ARE ATTRIBUTE GROUPS ALLOWED ?
-// addCreateElementAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, "_UI_ACTION_ADD_ATTRIBUTE_GROUP", attributes, parent, anyAttributeNode);
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
- }
- }
- else
- {
- if (!complexOrSimpleContentExists)
- {
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE,
- getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
- attributes = null;
- addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
- }
- else
- {
- // new model based add attribute action
- XSDComplexTypeDefinition xsdCT = (XSDComplexTypeDefinition)getXSDSchema().getCorrespondingComponent(parent);
- manager.add(new AddAttributeAction(XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), xsdCT));
-
- Element derivedByElement = domHelper.getDerivedByElement(contentNode);
- if (derivedByElement != null)
- {
- attributes = null;
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), derivedByElement, derivedByElement.getLastChild());
- addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), derivedByElement, derivedByElement.getLastChild());
- attributes = null;
- addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, derivedByElement, derivedByElement.getLastChild());
- }
- }
- }
- }
- else if (parent == null) {
- XSDElementDeclaration ed = (XSDElementDeclaration)input;
- if (ed.getTypeDefinition() != null)
- {
- XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
- }
-
- // Add Attribute
- attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE,
- getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
- attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
- manager.add(new CreateAttributeAndRequired(XSDConstants.ATTRIBUTE_ELEMENT_TAG,
- XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"),
- attributes,
- getXSDSchema(),
- selectionProvider,
- ed));
-
- // Add Attribute Reference
- attributes = null;
- attributes = new ArrayList();
- String ref = getFirstGlobalElementTagName(XSDConstants.ATTRIBUTE_ELEMENT_TAG);
- attributes.add(new DOMAttribute(XSDConstants.REF_ATTRIBUTE, ref));
-
- Action action = new CreateAttributeAndRequired(XSDConstants.ATTRIBUTE_ELEMENT_TAG,
- XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"),
- attributes,
- getXSDSchema(),
- selectionProvider,
- ed);
- manager.add(action);
- action.setEnabled(ref != null);
-
- // Add Attribute Group Reference
- attributes = null;
- attributes = new ArrayList();
- ref = getFirstGlobalElementTagName(XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG);
- attributes.add(new DOMAttribute(XSDConstants.REF_ATTRIBUTE, ref));
-
- action = new CreateAttributeAndRequired(XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
- XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"),
- attributes,
- getXSDSchema(),
- selectionProvider,
- ed);
-
- manager.add(action);
- action.setEnabled(ref != null);
-
- // Add Any Attribute
- attributes = null;
- if (getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false) == null)
- {
- action = new CreateAttributeAndRequired(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG,
- XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"),
- attributes,
- getXSDSchema(),
- selectionProvider,
- ed);
- manager.add(action);
- }
- }
- }
- }
- }
-
- class AttributesPropertySheetPage extends PropertySheetPage implements INotifyChangedListener
- {
- public AttributesPropertySheetPage()
- {
- super();
- }
-
- public void notifyChanged(Notification notification)
- {
- System.out.println("Notification");
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSectionDescriptor.java
deleted file mode 100644
index 51f233c1e7..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSectionDescriptor.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-
-public class AttributesViewSectionDescriptor extends AbstractSectionDescriptor
-{
- /**
- *
- */
- public AttributesViewSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.attributes";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDElementDeclaration.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new AttributesViewSection();
- }
-
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDElementDeclaration)
- {
-// Remove this to fix bug 3870 Element references should have the same properties as elements
-// XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)object;
-// if (elementDeclaration.isElementDeclarationReference())
-// {
-// return false;
-// }
- return true;
- }
- else if (object instanceof XSDComplexTypeDefinition)
- {
- return true;
- }
- }
- return false;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.attributes";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getAfterSection()
- */
- public String getAfterSection()
- {
- return "";
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSection.java
deleted file mode 100644
index 4de57c5aad..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSection.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.SetBaseTypeAction;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class ComplexTypeSection extends AbstractSection
-{
- private String DERIVED_BY_ID = "derived by"; // XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY"); //$NON-NLS-1$
- private String BASE_TYPE_ID = "base type"; // XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE"); //$NON-NLS-1$
- private String derivedByChoicesComboValues[] =
- {
- "",
- XSDConstants.RESTRICTION_ELEMENT_TAG,
- XSDConstants.EXTENSION_ELEMENT_TAG
- };
-
- /**
- *
- */
- public ComplexTypeSection()
- {
- super();
- }
-
- Text baseTypeCombo;
- CCombo derivedByCombo;
- Button button;
-
- /**
- * A helper to listen for events that indicate that a text
- * field has been changed.
- */
- private TextChangeHelper listener = new TextChangeHelper()
- {
- public void textChanged(Control control)
- {
- Object input = getInput();
- refresh();
- }
- };
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
- baseTypeCombo = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- CLabel baseTypeLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON")); //$NON-NLS-1$
-
- button = getWidgetFactory().createButton(composite, "", SWT.PUSH);
- button.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
- baseTypeCombo.setEditable(false);
- baseTypeCombo.addListener(SWT.Modify, this);
-
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(button, 0);
- baseTypeCombo.setLayoutData(data);
-
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(baseTypeCombo, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(button, 0, SWT.CENTER);
- baseTypeLabel.setLayoutData(data);
-
- button.addSelectionListener(this);
- data = new FormData();
- data.left = new FormAttachment(100, -rightMarginSpace + 2);
- data.right = new FormAttachment(100,0);
- data.top = new FormAttachment(baseTypeCombo, 0, SWT.CENTER);
- button.setLayoutData(data);
-
- derivedByCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(baseTypeCombo, +ITabbedPropertyConstants.VSPACE);
- derivedByCombo.setLayoutData(data);
- derivedByCombo.setItems(derivedByChoicesComboValues);
- derivedByCombo.addSelectionListener(this);
-
- CLabel derivedByLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY")); //$NON-NLS-1$
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(derivedByCombo, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(derivedByCombo, 0, SWT.CENTER);
- derivedByLabel.setLayoutData(data);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- setListenerEnabled(false);
-
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
-
- Object input = getInput();
- baseTypeCombo.setText(""); //$NON-NLS-1$
-
- if (input instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition)input;
- Element element = complexType.getElement();
- Element contentModelElement = getDomHelper().getContentModelFromParent(element);
- String baseType = getDomHelper().getBaseType(contentModelElement);
-
- derivedByCombo.setText(getDomHelper().getDerivedByName(contentModelElement));
-
- if (baseType != null)
- {
- baseTypeCombo.setText(baseType);
- }
- }
-
- setListenerEnabled(true);
- }
-
- /**
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e)
- {
- XSDComplexTypeDefinition xsdComplexType = (XSDComplexTypeDefinition)getInput();
- Element ctElement = xsdComplexType.getElement();
- if (e.widget == button)
- {
- Shell shell = Display.getCurrent().getActiveShell();
- Element element = null;
- if (xsdComplexType.getContent() != null)
- {
- element = ((XSDComplexTypeDefinition)getInput()).getContent().getElement();
- }
-
- SimpleContentBaseTypeOptionsDialog dialog = new SimpleContentBaseTypeOptionsDialog(shell, element, BASE_TYPE_ID, ((XSDConcreteComponent)getInput()).getSchema());
-
- dialog.setBlockOnOpen(true);
- dialog.create();
-
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- String typeString = dialog.getType();
-
- String derivedBy = getDomHelper().getDerivedByName(element);
- SetBaseTypeAction setBaseTypeAction = new SetBaseTypeAction(XSDEditorPlugin.getXSDString("_UI_LABEL_SET_BASE_TYPE")); //$NON-NLS-1$
- setBaseTypeAction.setXSDSchema(xsdSchema);
- setBaseTypeAction.setComplexTypeElement(ctElement);
- setBaseTypeAction.setType(typeString);
- setBaseTypeAction.setDerivedBy(derivedBy);
- setBaseTypeAction.performAction();
-
- }
-
- refresh();
- }
- else if (e.widget == derivedByCombo)
- {
- Element contentModelElement = getDomHelper().getContentModelFromParent(ctElement);
- String baseType = getDomHelper().getBaseType(contentModelElement);
- beginRecording(XSDEditorPlugin.getXSDString("_UI_DERIVEDBY_CHANGE"), ctElement); //$NON-NLS-1$
- Element derivedByElem = getDomHelper().getDerivedByElement(ctElement);
- if (contentModelElement != null)
- {
- getDomHelper().changeDerivedByType(contentModelElement, derivedByCombo.getText(), baseType);
- }
- endRecording(ctElement);
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSectionDescriptor.java
deleted file mode 100644
index c71d770cae..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSectionDescriptor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-
-public class ComplexTypeSectionDescriptor extends AbstractSectionDescriptor
-{
- /**
- *
- */
- public ComplexTypeSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDComplexTypeDefinition.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new ComplexTypeSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDComplexTypeDefinition)
- {
- return true;
- }
- }
- return false;
- }
-
- public String getAfterSection()
- {
- return "com.ibm.xsdeditor.section.name";
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSection.java
deleted file mode 100644
index d2dd2db349..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSection.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.common.ui.viewers.NavigableTableViewer;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.AddEnumsAction;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDEnumerationFacet;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDVariety;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class EnumerationsSection extends AbstractSection
-{
- private EnumerationsTableViewer enumerationsTable;
- private Button addButton;
- private Button addManyButton;
- private Button deleteButton;
-
- /**
- *
- */
- public EnumerationsSection()
- {
- super();
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
- Element element = st.getElement();
- if (e.widget == addButton || e.widget == addManyButton)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
-
- int variety = st.getVariety().getValue();
- Node varietyElement = null;
- if (variety == XSDVariety.ATOMIC)
- {
- varietyElement = helper.getChildNode(element, XSDConstants.RESTRICTION_ELEMENT_TAG);
- }
- else if (variety == XSDVariety.UNION)
- {
- varietyElement = helper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
- }
- else if (variety == XSDVariety.LIST)
- {
- varietyElement = helper.getChildNode(element, XSDConstants.LIST_ELEMENT_TAG);
- }
-
- if (varietyElement != null)
- {
- if (e.widget == addButton)
- {
- java.util.List attributes = new ArrayList();
-
- List enumList = st.getEnumerationFacets();
- StringBuffer newName = new StringBuffer("value1"); //$NON-NLS-1$
- int suffix = 1;
- for (Iterator i = enumList.iterator(); i.hasNext(); )
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)i.next();
- String value = enumFacet.getLexicalValue();
- if (value != null)
- {
- if (value.equals(newName.toString()))
- {
- suffix++;
- newName = new StringBuffer("value" + String.valueOf(suffix)); //$NON-NLS-1$
- }
- }
- }
- attributes.add(new DOMAttribute(XSDConstants.VALUE_ATTRIBUTE, newName.toString()));
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUM"), element); //$NON-NLS-1$
- Action action = getNewElementAction(XSDConstants.ENUMERATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUM"), attributes, (Element)varietyElement, null);
- action.run();
- st.setElement(element);
-
- endRecording(element);
- enumerationsTable.refresh();
- int newItemIndex = enumerationsTable.getTable().getItemCount() - 1;
- enumerationsTable.editElement(enumerationsTable.getElementAt(newItemIndex), 0);
- attributes = null;
- }
- else if (e.widget == addManyButton)
- {
- AddEnumsAction action = new AddEnumsAction(XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUMS")); //$NON-NLS-1$
- action.setElementTag(XSDConstants.ENUMERATION_ELEMENT_TAG);
- action.setAttributes(null);
- action.setParentNode((Element)varietyElement);
- action.setRelativeNode(null);
- action.setDescription(XSDEditorPlugin.getXSDString("_UI_ENUMERATIONS_DIALOG_TITLE")); //$NON-NLS-1$
- action.run();
- st.setElement(element);
- enumerationsTable.refresh();
- }
- }
- }
- else if (e.widget == deleteButton)
- {
- StructuredSelection selection = (StructuredSelection)enumerationsTable.getSelection();
- if (selection != null)
- {
- Iterator i = selection.iterator();
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_ENUMERATION"), element); //$NON-NLS-1$
- while (i.hasNext())
- {
- Object obj = i.next();
- if (obj != null)
- {
- if (obj instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)obj;
-
- // I have to update using DOM
- XSDDOMHelper.removeNodeAndWhitespace(enumFacet.getElement());
-
- }
- }
- }
- enumerationsTable.refresh();
- st.setElement(element);
- endRecording(element);
- }
- }
- else if (e.widget == enumerationsTable.getTable())
- {
- StructuredSelection selection = (StructuredSelection)enumerationsTable.getSelection();
- if (selection.getFirstElement() != null)
- {
- deleteButton.setEnabled(true);
- }
- else
- {
- deleteButton.setEnabled(false);
- }
- }
-
- }
-
- public void widgetDefaultSelected(SelectionEvent e)
- {
-
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
-
- composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
- GC gc = new GC(parent);
- Point extent = gc.textExtent(" " + XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_INCLUDE") + " "); //$NON-NLS-1$
- gc.dispose();
-
- enumerationsTable = new EnumerationsTableViewer(getWidgetFactory().createTable(composite, SWT.MULTI | SWT.FULL_SELECTION));
- enumerationsTable.setInput(getInput());
- Table table = enumerationsTable.getTable();
- table.addSelectionListener(this);
-
- addButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_ADD_BUTTON_LABEL"), SWT.PUSH); //$NON-NLS-1$
- addManyButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_ADD_BUTTON_LABEL") + "...", SWT.PUSH); //$NON-NLS-1$
- deleteButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_INCLUDE"), SWT.PUSH); //$NON-NLS-1$
-
- FormData data2 = new FormData();
- data2.top = new FormAttachment(0, 0);
- data2.left = new FormAttachment(100, -100);
- data2.right = new FormAttachment(100, 0);
-// data2.width = 50;
- addButton.setLayoutData(data2);
- addButton.addSelectionListener(this);
-
- data = new FormData();
- data.left = new FormAttachment(addButton, 0, SWT.LEFT);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(addButton, 0);
- addManyButton.setLayoutData(data);
- addManyButton.addSelectionListener(this);
-
- data = new FormData();
- data.left = new FormAttachment(addButton, 0, SWT.LEFT);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(addManyButton, 0);
- deleteButton.setLayoutData(data);
- deleteButton.setEnabled(false);
- deleteButton.addSelectionListener(this);
-
- data = new FormData();
- data.top = new FormAttachment(0, 0);
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(addButton, 0);
- data.bottom = new FormAttachment(100, 0);
- data.width = tableMinimumWidth;
- table.setLayoutData(data);
- table.addListener(SWT.Resize, this);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- Object input = getInput();
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
- Element element = st.getElement();
- XSDDOMHelper helper = new XSDDOMHelper();
- Node restrictionElement = helper.getChildNode(element, XSDConstants.RESTRICTION_ELEMENT_TAG);
-
- Iterator validFacets = st.getValidFacets().iterator();
-
- boolean isApplicable = false;
- while (validFacets.hasNext())
- {
- String aValidFacet = (String)validFacets.next();
- if (aValidFacet.equals(XSDConstants.ENUMERATION_ELEMENT_TAG))
- {
- isApplicable = true;
- }
- }
-
- if (isApplicable)
-// if (restrictionElement != null)
- {
- addButton.setEnabled(true);
- addManyButton.setEnabled(true);
- }
- else
- {
- addButton.setEnabled(false);
- addManyButton.setEnabled(false);
- }
- enumerationsTable.setInput(input);
- }
-
- public void handleEvent(Event event)
- {
- Table table = enumerationsTable.getTable();
- if (event.type == SWT.Resize && event.widget == table)
- {
- TableColumn tableColumn = table.getColumn(0);
- tableColumn.setWidth(table.getSize().x);
- }
- }
-
- public void dispose()
- {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
-
- class EnumerationsTableViewer extends NavigableTableViewer implements ICellModifier
- {
- protected String[] columnProperties = {XSDConstants.ENUMERATION_ELEMENT_TAG};
-
- protected CellEditor[] cellEditors;
-
- Table table;
-
- public EnumerationsTableViewer(Table table)
- {
- super(table);
- table = getTable();
-
- table.setLinesVisible(true);
-
- setContentProvider(new EnumerationsTableContentProvider());
- setLabelProvider(new EnumerationsTableLabelProvider());
- setColumnProperties(columnProperties);
-
- setCellModifier(this);
-
- TableColumn column = new TableColumn(table, SWT.NONE, 0);
- column.setText(columnProperties[0]);
- column.setAlignment(SWT.LEFT);
- column.setResizable(true);
-
- cellEditors = new CellEditor[1];
-
- TableLayout layout = new TableLayout();
- ColumnWeightData data = new ColumnWeightData(100);
-
- layout.addColumnData(data);
- cellEditors[0] = new TextCellEditor(table);
-
- getTable().setLayout(layout);
- setCellEditors(cellEditors);
- }
-
- public boolean canModify(Object element, String property)
- {
- return true;
- }
-
- public void modify(Object element, String property, Object value)
- {
- if (element instanceof TableItem && (value != null))
- {
- TableItem item = (TableItem)element;
-
- Element simpleTypeElement = ((XSDSimpleTypeDefinition)getInput()).getElement();
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ENUM_VALUE_CHANGE"), simpleTypeElement); //$NON-NLS-1$
-
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)item.getData();
- enumFacet.setLexicalValue((String)value);
- item.setData(enumFacet);
- item.setText((String)value);
- endRecording(simpleTypeElement);
- }
- }
-
- public Object getValue(Object element, String property)
- {
- if (element instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)element;
- String value = enumFacet.getLexicalValue();
- if (value == null) value = ""; //$NON-NLS-1$
- return value;
- }
- return ""; //$NON-NLS-1$
- }
-
- }
-
- class EnumerationsTableContentProvider implements IStructuredContentProvider
- {
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- }
-
- public java.lang.Object[] getElements(java.lang.Object inputElement)
- {
- java.util.List list = new ArrayList();
- if (inputElement instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)inputElement;
- return st.getEnumerationFacets().toArray();
- }
- return list.toArray();
- }
-
- public void dispose()
- {
- }
- }
-
- class EnumerationsTableLabelProvider extends LabelProvider implements ITableLabelProvider
- {
- public EnumerationsTableLabelProvider()
- {
-
- }
-
- public Image getColumnImage(Object element, int columnIndex)
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDSimpleEnum.gif");
- }
-
- public String getColumnText(Object element, int columnIndex)
- {
- if (element instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)element;
- String value = enumFacet.getLexicalValue();
- if (value == null) value = "";
- return value;
- }
- return "";
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSectionDescriptor.java
deleted file mode 100644
index 2f8aa672b9..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSectionDescriptor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-
-public class EnumerationsSectionDescriptor extends AbstractSectionDescriptor
-{
-
- /**
- *
- */
- public EnumerationsSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.enumerations";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDSimpleTypeDefinition.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new EnumerationsSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.enumerations";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDSimpleTypeDefinition)
- {
- return true;
- // return false; // turn off this tab
- }
- }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetViewer.java
deleted file mode 100644
index 0ec654e461..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetViewer.java
+++ /dev/null
@@ -1,498 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.common.ui.WindowUtility;
-import org.eclipse.wst.common.ui.viewers.NavigableTableViewer;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.properties.XSDComboBoxPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConstrainingFacet;
-import org.eclipse.xsd.XSDMaxExclusiveFacet;
-import org.eclipse.xsd.XSDMaxFacet;
-import org.eclipse.xsd.XSDMaxInclusiveFacet;
-import org.eclipse.xsd.XSDMinExclusiveFacet;
-import org.eclipse.xsd.XSDMinFacet;
-import org.eclipse.xsd.XSDMinInclusiveFacet;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.impl.XSDFactoryImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class FacetViewer extends NavigableTableViewer implements ICellModifier
-{
- public static final String FACET_NAME = XSDEditorPlugin.getXSDString("_UI_FACET_NAME"); // "Name";
- public static final String FACET_VALUE = XSDEditorPlugin.getXSDString("_UI_FACET_VALUE"); // "Value";
- public static final String FACET_OTHER = XSDEditorPlugin.getXSDString("_UI_FACET_FIXED"); // "Fixed";
-
- protected FacetsTableLabelProvider facetsTableLabelProvider = new FacetsTableLabelProvider();
- protected FacetsTableContentProvider facetsTableContentProvider = new FacetsTableContentProvider();
- protected String[] columnProperties = {FACET_NAME, FACET_VALUE, FACET_OTHER};
- protected CellEditor[] cellEditors; // these cellEditors are used when non-whitespace facet is selected
- protected CellEditor[] altCellEditors; // these cellEditors are used when whitespace facet is selected
-
- protected String [] whiteSpaceValues = new String[] {"", "preserve", "replace", "collapse" };
- protected String [] trueFalseValues = new String [] {"", "false", "true" };
- protected FacetsSection facetsSection;
- /**
- * @param parent
- */
- public FacetViewer(Composite parent, FacetsSection facetsSection)
- {
- super(new Table(parent, SWT.FULL_SELECTION | SWT.SINGLE));
- this.facetsSection = facetsSection;
-
- getTable().setLinesVisible(true);
- getTable().setHeaderVisible(true);
-
- addSelectionChangedListener(new SelectionChangedListener());
- getTable().addMouseTrackListener(new MyMouseTrackListener());
-
- setContentProvider(facetsTableContentProvider);
- setLabelProvider(facetsTableLabelProvider);
- setColumnProperties(columnProperties);
-
- setCellModifier(this);
-
- for (int i = 0; i < 3; i++)
- {
- TableColumn column = new TableColumn(getTable(), SWT.NONE, i);
- column.setText(columnProperties[i]);
- column.setAlignment(SWT.LEFT);
- column.setResizable(true);
- }
-
- cellEditors = new CellEditor[3];
- altCellEditors = new CellEditor[3];
-
- TableLayout layout = new TableLayout();
- ColumnWeightData data = new ColumnWeightData(60, 120, true);
- layout.addColumnData(data);
- cellEditors[0] = null;
-
- ColumnWeightData data2 = new ColumnWeightData(120, 100, true);
- layout.addColumnData(data2);
-
- cellEditors[1] = new TextCellEditor(getTable());
- XSDComboBoxPropertyDescriptor pd = new XSDComboBoxPropertyDescriptor("combo", "whitespace", whiteSpaceValues);
- altCellEditors[1] = pd.createPropertyEditor(getTable());
-
- ColumnWeightData data3 = new ColumnWeightData(60, 80, true);
- layout.addColumnData(data3);
-
- XSDComboBoxPropertyDescriptor pd2 = new XSDComboBoxPropertyDescriptor("combo", "other", trueFalseValues);
- cellEditors[2] = pd2.createPropertyEditor(getTable());
- altCellEditors[2] = pd2.createPropertyEditor(getTable());
-
- getTable().setLayout(layout);
- setCellEditors(cellEditors);
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)
- */
- public boolean canModify(Object element, String property)
- {
- return property.equals(FACET_VALUE) || property.equals(FACET_OTHER);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String)
- */
- public Object getValue(Object element, String property)
- {
- int column = 0;
- if (property.equals(columnProperties[0]))
- {
- column = 0;
- }
- else if (property.equals(columnProperties[1]))
- {
- column = 1;
- }
- else if (property.equals(columnProperties[2]))
- {
- column = 2;
- }
-
- return facetsTableLabelProvider.getColumnText(element, column);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object)
- */
- public void modify(Object element, String property, Object value)
- {
- XSDSimpleTypeDefinition xsdSimpleType = (XSDSimpleTypeDefinition)getInput();
- TableItem item = (TableItem)element;
- if (item != null)
- {
- Object o = item.getData();
- if (o != null)
- {
- if (o instanceof String)
- {
- String facet = (String)o;
-
- Element simpleTypeElement = xsdSimpleType.getElement();
- XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
- Element derivedByElement = xsdDOMHelper.getDerivedByElement(simpleTypeElement);
-
- facetsSection.beginRecording(XSDEditorPlugin.getXSDString("_UI_FACET_CHANGE"), simpleTypeElement);
-
- String prefix = simpleTypeElement.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
-
- Element childNodeElement = null;
- DOMAttribute valueAttr = null;
-
- XSDConstrainingFacet targetFacet = getXSDConstrainingFacet(facet);
-
- String newValue = "";
- if (value != null && value instanceof String)
- {
- newValue = (String)value;
- }
-
- if (property.equals(columnProperties[1]))
- {
- if (targetFacet == null && newValue.length() > 0)
- {
- targetFacet = createFacet(facet);
- childNodeElement = (derivedByElement.getOwnerDocument()).createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + facet);
- valueAttr = new DOMAttribute(XSDConstants.VALUE_ATTRIBUTE, newValue);
- childNodeElement.setAttribute(valueAttr.getName(), valueAttr.getValue());
- // add and format child
- derivedByElement.appendChild(childNodeElement);
- targetFacet.setElement(childNodeElement);
- XSDDOMHelper.formatChild(childNodeElement);
-
-// XSDSchemaHelper.updateElement(xsdSimpleType);
- }
- if (targetFacet == null)
- {
- facetsSection.endRecording(simpleTypeElement);
- return;
- }
-
- if (newValue.length() > 0)
- {
- targetFacet.setLexicalValue(newValue);
-
- if (targetFacet instanceof XSDMaxFacet || targetFacet instanceof XSDMinFacet)
- {
- Element elementFacet = targetFacet.getElement();
-
- if (targetFacet instanceof XSDMaxFacet)
- {
- if (targetFacet instanceof XSDMaxExclusiveFacet)
- {
- XSDMaxInclusiveFacet xsdMaxInclusiveFacet = xsdSimpleType.getMaxInclusiveFacet();
- if (xsdMaxInclusiveFacet != null)
- {
- Element xsdMaxInclusiveFacetElement = xsdMaxInclusiveFacet.getElement();
- XSDDOMHelper.removeNodeAndWhitespace(xsdMaxInclusiveFacetElement);
- }
- }
- else if (targetFacet instanceof XSDMaxInclusiveFacet)
- {
- XSDMaxExclusiveFacet xsdMaxExclusiveFacet = xsdSimpleType.getMaxExclusiveFacet();
- if (xsdMaxExclusiveFacet != null)
- {
- Element xsdMaxExclusiveFacetElement = xsdMaxExclusiveFacet.getElement();
- XSDDOMHelper.removeNodeAndWhitespace(xsdMaxExclusiveFacetElement);
- }
- }
- }
- else if (targetFacet instanceof XSDMinFacet)
- {
- if (targetFacet instanceof XSDMinExclusiveFacet)
- {
- XSDMinInclusiveFacet xsdMinInclusiveFacet = xsdSimpleType.getMinInclusiveFacet();
- if (xsdMinInclusiveFacet != null)
- {
- Element xsdMinInclusiveFacetElement = xsdMinInclusiveFacet.getElement();
- XSDDOMHelper.removeNodeAndWhitespace(xsdMinInclusiveFacetElement);
- }
- }
- else if (targetFacet instanceof XSDMinInclusiveFacet)
- {
- XSDMinExclusiveFacet xsdMinExclusiveFacet = xsdSimpleType.getMinExclusiveFacet();
- if (xsdMinExclusiveFacet != null)
- {
- Element xsdMinExclusiveFacetElement = xsdMinExclusiveFacet.getElement();
- XSDDOMHelper.removeNodeAndWhitespace(xsdMinExclusiveFacetElement);
- }
- }
- }
- }
- }
- else // newValue.length == 0
- {
- Element targetFacetElement = targetFacet.getElement();
- XSDDOMHelper.removeNodeAndWhitespace(targetFacetElement);
- }
- }
- else if (property.equals(columnProperties[2]))
- {
- if (targetFacet != null)
- {
- if (newValue.length() > 0)
- {
- targetFacet.getElement().setAttribute(XSDConstants.FIXED_ATTRIBUTE, newValue);
- }
- else
- {
- targetFacet.getElement().removeAttribute(XSDConstants.FIXED_ATTRIBUTE);
- }
- }
- }
- xsdSimpleType.setElement(simpleTypeElement);
- //xsdSimpleType.updateElement();
- facetsSection.endRecording(simpleTypeElement);
- refresh();
- }
- }
- }
- }
-
-
- private XSDConstrainingFacet getXSDConstrainingFacet(String facetString)
- {
- XSDSimpleTypeDefinition xsdSimpleType = (XSDSimpleTypeDefinition)getInput();
- List list = xsdSimpleType.getFacetContents();
- if (list == null)
- {
- return null;
- }
- Iterator iter = list.iterator();
- XSDConstrainingFacet targetFacet = null;
-
- while (iter.hasNext())
- {
- XSDConstrainingFacet xsdConstrainingFacet = (XSDConstrainingFacet)iter.next();
- if (xsdConstrainingFacet.getFacetName().equals(facetString))
- {
- targetFacet = xsdConstrainingFacet;
- break;
- }
- }
- return targetFacet;
- }
-
- private XSDConstrainingFacet createFacet(String facet)
- {
- XSDFactoryImpl factory = new XSDFactoryImpl();
- XSDConstrainingFacet xsdFacet = null;
- if (facet.equals("length")) { xsdFacet = factory.createXSDLengthFacet(); }
- else if (facet.equals("minLength")) { xsdFacet = factory.createXSDMinLengthFacet(); }
- else if (facet.equals("maxLength")) { xsdFacet = factory.createXSDMaxLengthFacet(); }
-
- else if (facet.equals("minInclusive")) { xsdFacet = factory.createXSDMinInclusiveFacet(); }
- else if (facet.equals("minExclusive")) { xsdFacet = factory.createXSDMinExclusiveFacet(); }
-
- else if (facet.equals("maxInclusive")) { xsdFacet = factory.createXSDMaxInclusiveFacet(); }
- else if (facet.equals("maxExclusive")) { xsdFacet = factory.createXSDMaxExclusiveFacet(); }
-
- else if (facet.equals("totalDigits")) { xsdFacet = factory.createXSDTotalDigitsFacet(); }
- else if (facet.equals("fractionDigits")) { xsdFacet = factory.createXSDFractionDigitsFacet(); }
-
- else if (facet.equals("whiteSpace")) { xsdFacet = factory.createXSDWhiteSpaceFacet(); }
-
- return xsdFacet;
- }
-
- /**
- * Get the tooltip for the facet
- */
- public String getToolTip(String facet)
- {
- String key = "";
- if (facet.equals("length")) { key = "_UI_TOOLTIP_LENGTH"; }
- else if (facet.equals("minLength")) { key = "_UI_TOOLTIP_MIN_LEN"; }
- else if (facet.equals("maxLength")) { key = "_UI_TOOLTIP_MAX_LEN"; }
-
- else if (facet.equals("minInclusive")) { key = "_UI_TOOLTIP_MIN_INCLUSIVE"; }
- else if (facet.equals("minExclusive")) { key = "_UI_TOOLTIP_MIN_EXCLUSIVE"; }
-
- else if (facet.equals("maxInclusive")) { key = "_UI_TOOLTIP_MAX_INCLUSIVE"; }
- else if (facet.equals("maxExclusive")) { key = "_UI_TOOLTIP_MAX_EXCLUSIVE"; }
-
- else if (facet.equals("totalDigits")) { key = "_UI_TOOLTIP_TOTAL_DIGITS"; }
- else if (facet.equals("fractionDigits")) { key = "_UI_TOOLTIP_FRACTION_DIGITS"; }
-
- else if (facet.equals("whiteSpace")) { key = "_UI_TOOLTIP_WHITE_SPACE"; }
-
- return (key != null) ? XSDEditorPlugin.getXSDString(key) : "";
- }
-
- /**
- * This listener detects which row is selected and add a tool tip for that row
- */
- public class MyMouseTrackListener extends MouseTrackAdapter
- {
- public void mouseHover(MouseEvent e)
- {
- TableItem item = getTable().getItem(new Point(e.x, e.y));
- if (item != null)
- {
- Object o = item.getData();
- if (o != null)
- {
- String facetName = (String)o;
- getTable().setToolTipText(getToolTip(facetName));
- }
- }
- }
- }
-
- /**
- * Based on the selection, detects if it is a white space or not, and add the
- * corresponding cell editors
- */
- public class SelectionChangedListener implements ISelectionChangedListener
- {
- public void selectionChanged(SelectionChangedEvent event)
- {
- Object o = WindowUtility.getSelection(event.getSelection());
- if (o != null)
- {
- String facet = (String)o;
- if (facet.equals("whiteSpace"))
- {
- setCellEditors(altCellEditors);
- }
- else
- {
- setCellEditors(cellEditors);
- }
- }
- }
- }
-
-
- class FacetsTableContentProvider implements IStructuredContentProvider
- {
- protected String facet;
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- }
-
- public java.lang.Object[] getElements(java.lang.Object inputElement)
- {
- XSDDOMHelper xsdDomHelper = new XSDDOMHelper();
-
- String facet = "";
- Vector v = new Vector();
- XSDSimpleTypeDefinition inputXSDSimpleType = (XSDSimpleTypeDefinition)inputElement;
- XSDSimpleTypeDefinition base = inputXSDSimpleType.getBaseTypeDefinition();
-
- if (base != null)
- {
- Iterator validFacets = base.getValidFacets().iterator();
- while (validFacets.hasNext())
- {
- String aValidFacet = (String)validFacets.next();
- if (!(aValidFacet.equals("pattern") || aValidFacet.equals("enumeration")))
- {
- v.add(aValidFacet);
- }
- }
- }
- return v.toArray();
- }
-
- public void dispose()
- {
- }
- }
-
- class FacetsTableLabelProvider extends LabelProvider implements ITableLabelProvider
- {
- public Image getColumnImage(Object element, int columnIndex)
- {
- return null;
- }
-
- public String getColumnText(Object element, int columnIndex)
- {
- if (element instanceof String)
- {
- String value = null;
- XSDConstrainingFacet targetFacet = getXSDConstrainingFacet((String)element);
- switch (columnIndex)
- {
- case 0:
- {
- value = (String)element;
- break;
- }
- case 1:
- {
- if (targetFacet == null)
- {
- value = "";
- }
- else
- {
- value = targetFacet.getLexicalValue();
- }
-
- break;
- }
- case 2:
- {
- if (targetFacet == null)
- {
- value = "";
- }
- else
- {
- Element elem = targetFacet.getElement();
- value = elem.getAttribute(XSDConstants.FIXED_ATTRIBUTE);
- if (value == null) value = "";
- }
- }
- }
- return value;
- }
- return "";
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSection.java
deleted file mode 100644
index e6a80ba53b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSection.java
+++ /dev/null
@@ -1,802 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.common.ui.viewers.NavigableTableViewer;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.wst.xsd.ui.internal.wizards.RegexWizard;
-import org.eclipse.xsd.XSDPatternFacet;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDVariety;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class FacetsSection extends AbstractSection
-{
- IWorkbenchPart part;
- ISelection selection;
- FacetViewer facetViewer;
-
- XSDWorkbook workbook;
- FacetsWorkbookPage facetsWorkbookPage;
-// If you want to add the enumerations tab to this facets tab
-// EnumsWorkbookPage enumsWorkbookPage;
- PatternsWorkbookPage patternsWorkbookPage;
-
- /**
- *
- */
- public FacetsSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
-
- workbook = new XSDWorkbook(parent, SWT.BOTTOM | SWT.FLAT);
-
- facetsWorkbookPage = new FacetsWorkbookPage(workbook, this);
-// enumsWorkbookPage = new EnumsWorkbookPage(workbook);
- patternsWorkbookPage = new PatternsWorkbookPage(workbook);
- facetsWorkbookPage.activate();
-// enumsWorkbookPage.activate();
- patternsWorkbookPage.activate();
- workbook.setSelectedPage(facetsWorkbookPage);
- }
-
- public void selectionChanged(IWorkbenchPart part, ISelection selection)
- {
- this.part = part;
- this.selection = selection;
- }
-
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- Object input = getInput();
-
- if (isReadOnly)
- {
- facetViewer.getControl().getParent().setEnabled(false);
- }
- else
- {
- facetViewer.getControl().getParent().setEnabled(true);
- }
-
- if (facetViewer != null)
- {
- facetViewer.setInput(input);
- }
-
-// if (enumsWorkbookPage != null)
-// {
-// enumsWorkbookPage.setInput(input);
-// }
-
- if (patternsWorkbookPage != null)
- {
- patternsWorkbookPage.setInput(input);
- }
- }
-
- public void dispose()
- {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
-
- /* General Facets Page */
-
- class FacetsWorkbookPage extends XSDWorkbookPage
- {
- FacetsSection facetsSection;
- Composite page1;
-
- public FacetsWorkbookPage(XSDWorkbook workbook, FacetsSection facetsSection)
- {
- super(workbook);
- this.getTabItem().setText(XSDEditorPlugin.getXSDString("_UI_LABEL_FACETS")); //$NON-NLS-1$
- this.facetsSection = facetsSection;
- }
-
- public Control createControl (Composite parent)
- {
- page1 = getWidgetFactory().createFlatFormComposite(parent);
-
- FormData data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(0, 0);
- data.bottom = new FormAttachment(100, 0);
-
- facetViewer = new FacetViewer(page1, facetsSection);
- facetViewer.setInput(getInput());
- facetViewer.getControl().setLayoutData(data);
-
- return page1;
- }
- }
-
- /* Enumerations Page */
-
-// class EnumsWorkbookPage extends XSDWorkbookPage implements SelectionListener
-// {
-// EnumerationsTableViewer enumerationsTable;
-// Button addButton;
-// Button deleteButton;
-//
-// public EnumsWorkbookPage(XSDWorkbook workbook)
-// {
-// super(workbook);
-// this.getTabItem().setText("Enumerations");
-// }
-//
-// public Control createControl (Composite parent)
-// {
-// Composite composite = getWidgetFactory().createFlatFormComposite(parent);
-// FormData data;
-//
-// addButton = getWidgetFactory().createButton(composite, "Add", SWT.PUSH);
-// deleteButton = getWidgetFactory().createButton(composite, "Delete", SWT.PUSH);
-// enumerationsTable = new EnumerationsTableViewer(getWidgetFactory().createTable(composite, SWT.MULTI | SWT.FULL_SELECTION));
-//
-// enumerationsTable.setInput(getInput());
-// Table table = enumerationsTable.getTable();
-// table.addSelectionListener(this);
-//
-// data = new FormData();
-// data.left = new FormAttachment(deleteButton, 0, SWT.LEFT);
-// data.right = new FormAttachment(100, 0);
-// data.top = new FormAttachment(0, 0);
-// data.bottom = new FormAttachment(deleteButton, 0); //-ITabbedPropertyConstants.VSPACE);
-// addButton.setLayoutData(data);
-// addButton.addSelectionListener(this);
-//
-// data = new FormData();
-// data.left = new FormAttachment(table, +ITabbedPropertyConstants.HSPACE);
-// data.right = new FormAttachment(100, 0);
-// data.top = new FormAttachment(addButton, 0);
-//// data.bottom = new FormAttachment(deleteButton, +ITabbedPropertyConstants.VSPACE);
-// deleteButton.setLayoutData(data);
-// deleteButton.setEnabled(false);
-// deleteButton.addSelectionListener(this);
-//
-// data = new FormData();
-// data.left = new FormAttachment(0, 0);
-// data.right = new FormAttachment(85, 0);
-// data.top = new FormAttachment(0, 0);
-// data.bottom = new FormAttachment(100, 0);
-// table.setLayoutData(data);
-//
-// return composite;
-// }
-//
-// public void setInput(Object input)
-// {
-// enumerationsTable.setInput(input);
-// }
-//
-// public void widgetSelected(SelectionEvent e)
-// {
-// XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
-// Element element = st.getElement();
-// if (e.widget == addButton)
-// {
-// XSDDOMHelper helper = new XSDDOMHelper();
-//
-// int variety = st.getVariety().getValue();
-// Node varietyElement = null;
-// if (variety == XSDVariety.ATOMIC)
-// {
-// varietyElement = helper.getChildNode(element, XSDConstants.RESTRICTION_ELEMENT_TAG);
-// }
-// else if (variety == XSDVariety.UNION)
-// {
-// varietyElement = helper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
-// }
-// else if (variety == XSDVariety.LIST)
-// {
-// varietyElement = helper.getChildNode(element, XSDConstants.LIST_ELEMENT_TAG);
-// }
-//
-// if (varietyElement != null)
-// {
-// java.util.List attributes = new ArrayList();
-// attributes.add(new DOMAttribute(XSDConstants.VALUE_ATTRIBUTE, ""));
-// beginRecording("Add Enumeration", element);
-// Action action = getNewElementAction(XSDConstants.ENUMERATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUM"), attributes, (Element)varietyElement, null);
-// action.run();
-// st.setElement(element);
-//
-// endRecording(element);
-// enumerationsTable.refresh();
-// attributes = null;
-// }
-// }
-// else if (e.widget == deleteButton)
-// {
-// StructuredSelection selection = (StructuredSelection)enumerationsTable.getSelection();
-// if (selection != null)
-// {
-// Iterator i = selection.iterator();
-// beginRecording("Delete Enumeration", element);
-// while (i.hasNext())
-// {
-// Object obj = i.next();
-// if (obj != null)
-// {
-// if (obj instanceof XSDEnumerationFacet)
-// {
-// XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)obj;
-//
-// // I have to update using DOM
-// XSDDOMHelper.removeNodeAndWhitespace(enumFacet.getElement());
-//
-// }
-// }
-// }
-// enumerationsTable.refresh();
-// st.setElement(element);
-// endRecording(element);
-// }
-// }
-// else if (e.widget == enumerationsTable.getTable())
-// {
-// StructuredSelection selection = (StructuredSelection)enumerationsTable.getSelection();
-// if (selection.getFirstElement() != null)
-// {
-// deleteButton.setEnabled(true);
-// }
-// else
-// {
-// deleteButton.setEnabled(false);
-// }
-// }
-//
-// }
-//
-// public void widgetDefaultSelected(SelectionEvent e)
-// {
-//
-// }
-// }
-//
-// class EnumerationsTableViewer extends NavigableTableViewer implements ICellModifier
-// {
-// protected String[] columnProperties = {"Enumeration"};
-//
-// protected CellEditor[] cellEditors;
-//
-// Table table;
-//
-// public EnumerationsTableViewer(Table table)
-// {
-// super(table);
-// table = getTable();
-//
-// table.setLinesVisible(true);
-//
-// setContentProvider(new EnumerationsTableContentProvider());
-// setLabelProvider(new EnumerationsTableLabelProvider());
-// setColumnProperties(columnProperties);
-//
-// setCellModifier(this);
-//
-// TableColumn column = new TableColumn(table, SWT.NONE, 0);
-// column.setText(columnProperties[0]);
-// column.setAlignment(SWT.LEFT);
-//
-// cellEditors = new CellEditor[1];
-//
-// TableLayout layout = new TableLayout();
-// ColumnWeightData data = new ColumnWeightData(100);
-// layout.addColumnData(data);
-// cellEditors[0] = new TextCellEditor(table);
-//
-// getTable().setLayout(layout);
-// setCellEditors(cellEditors);
-// }
-//
-// public boolean canModify(Object element, String property)
-// {
-// return true;
-// }
-//
-// public void modify(Object element, String property, Object value)
-// {
-// if (element instanceof TableItem && (value != null))
-// {
-// TableItem item = (TableItem)element;
-//
-// Element simpleTypeElement = ((XSDSimpleTypeDefinition)getInput()).getElement();
-// FacetsSection.this.beginRecording(XSDEditorPlugin.getXSDString("_UI_ENUM_VALUE_CHANGE"), simpleTypeElement);
-//
-// XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)item.getData();
-// enumFacet.setLexicalValue((String)value);
-// item.setData(enumFacet);
-// item.setText((String)value);
-// FacetsSection.this.endRecording(simpleTypeElement);
-// }
-// }
-//
-// public Object getValue(Object element, String property)
-// {
-// if (element instanceof XSDEnumerationFacet)
-// {
-// XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)element;
-// String value = enumFacet.getLexicalValue();
-// if (value == null) value = "";
-// return value;
-// }
-// return "";
-// }
-//
-// }
-//
-// class EnumerationsTableContentProvider implements IStructuredContentProvider
-// {
-// public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-// {
-// }
-//
-// public java.lang.Object[] getElements(java.lang.Object inputElement)
-// {
-// java.util.List list = new ArrayList();
-// if (inputElement instanceof XSDSimpleTypeDefinition)
-// {
-// XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)inputElement;
-// return st.getEnumerationFacets().toArray();
-// }
-// return list.toArray();
-// }
-//
-// public void dispose()
-// {
-// }
-// }
-//
-// class EnumerationsTableLabelProvider extends LabelProvider implements ITableLabelProvider
-// {
-// public EnumerationsTableLabelProvider()
-// {
-//
-// }
-//
-// public Image getColumnImage(Object element, int columnIndex)
-// {
-// return XSDEditorPlugin.getXSDImage("icons/XSDSimpleEnum.gif");
-// }
-//
-// public String getColumnText(Object element, int columnIndex)
-// {
-// if (element instanceof XSDEnumerationFacet)
-// {
-// XSDEnumerationFacet enum = (XSDEnumerationFacet)element;
-// String value = enum.getLexicalValue();
-// if (value == null) value = "";
-// return value;
-// }
-// return "";
-// }
-//
-// }
-
- /* Patterns Page */
-
- class PatternsWorkbookPage extends XSDWorkbookPage implements SelectionListener, Listener
- {
- PatternsTableViewer patternsTable;
- Button addButton;
- Button deleteButton;
- Button editButton;
- Composite composite;
-
- public PatternsWorkbookPage(XSDWorkbook workbook)
- {
- super(workbook);
- this.getTabItem().setText(XSDEditorPlugin.getXSDString("_UI_LABEL_PATTERNS")); //$NON-NLS-1$
- }
-
- public Control createControl (Composite parent)
- {
- composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
- patternsTable = new PatternsTableViewer(getWidgetFactory().createTable(composite, SWT.MULTI | SWT.FULL_SELECTION));
- patternsTable.setInput(getInput());
- Table table = patternsTable.getTable();
- table.addSelectionListener(this);
-
- addButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_ADD"), SWT.PUSH); //$NON-NLS-1$
- editButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_EDIT"), SWT.PUSH); //$NON-NLS-1$
- deleteButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_INCLUDE"), SWT.PUSH); //$NON-NLS-1$
-
- data = new FormData();
- data.left = new FormAttachment(100, -100);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(0, 0);
- addButton.setLayoutData(data);
- addButton.addSelectionListener(this);
-
- data = new FormData();
- data.left = new FormAttachment(addButton, 0, SWT.LEFT);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(addButton, 0);
- editButton.setLayoutData(data);
- editButton.setEnabled(false);
- editButton.addSelectionListener(this);
-
- data = new FormData();
- data.left = new FormAttachment(addButton, 0, SWT.LEFT);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(editButton, 0);
- deleteButton.setLayoutData(data);
- deleteButton.setEnabled(false);
- deleteButton.addSelectionListener(this);
-
- data = new FormData();
- data.top = new FormAttachment(0, 0);
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(addButton, 0);
- data.bottom = new FormAttachment(100, 0);
- data.width = tableMinimumWidth;
- table.setLayoutData(data);
- table.addListener(SWT.Resize, this);
-
- return composite;
- }
-
- public void handleEvent(Event event)
- {
- Table table = patternsTable.getTable();
- if (event.type == SWT.Resize && event.widget == table)
- {
- TableColumn tableColumn = table.getColumn(0);
- tableColumn.setWidth(table.getSize().x);
- }
- }
-
-
- public void setInput(Object input)
- {
- patternsTable.setInput(input);
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
- Element element = st.getElement();
-
- if (e.widget == addButton)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
-
- int variety = st.getVariety().getValue();
- Node varietyElement = null;
- if (variety == XSDVariety.ATOMIC)
- {
- varietyElement = helper.getChildNode(element, XSDConstants.RESTRICTION_ELEMENT_TAG);
- }
- else if (variety == XSDVariety.UNION)
- {
- varietyElement = helper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
- }
- else if (variety == XSDVariety.LIST)
- {
- varietyElement = helper.getChildNode(element, XSDConstants.LIST_ELEMENT_TAG);
- }
-
- if (varietyElement != null)
- {
- Shell shell = Display.getCurrent().getActiveShell();
-
- String initialValue = ""; //$NON-NLS-1$
- RegexWizard wizard = new RegexWizard(initialValue);
-
- WizardDialog wizardDialog = new WizardDialog(shell, wizard);
- wizardDialog.setBlockOnOpen(true);
- wizardDialog.create();
-
- int result = wizardDialog.open();
-
- if (result == Window.OK)
- {
- String newPattern = wizard.getPattern();
-
- java.util.List attributes = new ArrayList();
- attributes.add(new DOMAttribute(XSDConstants.VALUE_ATTRIBUTE, newPattern));
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_PATTERN"), element); //$NON-NLS-1$
- Action action = getNewElementAction(XSDConstants.PATTERN_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_PATTERN"), attributes, (Element)varietyElement, null); //$NON-NLS-1$
- action.run();
- st.setElement(element);
- endRecording(element);
- patternsTable.refresh();
- attributes = null;
- }
- }
- }
- else if (e.widget == deleteButton)
- {
- StructuredSelection selection = (StructuredSelection)patternsTable.getSelection();
- if (selection != null)
- {
- Iterator i = selection.iterator();
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_INCLUDE"), element); // Reword ?
- while (i.hasNext())
- {
- Object obj = i.next();
- if (obj != null)
- {
- if (obj instanceof XSDPatternFacet)
- {
- XSDPatternFacet patternFacet = (XSDPatternFacet)obj;
-
- // I have to update using DOM
- XSDDOMHelper.removeNodeAndWhitespace(patternFacet.getElement());
- }
- }
- }
- st.setElement(element);
- endRecording(element);
- patternsTable.refresh();
- if (patternsTable.getTable().getItemCount() == 0)
- {
- editButton.setEnabled(false);
- deleteButton.setEnabled(false);
- }
- }
- }
- else if (e.widget == editButton)
- {
- StructuredSelection selection = (StructuredSelection)patternsTable.getSelection();
- if (selection != null)
- {
- Object obj = selection.getFirstElement();
- if (obj instanceof XSDPatternFacet)
- {
- XSDPatternFacet pattern = (XSDPatternFacet)obj;
- String initialValue = pattern.getLexicalValue();
- if (initialValue == null)
- {
- initialValue = ""; //$NON-NLS-1$
- }
-
- Shell shell = Display.getCurrent().getActiveShell();
-
- RegexWizard wizard = new RegexWizard(initialValue);
-
- WizardDialog wizardDialog = new WizardDialog(shell, wizard);
- wizardDialog.setBlockOnOpen(true);
- wizardDialog.create();
-
- int result = wizardDialog.open();
-
- if (result == Window.OK)
- {
- String newPattern = wizard.getPattern();
- beginRecording(XSDEditorPlugin.getXSDString("_UI_PATTERN_VALUE_CHANGE"), element); //$NON-NLS-1$
- element.setAttribute(XSDConstants.VALUE_ATTRIBUTE, newPattern);
- pattern.setLexicalValue(newPattern);
- endRecording(element);
- patternsTable.refresh();
- }
- }
- }
- }
- else if (e.widget == patternsTable.getTable())
- {
- StructuredSelection selection = (StructuredSelection)patternsTable.getSelection();
- if (selection.getFirstElement() != null)
- {
- editButton.setEnabled(true);
- deleteButton.setEnabled(true);
- }
- else
- {
- editButton.setEnabled(false);
- deleteButton.setEnabled(false);
- }
- }
-
- }
-
- public void widgetDefaultSelected(SelectionEvent e)
- {
-
- }
- }
-
-
- class PatternsTableViewer extends NavigableTableViewer implements ICellModifier
- {
- protected String[] columnProperties = {"Pattern"};
-
- protected CellEditor[] cellEditors;
-
- Table table;
-
- public PatternsTableViewer(Table table)
- {
- super(table);
- table = getTable();
-
- table.setLinesVisible(true);
-
- setContentProvider(new PatternsTableContentProvider());
- setLabelProvider(new PatternsTableLabelProvider());
- setColumnProperties(columnProperties);
-
- setCellModifier(this);
-
- TableColumn column = new TableColumn(table, SWT.NONE, 0);
- column.setText(columnProperties[0]);
- column.setAlignment(SWT.LEFT);
- column.setResizable(true);
-
- cellEditors = new CellEditor[1];
-
- TableLayout layout = new TableLayout();
- ColumnWeightData data = new ColumnWeightData(100);
- layout.addColumnData(data);
- cellEditors[0] = new TextCellEditor(table);
-
- getTable().setLayout(layout);
- setCellEditors(cellEditors);
- }
-
- public boolean canModify(Object element, String property)
- {
- return true;
- }
-
- public void modify(Object element, String property, Object value)
- {
- if (element instanceof TableItem && (value != null))
- {
- TableItem item = (TableItem)element;
-
- Element simpleTypeElement = ((XSDSimpleTypeDefinition)getInput()).getElement();
- FacetsSection.this.beginRecording(XSDEditorPlugin.getXSDString("_UI_PATTERN_VALUE_CHANGE"), simpleTypeElement); //$NON-NLS-1$
-
- XSDPatternFacet patternFacet = (XSDPatternFacet)item.getData();
- patternFacet.setLexicalValue((String)value);
-
- item.setData(patternFacet);
- item.setText((String)value);
- FacetsSection.this.endRecording(simpleTypeElement);
- }
- }
-
- public Object getValue(Object element, String property)
- {
- if (element instanceof XSDPatternFacet)
- {
- XSDPatternFacet patternFacet = (XSDPatternFacet)element;
- String value = patternFacet.getLexicalValue();
- if (value == null) value = ""; //$NON-NLS-1$
- return value;
- }
- return ""; //$NON-NLS-1$
- }
-
- }
-
- class PatternsTableContentProvider implements IStructuredContentProvider
- {
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- }
-
- public java.lang.Object[] getElements(java.lang.Object inputElement)
- {
- java.util.List list = new ArrayList();
- if (inputElement instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)inputElement;
- return st.getPatternFacets().toArray();
- }
- return list.toArray();
- }
-
- public void dispose()
- {
- }
- }
-
- class PatternsTableLabelProvider extends LabelProvider implements ITableLabelProvider
- {
- public PatternsTableLabelProvider()
- {
-
- }
-
- public Image getColumnImage(Object element, int columnIndex)
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDSimplePattern.gif"); //$NON-NLS-1$
- }
-
- public String getColumnText(Object element, int columnIndex)
- {
- if (element instanceof XSDPatternFacet)
- {
- XSDPatternFacet pattern = (XSDPatternFacet)element;
- String value = pattern.getLexicalValue();
- if (value == null) value = ""; //$NON-NLS-1$
- return value;
- }
- return ""; //$NON-NLS-1$
- }
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSectionDescriptor.java
deleted file mode 100644
index c5f9d1f8fa..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSectionDescriptor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-
-public class FacetsSectionDescriptor extends AbstractSectionDescriptor
-{
-
- /**
- *
- */
- public FacetsSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.facets";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDSimpleTypeDefinition.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new FacetsSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.facets";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDSimpleTypeDefinition)
- {
- return true;
- }
- }
- return false;
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSection.java
deleted file mode 100644
index 4596281292..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSection.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class MinMaxSection extends AbstractSection
-{
- CCombo minCombo;
- CCombo maxCombo;
-
- /**
- *
- */
- public MinMaxSection()
- {
- super();
- }
-
-
- public void doHandleEvent(Event event)
- {
- if (event.widget == minCombo)
- {
- updateMinAttribute();
- }
- else if (event.widget == maxCombo)
- {
- updateMaxAttribute();
- }
- }
-
- public void doWidgetSelected(SelectionEvent e)
- {
- if (e.widget == minCombo)
- {
- updateMinAttribute();
- }
- else if (e.widget == maxCombo)
- {
- updateMaxAttribute();
- }
- }
-
- private void updateMinAttribute()
- {
- XSDParticle particle = null;
- Object input = getInput();
-
- if (input instanceof XSDParticleContent)
- {
- particle = getAssociatedParticle((XSDParticleContent)input);
- }
- if (particle != null)
- {
- Element element = particle.getElement();
- String newValue = ""; //$NON-NLS-1$
- String id = ""; //$NON-NLS-1$
-
- newValue = minCombo.getText();
- id = XSDConstants.MINOCCURS_ATTRIBUTE;
- beginRecording(XSDEditorPlugin.getXSDString("_UI_MINOCCURS_CHANGE"), element); //$NON-NLS-1$
- if (newValue.length()==0)
- {
- particle.unsetMinOccurs();
- }
- try
- {
- if (newValue.equals("unbounded") || newValue.equals("*")) //$NON-NLS-1$
- {
- particle.setMinOccurs(XSDParticle.UNBOUNDED);
- }
- else
- {
- int val = Integer.parseInt(newValue);
- particle.setMinOccurs(val);
- }
- }
- catch (NumberFormatException e)
- {
-
- }
- finally
- {
- endRecording(element);
- }
- }
- }
-
- private void updateMaxAttribute()
- {
- XSDParticle particle = null;
- Object input = getInput();
-
- if (input instanceof XSDParticleContent)
- {
- particle = getAssociatedParticle((XSDParticleContent)input);
- }
- if (particle != null)
- {
- Element element = particle.getElement();
- String newValue = "";
- String id = "";
- newValue = maxCombo.getText();
- id = XSDConstants.MAXOCCURS_ATTRIBUTE;
- beginRecording(XSDEditorPlugin.getXSDString("_UI_MAXOCCURS_CHANGE"), element); //$NON-NLS-1$
- if (newValue.length()==0)
- {
- particle.unsetMaxOccurs();
- }
- try
- {
- if (newValue.equals("unbounded") || newValue.equals("*")) //$NON-NLS-1$
- {
- particle.setMaxOccurs(XSDParticle.UNBOUNDED);
- }
- else
- {
- int val = Integer.parseInt(newValue);
- particle.setMaxOccurs(val);
- }
- }
- catch (NumberFormatException e)
- {
-
- }
- finally
- {
- endRecording(element);
- }
- }
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
-
- public void createControls(Composite parent,TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
- minCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(0, 0);
- minCombo.setLayoutData(data);
- minCombo.add("0"); //$NON-NLS-1$
- minCombo.add("1"); //$NON-NLS-1$
- minCombo.addListener(SWT.Modify, this);
- minCombo.addSelectionListener(this);
-
- CLabel minLabel = getWidgetFactory().createCLabel(composite, XSDConstants.MINOCCURS_ATTRIBUTE + ":");
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(minCombo, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(minCombo, 0, SWT.CENTER);
- minLabel.setLayoutData(data);
-
- maxCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(minCombo, +ITabbedPropertyConstants.VSPACE);
- maxCombo.setLayoutData(data);
- maxCombo.add("0"); //$NON-NLS-1$
- maxCombo.add("1"); //$NON-NLS-1$
- maxCombo.add("unbounded"); //$NON-NLS-1$
- maxCombo.addListener(SWT.Modify, this);
- maxCombo.addSelectionListener(this);
-
- CLabel maxLabel = getWidgetFactory().createCLabel(composite, XSDConstants.MAXOCCURS_ATTRIBUTE + ":");
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(maxCombo, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(maxCombo, 0, SWT.CENTER);
- maxLabel.setLayoutData(data);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- if (doRefresh)
- {
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
-
- setListenerEnabled(false);
- boolean refreshMinText = true;
- boolean refreshMaxText = true;
- if (minCombo.isFocusControl())
- {
- refreshMinText = false;
- }
- if (maxCombo.isFocusControl())
- {
- refreshMaxText = false;
- }
- if (refreshMinText)
- {
- minCombo.setText(""); //$NON-NLS-1$
- }
- if (refreshMaxText)
- {
- maxCombo.setText(""); //$NON-NLS-1$
- }
- Object input = getInput();
- if (input != null)
- {
- if (input instanceof XSDParticleContent)
- {
- XSDParticle particle = getAssociatedParticle((XSDParticleContent)input);
- if (particle != null)
- {
- // minText.setText(String.valueOf(particle.getMinOccurs()));
- // maxText.setText(String.valueOf(particle.getMaxOccurs()));
- Element element = particle.getElement();
- if (element != null)
- {
- String min = element.getAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- String max = element.getAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
- if (min != null && refreshMinText)
- {
- minCombo.setText(min);
- }
- if (max != null && refreshMaxText)
- {
- maxCombo.setText(max);
- }
- }
- }
- }
- }
- setListenerEnabled(true);
- }
- }
-
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
- private XSDParticle getAssociatedParticle(XSDParticleContent particleContent)
- {
- XSDConcreteComponent xsdComp = particleContent.getContainer();
- if (xsdComp instanceof XSDParticle)
- {
- return (XSDParticle)xsdComp;
- }
- return null;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSectionDescriptor.java
deleted file mode 100644
index 80b5f42992..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSectionDescriptor.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDWildcard;
-
-public class MinMaxSectionDescriptor extends AbstractSectionDescriptor
-{
- /**
- *
- */
- public MinMaxSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.minmax";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDElementDeclaration.class);
- list.add(XSDModelGroup.class);
- list.add(XSDWildcard.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new MinMaxSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
-// if (object instanceof XSDElementDeclaration)
-// {
-// Element element = ((XSDElementDeclaration)object).getElement();
-// Object parentNode = element.getParentNode();
-// // minOccurs and maxOccurs apply to non-global elements
-// boolean isGlobalElement = XSDDOMHelper.inputEquals(parentNode, XSDConstants.SCHEMA_ELEMENT_TAG, false);
-// return !isGlobalElement;
-// }
-// if (object instanceof XSDParticle)
-// {
-// XSDParticle particle = (XSDParticle)object;
-// Element element = particle.getElement();
-// if (inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-// {
-// return true;
-// }
-// else if (inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, true))
-// {
-// return false;
-// }
-// else
-// {
-// return true;
-// }
-// }
- if (object instanceof XSDModelGroup)
- {
- return true;
- }
- else if (object instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)object;
- if (xsdElementDeclaration.isGlobal())
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- else if (object instanceof XSDWildcard)
- {
- XSDWildcard wildcard = (XSDWildcard)object;
- if (wildcard.getContainer() instanceof XSDComplexTypeDefinition ||
- wildcard.getContainer() instanceof XSDAttributeGroupDefinition)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- }
- return false;
- }
-
- public String getAfterSection()
- {
- return "org.eclipse.wst.wsdleditor.section.reference";
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSection.java
deleted file mode 100644
index c5e62d8a8c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSection.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDModelGroup;
-import org.w3c.dom.Element;
-
-public class ModelGroupSection extends AbstractSection
-{
- CCombo modelGroupCombo;
- private String[] modelGroupComboValues = { "sequence", "choice", "all" }; //$NON-NLS-1$
-
- /**
- *
- */
- public ModelGroupSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
- modelGroupCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(0, 0);
- modelGroupCombo.setLayoutData(data);
- modelGroupCombo.addSelectionListener(this);
- modelGroupCombo.setItems(modelGroupComboValues);
-
- CLabel cLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_KIND")); //$NON-NLS-1$
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(modelGroupCombo, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(modelGroupCombo, 0, SWT.CENTER);
- cLabel.setLayoutData(data);
-
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- setListenerEnabled(false);
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
- Object input = getInput();
- if (input != null)
- {
- if (input instanceof XSDModelGroup)
- {
- XSDModelGroup particle = (XSDModelGroup)input;
- String modelType = particle.getCompositor().getName();
- modelGroupCombo.setText(modelType);
- }
- }
- setListenerEnabled(true);
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == modelGroupCombo)
- {
- Object input = getInput();
- if (input instanceof XSDModelGroup)
- {
- XSDModelGroup particle = (XSDModelGroup)input;
-
- Element element = particle.getElement();
- Element parent = (Element)element.getParentNode();
- beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_SCOPE_CHANGE"), parent); //$NON-NLS-1$
-// changeContentModel(parent, modelGroupCombo.getText());
- particle.setCompositor(XSDCompositor.get(modelGroupCombo.getText()));
- endRecording(parent);
- refresh();
- }
- }
- }
-
-// private void changeContentModel(Element parent, String contentModel)
-// {
-// Document doc = parent.getOwnerDocument();
-// XSDDOMHelper domHelper = getDomHelper();
-//
-// String prefix = parent.getPrefix();
-// prefix = prefix == null ? "" : prefix + ":";
-//
-// Element contentModelElement = domHelper.getContentModelFromParent(parent);
-//
-// if (contentModelElement.getLocalName().equals(contentModel))
-// {
-// return; // it's already the content model
-// }
-//
-// Element newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + contentModel);
-//
-// if (contentModelElement.hasChildNodes())
-// {
-// NodeList nodes = contentModelElement.getChildNodes();
-// // use clones so we don't have a refresh problem
-// for (int i = 0; i < nodes.getLength(); i++)
-// {
-// Node node = nodes.item(i);
-// newNode.appendChild(node.cloneNode(true));
-// }
-// }
-// parent.replaceChild(newNode, contentModelElement);
-// }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSectionDescriptor.java
deleted file mode 100644
index 4f1a0917d0..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSectionDescriptor.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDModelGroup;
-
-public class ModelGroupSectionDescriptor extends AbstractSectionDescriptor
-{
- /**
- *
- */
- public ModelGroupSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.modelgroup";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDModelGroup.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new ModelGroupSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
-// if (object instanceof XSDParticle)
-// {
-// XSDParticle particle = (XSDParticle)object;
-// Element element = particle.getElement();
-// if (inputEquals(element, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
-// inputEquals(element, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
-// inputEquals(element, XSDConstants.ALL_ELEMENT_TAG, false))
-// {
-// return true;
-// }
-// }
- if (object instanceof XSDModelGroup)
- {
- XSDModelGroup particle = (XSDModelGroup)object;
-// Element element = particle.getElement();
-// if (inputEquals(element, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
-// inputEquals(element, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
-// inputEquals(element, XSDConstants.ALL_ELEMENT_TAG, false))
-// {
- return true;
-// }
- }
- }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSection.java
deleted file mode 100644
index bdfc6069b7..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSection.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalAttributeGroupRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalAttributeRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalElementRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalGroupRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalSimpleOrComplexTypeRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class NameSection extends AbstractSection
-{
- /**
- *
- */
- public NameSection()
- {
- super();
- }
-
- Text nameText;
-
-
- public void doHandleEvent(Event event)
- {
- if (event.widget == nameText)
- {
- Object input = getInput();
- String newValue = nameText.getText();
- if (input instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent)input;
- if (newValue.length() > 0)
- {
- namedComponent.setName(newValue);
- doReferentialIntegrityCheck(namedComponent, newValue);
- }
- else
- {
- // TODO: Show error message
- }
- }
-// else if (input instanceof XSDParticle)
-// {
-// XSDParticle xsdParticle = (XSDParticle)input;
-// if (newValue.length() > 0)
-// {
-// doReferentialIntegrityCheck(xsdParticle, newValue);
-// }
-// else
-// {
-// // TODO: Show error message
-// }
-// }
- else if (input instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration attribute = (XSDAttributeDeclaration)input;
- if (newValue.length() > 0)
- {
- doReferentialIntegrityCheck(attribute, newValue);
- attribute.setName(newValue);
- }
- else
- {
- // TODO: Show error message
- }
- }
- else if (input instanceof XSDAttributeUse)
- {
- XSDAttributeUse attributeUse = (XSDAttributeUse)input;
- XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
- if (newValue.length() > 0)
- {
- doReferentialIntegrityCheck(attribute, newValue);
- attribute.setName(newValue);
- attributeUse.setAttributeDeclaration(attribute);
- }
- else
- {
- // TODO: Show error message
- }
- }
- }
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
- nameText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- // data.right = new FormAttachment(95, 0);
- data.right = new FormAttachment(100, -rightMarginSpace -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(0, 0);
- nameText.setLayoutData(data);
- nameText.addListener(SWT.Modify, this);
-
- CLabel nameLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_NAME")); //$NON-NLS-1$
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(nameText, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(nameText, 0, SWT.CENTER);
- nameLabel.setLayoutData(data);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- if (nameText.isFocusControl())
- {
- return;
- }
- setListenerEnabled(false);
- nameText.setEditable(true);
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
- Object input = getInput();
- nameText.setText(""); //$NON-NLS-1$
- if (input != null)
- {
- if (input instanceof XSDComplexTypeDefinition || input instanceof XSDSimpleTypeDefinition)
- {
- XSDTypeDefinition type = (XSDTypeDefinition)input;
-
- Element element = type.getElement();
- String name = element.getAttribute(XSDConstants.NAME_ATTRIBUTE);
- if (name == null) name = "";
-
- boolean isAnonymousType = checkForAnonymousType(element);
- if (isAnonymousType)
- {
- nameText.setText("**anonymous**"); //$NON-NLS-1$
- nameText.setEditable(false);
- }
- else
- {
- nameText.setText(name);
- nameText.setEditable(true);
- }
- }
- else if (input instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent)input;
- Element element = namedComponent.getElement();
- String name = namedComponent.getName();
- if (name != null)
- {
- nameText.setText(name);
- }
- }
-// else if (input instanceof XSDParticle)
-// {
-// XSDParticle xsdParticle = (XSDParticle)input;
-// String name = xsdParticle.getElement().getAttribute(XSDConstants.NAME_ATTRIBUTE);
-// if (name != null)
-// {
-// nameText.setText(name);
-// }
-// }
- else if (input instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration attribute = (XSDAttributeDeclaration)input;
- //String name = attribute.getName();
- Element element = attribute.getElement();
- String name = element.getAttribute(XSDConstants.NAME_ATTRIBUTE);
- if (name != null)
- {
- nameText.setText(name);
- }
- }
- else if (input instanceof XSDAttributeUse)
- {
- XSDAttributeUse attributeUse = (XSDAttributeUse)input;
- XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
- String name = attribute.getName();
- if (name != null)
- {
- nameText.setText(name);
- }
- }
-// else if (input instanceof Element)
-// {
-// String name = ((Element)input).getAttribute(XSDConstants.NAME_ATTRIBUTE);
-// if (name == null) name = "";
-// nameText.setText(name);
-// }
- }
- setListenerEnabled(true);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
- private void doReferentialIntegrityCheck(XSDComponent xsdComponent, String newValue)
- {
- Element element = xsdComponent.getElement();
- if (XSDDOMHelper.inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, false))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_NAME_CHANGE"), element); //$NON-NLS-1$
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- if (xsdComponent instanceof XSDNamedComponent)
- {
- ((XSDNamedComponent)xsdComponent).setName(newValue);
- }
-
- // now rename any references to this element
-
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDElementDeclaration && comp.getContainer().equals(xsdSchema))
- {
- GlobalElementRenamer renamer = new GlobalElementRenamer((XSDNamedComponent)comp, newValue);
- renamer.visitSchema(xsdSchema);
- }
- }
- endRecording(element);
- }
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_NAME_CHANGE"), element); //$NON-NLS-1$
- if (newValue.length() > 0)
- {
- // now rename any references to this type
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDComplexTypeDefinition && comp.getContainer().equals(xsdSchema))
- {
- GlobalSimpleOrComplexTypeRenamer renamer = new GlobalSimpleOrComplexTypeRenamer((XSDNamedComponent)comp, newValue);
- renamer.visitSchema(xsdSchema);
- }
- }
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- ((XSDNamedComponent)xsdComponent).setName(newValue);
- }
- else
- {
- element.removeAttribute(XSDConstants.NAME_ATTRIBUTE);
- }
- endRecording(element);
- }
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_SIMPLETYPE_NAME_CHANGE"), element);
- if (validateName(newValue))
- {
- // now rename any references to this type
- if (newValue.length() > 0)
- {
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDSimpleTypeDefinition && comp.getContainer().equals(xsdSchema))
- {
- GlobalSimpleOrComplexTypeRenamer renamer = new GlobalSimpleOrComplexTypeRenamer((XSDNamedComponent)comp, newValue);
- renamer.visitSchema(xsdSchema);
- }
- }
-// element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- }
- else
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, "");
- }
- }
- endRecording(element);
-
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_NAME_CHANGE"), element); //$NON-NLS-1$
- // now rename any references to this element
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDAttributeDeclaration && comp.getContainer().equals(xsdSchema))
- {
- GlobalAttributeRenamer renamer = new GlobalAttributeRenamer((XSDNamedComponent)comp, newValue);
- renamer.visitSchema(xsdSchema);
- }
- }
- // element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- endRecording(element);
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTEGROUP_NAME_CHANGE"), element); //$NON-NLS-1$
- ((XSDNamedComponent)xsdComponent).setName(newValue);
- // now rename any references to this element
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDAttributeGroupDefinition && comp.getContainer().equals(xsdSchema))
- {
- GlobalAttributeGroupRenamer renamer = new GlobalAttributeGroupRenamer((XSDNamedComponent)comp, newValue);
- renamer.visitSchema(xsdSchema);
- }
- }
- endRecording(element);
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.UNIQUE_ELEMENT_TAG, false))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_UNIQUE_NAME_CHANGE"), element); //$NON-NLS-1$
- if (newValue.length() > 0)
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- }
- else
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, ""); //$NON-NLS-1$
- }
- endRecording(element);
- }
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.KEY_ELEMENT_TAG, false))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_KEY_NAME_CHANGE"), element); //$NON-NLS-1$
- if (newValue.length() > 0)
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- }
- else
- {
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, ""); //$NON-NLS-1$
- }
- endRecording(element);
- }
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.GROUP_ELEMENT_TAG, false))
- {
- if (validateName(newValue))
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_NAME_CHANGE"), element); //$NON-NLS-1$
- // now rename any references to this element
- if (xsdSchema != null)
- {
- XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
- if (comp != null && comp instanceof XSDModelGroupDefinition && comp.getContainer().equals(xsdSchema))
- {
- GlobalGroupRenamer renamer = new GlobalGroupRenamer((XSDNamedComponent)comp, newValue);
- renamer.visitSchema(xsdSchema);
- }
- }
- element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
- endRecording(element);
- }
-
- }
-
-
-
- }
-
- boolean checkForAnonymousType(Element element)
- {
- Object parentElement = (Object)element.getParentNode();
- boolean isAnonymous = false;
- if (parentElement != null)
- {
- if (XSDDOMHelper.inputEquals(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
- {
- if (XSDDOMHelper.inputEquals(parentElement, XSDConstants.ELEMENT_ELEMENT_TAG, false))
- {
- isAnonymous = true;
- }
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
- if (XSDDOMHelper.inputEquals(parentElement, XSDConstants.RESTRICTION_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(parentElement, XSDConstants.ELEMENT_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(parentElement, XSDConstants.UNION_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(parentElement, XSDConstants.LIST_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(parentElement, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
- {
- isAnonymous = true;
- }
- }
- }
- return isAnonymous;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSectionDescriptor.java
deleted file mode 100644
index f2f7144a64..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSectionDescriptor.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.wst.common.ui.properties.ISectionDescriptor;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class NameSectionDescriptor extends AbstractSectionDescriptor implements ISectionDescriptor
-{
- /**
- *
- */
- public NameSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.name";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDNamedComponent.class);
- list.add(XSDAttributeUse.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new NameSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent)object;
- Element element = namedComponent.getElement();
-
- if (inputEquals(element, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false) ||
- inputEquals(element, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- return false;
- }
-
- // don't want to show editable name section for ref's
- // need to show ref section with a combobox
-
- if (namedComponent instanceof XSDElementDeclaration)
- {
- if (((XSDElementDeclaration)namedComponent).isElementDeclarationReference())
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- else if (namedComponent instanceof XSDAttributeDeclaration)
- {
- if (((XSDAttributeDeclaration)namedComponent).isAttributeDeclarationReference())
- {
- return false;
- }
- else
- {
- return true;
- }
- }
-
- if (element != null)
- {
- if (inputEquals(element, element.getLocalName(), true))
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- }
-// else if (object instanceof XSDParticle)
-// {
-// XSDParticle particle = (XSDParticle)object;
-// Element element = particle.getElement();
-// if (inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-// {
-// return true;
-// }
-// else if (inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, true))
-// {
-// return false;
-// }
-// else
-// {
-// return false;
-// }
-// }
- else if (object instanceof XSDAttributeUse)
- {
- XSDAttributeUse attributeUse = (XSDAttributeUse)object;
- XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
- Element element = attributeUse.getElement();
- if (inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- }
-
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationDescriptor.java
deleted file mode 100644
index 5a47fa88b4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationDescriptor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDImport;
-
-public class NamespaceAndSchemaLocationDescriptor extends AbstractSectionDescriptor
-{
- NamespaceAndSchemaLocationSection namespaceAndSchemaLocationSection;
- /**
- *
- */
- public NamespaceAndSchemaLocationDescriptor()
- {
- super();
- namespaceAndSchemaLocationSection = new NamespaceAndSchemaLocationSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.namespaceAndSchemaLocationSection";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDConcreteComponent.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return namespaceAndSchemaLocationSection;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
-
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDImport) {
- return true;
- }
- }
-
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationSection.java
deleted file mode 100644
index 2fdc73742f..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationSection.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.common.ui.viewers.ResourceFilter;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.XSDExternalFileCleanup;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.wst.xsd.ui.internal.wizards.XSDSelectIncludeFileWizard;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.impl.XSDImportImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class NamespaceAndSchemaLocationSection extends AbstractSection
-{
- Text schemaLocationText;
- Text namespaceText, prefixText;
- Button wizardButton;
- protected String oldPrefixValue;
-
- public NamespaceAndSchemaLocationSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- Composite composite = getWidgetFactory().createFlatFormComposite(parent);
-
- CLabel namespaceLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_NAMESPACE")); //$NON-NLS-1$
- namespaceText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
- namespaceText.setEditable(false);
-
- FormData data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(namespaceText, +ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(namespaceText, 0, SWT.CENTER);
- namespaceLabel.setLayoutData(data);
-
- data = new FormData();
- data.left = new FormAttachment(0, 110);
- data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(0, 0);
- namespaceText.setLayoutData(data);
-
-
- CLabel prefixLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_PREFIX")); //$NON-NLS-1$
- prefixText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
- prefixText.setEditable(true);
- prefixText.addListener(SWT.Modify, this);
-
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(prefixText, 0);
- data.top = new FormAttachment(prefixText, 0, SWT.CENTER);
- prefixLabel.setLayoutData(data);
-
- data = new FormData();
- data.left = new FormAttachment(0, 110);
- data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(namespaceText, +ITabbedPropertyConstants.VSPACE);
- prefixText.setLayoutData(data);
-
- // Create Schema Location Label
- CLabel schemaLocationLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_LOCATION")); //$NON-NLS-1$
- schemaLocationText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
-
- // Create Wizard Button
- wizardButton = getWidgetFactory().createButton(composite, "", SWT.NONE); //$NON-NLS-1$
- wizardButton.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
- FormData buttonFormData = new FormData();
- buttonFormData.left = new FormAttachment(100, -rightMarginSpace + 2);
- buttonFormData.right = new FormAttachment(100, 0);
- buttonFormData.top = new FormAttachment(schemaLocationText, 0, SWT.CENTER);
- wizardButton.setLayoutData(buttonFormData);
- wizardButton.addSelectionListener(this);
-
- // Create Schema Location Text
- schemaLocationText.setEditable(false);
- FormData schemaLocationData = new FormData();
- schemaLocationData.left = new FormAttachment(0, 110);
- schemaLocationData.right = new FormAttachment(wizardButton, 0);
- schemaLocationData.top = new FormAttachment(prefixText, +ITabbedPropertyConstants.VSPACE);
- schemaLocationText.setLayoutData(schemaLocationData);
- schemaLocationText.addListener(SWT.Modify, this);
-
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(schemaLocationText, 0);
- data.top = new FormAttachment(schemaLocationText, 0, SWT.CENTER);
- schemaLocationLabel.setLayoutData(data);
-
- }
-
- public void widgetSelected(SelectionEvent event)
- {
- if (event.widget == wizardButton)
- {
- setListenerEnabled(false);
- Shell shell = Display.getCurrent().getActiveShell();
-
- IFile currentIFile = ((IFileEditorInput)getActiveEditor().getEditorInput()).getFile();
- ViewerFilter filter = new ResourceFilter(new String[] { ".xsd" }, //$NON-NLS-1$
- new IFile[] { currentIFile },
- null);
-
- XSDSelectIncludeFileWizard fileSelectWizard =
- new XSDSelectIncludeFileWizard(xsdSchema,
- false,
- XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_SCHEMA"), //$NON-NLS-1$
- XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_DESC"), //$NON-NLS-1$
- filter,
- (IStructuredSelection) selection);
-
- WizardDialog wizardDialog = new WizardDialog(shell, fileSelectWizard);
- wizardDialog.create();
- wizardDialog.setBlockOnOpen(true);
- int result = wizardDialog.open();
-
- String value = schemaLocationText.getText();
- prefixText.removeListener(SWT.Modify, this);
- if (result == Window.OK)
- {
- IFile selectedIFile = fileSelectWizard.getResultFile();
- String schemaFileString = value;
- if (selectedIFile != null)
- {
- schemaFileString = URIHelper.getRelativeURI(selectedIFile.getLocation(), currentIFile.getLocation());
- }
- else
- {
- schemaFileString = fileSelectWizard.getURL();
- }
-
- XSDConcreteComponent comp = (XSDConcreteComponent)getInput();
- if (comp instanceof XSDImport)
- {
- XSDImport xsdImport = (XSDImport)comp;
- Element importElement = comp.getElement();
-
- beginRecording(XSDEditorPlugin.getXSDString("_UI_IMPORT_CHANGE"), importElement);
-
- String namespace = fileSelectWizard.getNamespace();
- if (namespace == null) namespace = "";
- XSDSchema externalSchema = fileSelectWizard.getExternalSchema();
-
- xsdImport.setNamespace(namespace);
- xsdImport.setSchemaLocation(schemaFileString);
- xsdImport.setResolvedSchema(externalSchema);
-
- java.util.Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-
-// System.out.println("changed Import Map is " + map.values());
-// System.out.println("changed import Map keys are " + map.keySet());
-
- // Referential integrity on old import
- // How can we be sure that if the newlocation is the same as the oldlocation
- // the file hasn't changed
-
- XSDSchema referencedSchema = xsdImport.getResolvedSchema();
- if (referencedSchema != null)
- {
- XSDExternalFileCleanup cleanHelper = new XSDExternalFileCleanup(referencedSchema);
- cleanHelper.visitSchema(xsdSchema);
- }
-
- Element schemaElement = getSchema().getElement();
-
- // update the xmlns in the schema element first, and then update the import element next
- // so that the last change will be in the import element. This keeps the selection
- // on the import element
- TypesHelper helper = new TypesHelper(externalSchema);
- String prefix = helper.getPrefix(namespace, false);
-
- if (map.containsKey(prefix))
- {
- prefix = null;
- }
-
- if (prefix == null || (prefix !=null && prefix.length() == 0))
- {
- StringBuffer newPrefix = new StringBuffer("pref"); //$NON-NLS-1$
- int prefixExtension = 1;
- while (map.containsKey(newPrefix.toString()) && prefixExtension < 100)
- {
- newPrefix = new StringBuffer("pref" + String.valueOf(prefixExtension));
- prefixExtension++;
- }
- prefix = newPrefix.toString();
- }
-
- if (namespace.length() > 0)
- {
- // if ns already in map, use its corresponding prefix
- if (map.containsValue(namespace))
- {
- TypesHelper typesHelper = new TypesHelper(xsdSchema);
- prefix = typesHelper.getPrefix(namespace, false);
- }
- else // otherwise add to the map
- {
- schemaElement.setAttribute("xmlns:"+prefix, namespace);
- }
- prefixText.setText(prefix);
- }
- else
- {
- prefixText.setText("");
- namespaceText.setText("");
- }
-
- endRecording(importElement);
-
-// System.out.println("changed Import Map is " + map.values());
-// System.out.println("changed import Map keys are " + map.keySet());
-
- }
- refresh();
- }
- setListenerEnabled(true);
- prefixText.addListener(SWT.Modify, this);
- }
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- if (doRefresh)
- {
- setListenerEnabled(false);
-
- Element element = null;
- if (input instanceof XSDImport) {
- element = ((XSDImportImpl) input).getElement();
-
- String namespace = element.getAttribute("namespace"); //$NON-NLS-1$
- String schemaLocation = element.getAttribute("schemaLocation"); //$NON-NLS-1$
-
- TypesHelper helper = new TypesHelper(xsdSchema);
- String prefix = helper.getPrefix(element.getAttribute(XSDConstants.NAMESPACE_ATTRIBUTE), false);
-
- if (namespace == null) {
- namespace = ""; //$NON-NLS-1$
- }
- if (prefix == null) {
- prefix = ""; //$NON-NLS-1$
- }
- if (schemaLocation == null) {
- schemaLocation = ""; //$NON-NLS-1$
- }
-
- namespaceText.setText(namespace);
- prefixText.setText(prefix);
- schemaLocationText.setText(schemaLocation);
- oldPrefixValue = prefixText.getText();
- }
-
- setListenerEnabled(true);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
- public void doHandleEvent(Event event)
- {
- if (event.type == SWT.Modify)
- {
- if (event.widget == prefixText)
- {
- if (validatePrefix(prefixText.getText()) && schemaLocationText.getText().trim().length() > 0)
- {
- Element element = ((XSDConcreteComponent)getInput()).getElement();
- Map map = getSchema().getQNamePrefixToNamespaceMap();
-
- if (map.containsKey(prefixText.getText()))
- {
- setErrorMessage(XSDEditorPlugin.getXSDString("_ERROR_LABEL_PREFIX_EXISTS"));
- }
- else
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_PREFIX_CHANGE"), element);
-
- Element schemaElement = getSchema().getElement();
- schemaElement.removeAttribute("xmlns:"+oldPrefixValue);
- schemaElement.setAttribute("xmlns:" + prefixText.getText(), namespaceText.getText());
- XSDSchemaHelper.updateElement(getSchema());
-
- clearErrorMessage();
- oldPrefixValue = prefixText.getText();
- endRecording(element);
-
-// System.out.println("Map is " + map.values());
-// System.out.println("Map keys are " + map.keySet());
- }
- }
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSection.java
deleted file mode 100644
index 6deaca950c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSection.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDProcessContents;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class NamespaceProcessContentsSection extends AbstractSection
-{
- CCombo namespaceCombo;
- CCombo processContentsCombo;
-
- private String[] namespaceComboValues = {
- "", //$NON-NLS-1$
- "##any", //$NON-NLS-1$
- "##other", //$NON-NLS-1$
- "##targetNamespace", //$NON-NLS-1$
- "##local" //$NON-NLS-1$
- };
-
- /**
- *
- */
- public NamespaceProcessContentsSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent,TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- Composite composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
-
- namespaceCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(0, 0);
- namespaceCombo.setLayoutData(data);
-// Iterator list = XSDNamespaceConstraintCategory.VALUES.iterator();
-// while (list.hasNext())
-// {
-// namespaceCombo.add(((XSDNamespaceConstraintCategory)list.next()).getName());
-// }
- namespaceCombo.setItems(namespaceComboValues);
- namespaceCombo.addSelectionListener(this);
-
- CLabel namespaceLabel = getWidgetFactory().createCLabel(composite, XSDConstants.NAMESPACE_ATTRIBUTE);
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(namespaceCombo, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(namespaceCombo, 0, SWT.CENTER);
- namespaceLabel.setLayoutData(data);
-
- processContentsCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(namespaceCombo, +ITabbedPropertyConstants.VSPACE);
- processContentsCombo.setLayoutData(data);
- Iterator list = XSDProcessContents.VALUES.iterator();
- processContentsCombo.add(""); //$NON-NLS-1$
- while (list.hasNext())
- {
- processContentsCombo.add(((XSDProcessContents)list.next()).getName());
- }
- processContentsCombo.addSelectionListener(this);
-
- CLabel processContentsLabel = getWidgetFactory().createCLabel(composite, XSDConstants.PROCESSCONTENTS_ATTRIBUTE);
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(processContentsCombo, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(processContentsCombo, 0, SWT.CENTER);
- processContentsLabel.setLayoutData(data);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
-// namespaceCombo.removeSelectionListener(this);
-// processContentsCombo.removeSelectionListener(this);
- namespaceCombo.setText(""); //$NON-NLS-1$
- processContentsCombo.setText(""); //$NON-NLS-1$
- Object input = getInput();
- if (input != null)
- {
- if (input instanceof XSDWildcard)
- {
- XSDWildcard wildcard = (XSDWildcard)input;
- List listNS = wildcard.getNamespaceConstraint();
- if (wildcard.isSetLexicalNamespaceConstraint())
- {
- namespaceCombo.setText(wildcard.getStringLexicalNamespaceConstraint());
- }
- else
- {
- namespaceCombo.setText("");
- }
- if (wildcard.isSetProcessContents())
- {
- XSDProcessContents pc = wildcard.getProcessContents();
- processContentsCombo.setText(pc.getName());
- }
- }
- }
-// namespaceCombo.addSelectionListener(this);
-// processContentsCombo.addSelectionListener(this);
- }
-
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- XSDConcreteComponent concreteComponent = (XSDConcreteComponent)getInput();
- Element element = concreteComponent.getElement();
- if (concreteComponent instanceof XSDWildcard)
- {
- XSDWildcard wildcard = (XSDWildcard)concreteComponent;
- if (e.widget == namespaceCombo)
- {
- String newValue = namespaceCombo.getText();
- boolean removeAttribute = false;
- if (newValue.length() == 0)
- {
- removeAttribute = true;
- }
-
- beginRecording(XSDEditorPlugin.getXSDString("_UI_NAMESPACE_CHANGE"), element); //$NON-NLS-1$
- if (removeAttribute)
- {
- wildcard.unsetLexicalNamespaceConstraint();
- }
- else
- {
- wildcard.setStringLexicalNamespaceConstraint(newValue);
- }
- endRecording(element);
- }
- else if (e.widget == processContentsCombo)
- {
- String newValue = processContentsCombo.getText();
- boolean removeAttribute = false;
- if (newValue.length() == 0)
- {
- removeAttribute = true;
- }
- beginRecording(XSDEditorPlugin.getXSDString("_UI_PROCESSCONTENTS_CHANGE"), element); //$NON-NLS-1$
- if (removeAttribute)
- {
- wildcard.unsetProcessContents();
- }
- else
- {
- wildcard.setProcessContents(XSDProcessContents.get(processContentsCombo.getItem(processContentsCombo.getSelectionIndex())));
- }
- endRecording(element);
- }
- }
- refresh();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSectionDescriptor.java
deleted file mode 100644
index 2198f2ee01..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSectionDescriptor.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDWildcard;
-
-public class NamespaceProcessContentsSectionDescriptor extends AbstractSectionDescriptor
-{
- /**
- *
- */
- public NamespaceProcessContentsSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.namespaceprocesscontents";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDWildcard.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new NamespaceProcessContentsSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDWildcard)
- {
- return true;
- }
- }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSection.java
deleted file mode 100644
index e3a667aa1f..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSection.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Map;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.XSDEditNamespacesAction;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.TargetNamespaceChangeHandler;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class NamespaceSection extends AbstractSection
-{
- IWorkbenchPart part;
- Text prefixText;
- Text targetNamespaceText;
- Button editButton;
- StyledText errorText;
- Color red;
-
- /**
- *
- */
- public NamespaceSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- Composite composite = getWidgetFactory().createFlatFormComposite(parent);
-
- // Create Prefix Label
- CLabel prefixLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_PREFIX")); //$NON-NLS-1$
-
- int leftCoordinate = getStandardLabelWidth(composite,
- new String[] {XSDEditorPlugin.getXSDString("_UI_LABEL_TARGET_NAME_SPACE"), XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_PREFIX")});
-
- // Create Prefix Text
- prefixText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
- FormData prefixTextData = new FormData();
- // prefixTextData.left = new FormAttachment(0, 115);
- prefixTextData.left = new FormAttachment(0, leftCoordinate);
- prefixTextData.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- prefixText.setLayoutData(prefixTextData);
- prefixText.addListener(SWT.Modify, this);
-
- FormData data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(prefixText, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(prefixText, 0, SWT.CENTER);
- prefixLabel.setLayoutData(data);
-
- // Create TargetNamespace Label
- CLabel targetNamespaceLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_TARGET_NAME_SPACE")); //$NON-NLS-1$
-
- // Create TargetNamespace Text
- targetNamespaceText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
-
- FormData tnsLabelData = new FormData();
- tnsLabelData.left = new FormAttachment(0, 0);
- tnsLabelData.right = new FormAttachment(targetNamespaceText, -ITabbedPropertyConstants.HSPACE);
- tnsLabelData.top = new FormAttachment(targetNamespaceText, 0, SWT.CENTER);
- targetNamespaceLabel.setLayoutData(tnsLabelData);
-
- FormData tnsTextData = new FormData();
- // tnsTextData.left = new FormAttachment(0, 115);
- tnsTextData.left = new FormAttachment(0, leftCoordinate);
- tnsTextData.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- tnsTextData.top = new FormAttachment(prefixText, +ITabbedPropertyConstants.VSPACE);
- targetNamespaceText.setLayoutData(tnsTextData);
- targetNamespaceText.addListener(SWT.Modify, this);
-
- // Advanced Button
- editButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_SECTION_ADVANCED_ATTRIBUTES") + "...", SWT.PUSH);
-
- FormData buttonFormData = new FormData();
- buttonFormData.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- buttonFormData.top = new FormAttachment(targetNamespaceText, +ITabbedPropertyConstants.VSPACE);
- editButton.setLayoutData(buttonFormData);
- editButton.addSelectionListener(this);
-
- // error text
- errorText = new StyledText(composite, SWT.FLAT);
- errorText.setEditable(false);
- errorText.setEnabled(false);
- errorText.setText("");
-
- data = new FormData();
- data.left = new FormAttachment(targetNamespaceText, 0, SWT.LEFT);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(editButton, 0);
- errorText.setLayoutData(data);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- if (doRefresh)
- {
- // hack...open bug against properties
- if (prefixText.isDisposed() || targetNamespaceText.isDisposed())
- {
- return;
- }
- if (prefixText.isFocusControl() || targetNamespaceText.isFocusControl())
- {
- return;
- }
-
- setListenerEnabled(false);
-
- Element element = xsdSchema.getElement();
-
- // Handle prefixText
- TypesHelper helper = new TypesHelper(xsdSchema);
- String aPrefix = helper.getPrefix(element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
-
- if (aPrefix != null && aPrefix.length() > 0)
- {
- prefixText.setText(aPrefix);
- }
- else
- {
- prefixText.setText(""); //$NON-NLS-1$
- }
-
- // Handle TargetNamespaceText
- String tns = element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
- if (tns != null && tns.length() > 0)
- {
- targetNamespaceText.setText(tns);
- }
- else
- {
- targetNamespaceText.setText(""); //$NON-NLS-1$
- }
- errorText.setText("");
-
- setListenerEnabled(true);
- }
- }
-
- public void doHandleEvent(Event event)
- {
- errorText.setText("");
- String prefixValue = prefixText.getText();
- String tnsValue = targetNamespaceText.getText();
- if (tnsValue.trim().length() == 0)
- {
- if (prefixValue.trim().length() > 0)
- {
- errorText.setText(XSDEditorPlugin.getXSDString("_ERROR_TARGET_NAMESPACE_AND_PREFIX"));
- int length = errorText.getText().length();
- red = new Color(null, 255, 0, 0);
- StyleRange style = new StyleRange(0, length, red, targetNamespaceText.getBackground());
- errorText.setStyleRange(style);
- return;
- }
- }
-
- if (event.widget == prefixText)
- {
- updateNamespaceInfo(prefixValue, tnsValue);
- }
- else if (event.widget == targetNamespaceText)
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- String aPrefix = helper.getPrefix(xsdSchema.getElement().getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
- // updateNamespaceInfo(aPrefix, tnsValue);
- updateNamespaceInfo(prefixValue, tnsValue);
- }
- }
-
- public void doWidgetSelected(SelectionEvent e) {
- if (e.widget == editButton) {
- XSDEditNamespacesAction nsAction = new XSDEditNamespacesAction(XSDEditorPlugin.getXSDString("_UI_ACTION_EDIT_NAMESPACES"), xsdSchema.getElement(), null, xsdSchema); //$NON-NLS-1$
- nsAction.run();
- refresh();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
- private void updateNamespaceInfo(String newPrefix, String newTargetNamespace)
- {
- Element element = xsdSchema.getElement();
- DocumentImpl doc = (DocumentImpl)element.getOwnerDocument();
-
- String modelTargetNamespace = xsdSchema.getTargetNamespace();
- String oldNamespace = xsdSchema.getTargetNamespace();
-
- TypesHelper helper = new TypesHelper(xsdSchema);
- String oldPrefix = helper.getPrefix(element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
-
- if (modelTargetNamespace == null)
- {
- modelTargetNamespace = ""; //$NON-NLS-1$
- }
-
- String targetNamespace = newTargetNamespace.trim();
- String prefix = newPrefix.trim();
-
- if (!validatePrefix(prefix) || !validateTargetNamespace(targetNamespace))
- {
- return;
- }
-
- if (prefix.length() > 0 && targetNamespace.length() == 0)
- {
- // can't have blank targetnamespace and yet specify a prefix
- return;
- }
-
- doc.getModel().beginRecording(this, XSDEditorPlugin.getXSDString("_UI_TARGETNAMESPACE_CHANGE")); //$NON-NLS-1$
- String xsdForXSDPrefix = xsdSchema.getSchemaForSchemaQNamePrefix();
- Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-
-// For debugging
-// System.out.println("1. SW Map is " + map.values());
-// System.out.println("1. SW Map keys are " + map.keySet());
-
- // Check if prefix is blank
- // if it is, then make sure we have a prefix
- // for schema for schema
- if (prefix.length() == 0)
- {
- // if prefix for schema for schema is blank
- // then set it to value specified in preference
- // and update ALL nodes with this prefix
- if (xsdForXSDPrefix == null || (xsdForXSDPrefix != null && xsdForXSDPrefix.trim().length() == 0))
- {
- // get preference prefix
- xsdForXSDPrefix = XSDEditorPlugin.getPlugin().getXMLSchemaPrefix();
- // get a unique prefix by checking what's in the map
-
- xsdForXSDPrefix = getUniqueSchemaForSchemaPrefix(xsdForXSDPrefix, map);
- element.setAttribute("xmlns:" + xsdForXSDPrefix, XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001); //$NON-NLS-1$
-
- updateAllNodes(element, xsdForXSDPrefix);
-
- // remove the old xmlns attribute for the schema for schema
- if (element.getAttribute("xmlns") != null && //$NON-NLS-1$
- element.getAttribute("xmlns").equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001)) //$NON-NLS-1$
- {
- element.removeAttribute("xmlns"); //$NON-NLS-1$
- }
- }
- }
-
- if (targetNamespace.length() > 0 ||
- (targetNamespace.length() == 0 && prefix.length() == 0))
- {
- // clean up the old prefix for this schema
- if (oldPrefix != null && oldPrefix.length() > 0)
- {
- element.removeAttribute("xmlns:"+oldPrefix); //$NON-NLS-1$
-// element.setAttribute("xmlns:" + prefix, targetNamespace);
-// java.util.Map prefixToNameSpaceMap = xsdSchema.getQNamePrefixToNamespaceMap();
-// prefixToNameSpaceMap.remove(oldPrefix);
- }
- else // if no prefix
- {
- if (element.getAttribute("xmlns") != null) //$NON-NLS-1$
- {
- if (!element.getAttribute("xmlns").equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001)) //$NON-NLS-1$
- {
- element.removeAttribute("xmlns"); //$NON-NLS-1$
- }
- }
- }
- }
-
- if (targetNamespace.length() > 0)
- {
- if (!modelTargetNamespace.equals(targetNamespace))
- {
- element.setAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE, targetNamespace);
- }
- // now set the new xmlns:prefix attribute
- if (prefix.length() > 0)
- {
- element.setAttribute("xmlns:" + prefix, targetNamespace); //$NON-NLS-1$
- }
- else
- {
- element.setAttribute("xmlns", targetNamespace); //$NON-NLS-1$
- }
- // set the targetNamespace attribute
- }
- else // else targetNamespace is blank
- {
- if (prefix.length() == 0)
- {
- element.removeAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
- }
- }
-
-// System.out.println("1.5 SW Map is " + map.values());
-// System.out.println("1.5 SW Map keys are " + map.keySet());
-
- // do our own referential integrity
- TargetNamespaceChangeHandler targetNamespaceChangeHandler = new TargetNamespaceChangeHandler(xsdSchema, oldNamespace, targetNamespace);
- targetNamespaceChangeHandler.resolve();
-
- XSDSchemaHelper.updateElement(xsdSchema);
-
- doc.getModel().endRecording(this);
-
-// For debugging
-// map = xsdSchema.getQNamePrefixToNamespaceMap();
-// System.out.println("2. SW Map is " + map.values());
-// System.out.println("2. SW Map keys are " + map.keySet());
- }
-
- private String getUniqueSchemaForSchemaPrefix(String xsdForXSDPrefix, Map map)
- {
- if (xsdForXSDPrefix == null || (xsdForXSDPrefix != null && xsdForXSDPrefix.trim().length() == 0))
- {
- xsdForXSDPrefix = "xsd"; //$NON-NLS-1$
- }
- // ensure prefix is unique
- int prefixExtension = 1;
- while (map.containsKey(xsdForXSDPrefix) && prefixExtension < 100)
- {
- xsdForXSDPrefix = xsdForXSDPrefix + String.valueOf(prefixExtension);
- prefixExtension++;
- }
- return xsdForXSDPrefix;
- }
-
- private void updateAllNodes(Element element, String prefix)
- {
- element.setPrefix(prefix);
- NodeList list = element.getChildNodes();
- if (list != null)
- {
- for (int i=0; i < list.getLength(); i++)
- {
- Node child = list.item(i);
- if (child != null && child instanceof Element)
- {
- child.setPrefix(prefix);
- if (child.hasChildNodes())
- {
- updateAllNodes((Element)child, prefix);
- }
- }
- }
- }
- }
-
- private boolean validateTargetNamespace(String ns)
- {
- // will allow blank namespace !!
- if (ns.equals(""))
- {
- return true;
- }
-
- String errorMessage = null;
- try
- {
- URI testURI = new URI(ns);
- }
- catch (URISyntaxException e)
- {
- errorMessage = XSDEditorPlugin.getXSDString("_WARN_INVALID_TARGET_NAMESPACE"); //$NON-NLS-1$
- }
-
- if (errorMessage == null || errorMessage.length() == 0)
- {
- return true;
- }
- return false;
- }
-
- public void dispose()
- {
- super.dispose();
- if (red != null)
- {
- red.dispose();
- red = null;
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSectionDescriptor.java
deleted file mode 100644
index c156eaa199..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSectionDescriptor.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.impl.XSDSchemaImpl;
-
-public class NamespaceSectionDescriptor extends AbstractSectionDescriptor
-{
- NamespaceSection namespaceSection;
- /**
- *
- */
- public NamespaceSectionDescriptor()
- {
- super();
- namespaceSection = new NamespaceSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.namespaceSection";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDConcreteComponent.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return namespaceSection;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDSchemaImpl) {
- return true;
- }
- }
-
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSection.java
deleted file mode 100644
index 7309cedd58..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSection.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.properties.XSDPropertySourceProvider;
-import org.eclipse.xsd.XSDElementDeclaration;
-
-public class OtherAttributesSection extends AbstractSection
-{
- PropertySheetPage propertySheetPage;
- IWorkbenchPart part;
-
- /**
- *
- */
- public OtherAttributesSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(0, 0);
- data.bottom = new FormAttachment(100, 0);
-
-// composite = new Composite(parent, SWT.FLAT);
-// GridLayout gl = new GridLayout(1, true);
-// composite.setLayout(gl);
-// GridData data = new GridData();
-// data.grabExcessHorizontalSpace = true;
-// data.grabExcessVerticalSpace = true;
-// composite.setLayoutData(data);
-
- propertySheetPage = new PropertySheetPage();
- propertySheetPage.createControl(composite);
- propertySheetPage.setPropertySourceProvider(new XSDPropertySourceProvider());
- propertySheetPage.getControl().setLayoutData(data);
- }
-
- public void selectionChanged(IWorkbenchPart part, ISelection selection)
- {
- this.part = part;
- this.selection = selection;
- if (propertySheetPage == null)
- {
- propertySheetPage = new PropertySheetPage();
- }
- propertySheetPage.selectionChanged(part, selection);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- if (doRefresh)
- {
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
-
- Object input = getInput();
- if (!propertySheetPage.getControl().isDisposed())
- propertySheetPage.selectionChanged(part, selection);
- }
- }
-
- public void dispose()
- {
-// propertySheetPage.dispose();
-// propertySheetPage = null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
- public void setInput(IWorkbenchPart part, ISelection selection)
- {
- super.setInput(part, selection);
- if (input instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)input;
- if (elementDeclaration.isElementDeclarationReference())
- {
- input = elementDeclaration.getResolvedElementDeclaration();
-
- isReadOnly = (!(elementDeclaration.getResolvedElementDeclaration().getRootContainer() == xsdSchema));
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSectionDescriptor.java
deleted file mode 100644
index 714d6c2b25..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSectionDescriptor.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDEnumerationFacet;
-import org.eclipse.xsd.XSDIdentityConstraintCategory;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDPatternFacet;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-
-public class OtherAttributesSectionDescriptor extends AbstractSectionDescriptor
-{
- OtherAttributesSection otherAttributesSection;
- /**
- *
- */
- public OtherAttributesSectionDescriptor()
- {
- super();
- otherAttributesSection = new OtherAttributesSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.otherattributes";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDConcreteComponent.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return otherAttributesSection;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.other";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDConcreteComponent)
- {
- if (object instanceof XSDAttributeGroupDefinition ||
- object instanceof XSDAttributeUse ||
- object instanceof XSDAttributeDeclaration ||
- object instanceof XSDEnumerationFacet ||
- object instanceof XSDPatternFacet ||
- object instanceof XSDSimpleTypeDefinition ||
- object instanceof XSDAnnotation ||
- object instanceof XSDWildcard ||
- object instanceof XSDSchemaDirective)
- {
- return false;
- }
- else if (object instanceof XSDModelGroup)
- {
- return false;
- }
- else if (object instanceof XSDElementDeclaration)
- {
-// Remove this to fix bug 3870 Element references should have the same properties as elements
-// if (((XSDElementDeclaration)object).isElementDeclarationReference())
-// {
-// return false;
-// }
- return true;
- }
- else if (object instanceof XSDModelGroupDefinition)
- {
- if (((XSDModelGroupDefinition)object).isModelGroupDefinitionReference())
- {
- return false;
- }
- return false;
- }
- else if (object instanceof XSDIdentityConstraintDefinition)
- {
- XSDIdentityConstraintDefinition constraint = (XSDIdentityConstraintDefinition)object;
- XSDIdentityConstraintCategory category = constraint.getIdentityConstraintCategory();
- if (category.getValue() == XSDIdentityConstraintCategory.KEYREF)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- return true;
- }
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSection.java
deleted file mode 100644
index b0fc34ff78..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSection.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.wizards.RegexWizard;
-import org.eclipse.xsd.XSDPatternFacet;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class PatternSection extends AbstractSection
-{
- /**
- *
- */
- public PatternSection()
- {
- super();
- }
-
- Text patternText;
- Button button;
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
-
- super.createControls(parent, factory);
- Composite composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
- patternText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- CLabel nameLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_VALUE") + ":"); //$NON-NLS-1$
- button = getWidgetFactory().createButton(composite, "", SWT.PUSH); //$NON-NLS-1$
- button.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
-
- patternText.addListener(SWT.Modify, this);
-
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(patternText, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(button, 0, SWT.CENTER);
- nameLabel.setLayoutData(data);
-
- button.addSelectionListener(this);
- data = new FormData();
- data.left = new FormAttachment(100, -rightMarginSpace + 2);
- data.right = new FormAttachment(100,0);
- data.top = new FormAttachment(patternText, 0, SWT.CENTER);
- button.setLayoutData(data);
-
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(button, 0);
- patternText.setLayoutData(data);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- setListenerEnabled(false);
- Object input = getInput();
- patternText.setText(""); //$NON-NLS-1$
- if (input != null)
- {
- Element element = null;
- if (input instanceof XSDPatternFacet)
- {
- element = ((XSDPatternFacet)input).getElement();
- }
- if (element != null)
- {
- String result = element.getAttribute(XSDConstants.VALUE_ATTRIBUTE);
- if (result != null)
- {
- patternText.setText(result);
- }
- }
- }
- setListenerEnabled(true);
- }
-
- /**
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == button)
- {
- Shell shell = Display.getCurrent().getActiveShell();
- Element element = ((XSDPatternFacet)getInput()).getElement();
-
- String initialValue = element.getAttribute(XSDConstants.VALUE_ATTRIBUTE);
- if (initialValue == null)
- {
- initialValue = ""; //$NON-NLS-1$
- }
- RegexWizard wizard = new RegexWizard(initialValue);
-
- WizardDialog wizardDialog = new WizardDialog(shell, wizard);
- wizardDialog.setBlockOnOpen(true);
- wizardDialog.create();
-
- int result = wizardDialog.open();
-
- if (result == Window.OK)
- {
- String newPattern = wizard.getPattern();
- beginRecording(XSDEditorPlugin.getXSDString("_UI_PATTERN_VALUE_CHANGE"), element); //$NON-NLS-1$
- element.setAttribute(XSDConstants.VALUE_ATTRIBUTE, newPattern);
- ((XSDPatternFacet)getInput()).setLexicalValue(newPattern);
- endRecording(element);
- }
-
- refresh();
- }
- }
-
- public void doHandleEvent(Event event)
- {
- if (event.widget == patternText)
- {
- XSDPatternFacet pattern = (XSDPatternFacet)getInput();
-
- String newValue = patternText.getText();
- if (newValue.length() > 0)
- {
- pattern.setLexicalValue(newValue);
- }
- }
-
- }
-
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSectionDescriptor.java
deleted file mode 100644
index e7432e8785..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSectionDescriptor.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDPatternFacet;
-
-public class PatternSectionDescriptor extends AbstractSectionDescriptor
-{
- /**
- *
- */
- public PatternSectionDescriptor()
- {
- super();
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.pattern";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDPatternFacet.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new PatternSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDPatternFacet)
- {
- return true;
- }
- }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSection.java
deleted file mode 100644
index 472bd0bc2b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSection.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class ReferenceSection extends AbstractSection
-{
- protected CCombo componentNameCombo;
- Button button;
- IEditorPart editorPart;
- CLabel refLabel;
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
- componentNameCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- componentNameCombo.addSelectionListener(this);
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(0, 1);
- componentNameCombo.setLayoutData(data);
-
- refLabel = getWidgetFactory().createCLabel(composite, XSDConstants.REF_ATTRIBUTE + ":"); //$NON-NLS-1$
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(componentNameCombo, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(componentNameCombo, 0, SWT.CENTER);
- refLabel.setLayoutData(data);
- }
-
- public void setInput(IWorkbenchPart part, ISelection selection)
- {
- super.setInput(part, selection);
-
- Object obj = getInput();
- TypesHelper helper = new TypesHelper(xsdSchema);
- List items = new ArrayList();
- if (obj instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)obj;
- if (elementDeclaration.isElementDeclarationReference())
- {
- items = helper.getGlobalElements();
-// minimumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MINIMUM"));
-// WorkbenchHelp.setHelp(minimumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MINIMUM);
-// maximumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MAXIMUM"));
-// WorkbenchHelp.setHelp(maximumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MAXIMUM);
- }
- }
- else if (obj instanceof XSDAttributeDeclaration)
- {
- items = helper.getGlobalAttributes();
- }
- else if (obj instanceof XSDModelGroupDefinition)
- {
- XSDModelGroupDefinition group = (XSDModelGroupDefinition)obj;
- if (group.isModelGroupDefinitionReference())
- {
- items = helper.getModelGroups();
- // Need tooltip for Group Ref
-// minimumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MINIMUM"));
-// WorkbenchHelp.setHelp(minimumField, XSDEditorContextIds.XSDE_GROUP_REF_MINIMUM);
-// maximumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MAXIMUM"));
-// WorkbenchHelp.setHelp(maximumField, XSDEditorContextIds.XSDE_GROUP_REF_MAXIMUM);
- }
- }
- else if (obj instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent)obj;
- Element element = namedComponent.getElement();
- if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
- {
- items = helper.getGlobalAttributeGroups();
-// WorkbenchHelp.setHelp(client, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_REF_DESIGN_VIEW);
-// WorkbenchHelp.setHelp(refCombo, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_REF_NAME);
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, true))
- {
- items = helper.getGlobalElements();
-// minimumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MINIMUM"));
-// WorkbenchHelp.setHelp(minimumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MINIMUM);
-// maximumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MAXIMUM"));
-// WorkbenchHelp.setHelp(maximumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MAXIMUM);
- }
- }
- else if (obj instanceof XSDAttributeUse)
- {
- XSDAttributeUse attributeUse = (XSDAttributeUse)obj;
- Element element = attributeUse.getElement();
- if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
- {
- items = helper.getGlobalAttributes();
-// WorkbenchHelp.setHelp(client, XSDEditorContextIds.XSDE_ATTRIBUTE_REF_DESIGN_VIEW);
-// WorkbenchHelp.setHelp(refCombo, XSDEditorContextIds.XSDE_ATTRIBUTE_REF_NAME);
- }
- }
- items.add(0, "");
- int size = items.size();
- String [] st = new String[size];
- System.arraycopy(items.toArray(), 0, st, 0, size);
- componentNameCombo.setItems(st);
-
- st = null;
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- if (doRefresh)
- {
- setListenerEnabled(false);
- // componentNameCombo.removeListener(SWT.Modify, this);
- Object input = getInput();
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
-
- if (input instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent)getInput();
- Element element = namedComponent.getElement();
- if (element != null)
- {
- String attrValue = element.getAttribute(XSDConstants.REF_ATTRIBUTE);
- if (attrValue == null)
- {
- attrValue = "";
- }
- componentNameCombo.setText(attrValue);
- }
- }
- else if (input instanceof XSDParticleContent)
- {
- XSDParticleContent particle = (XSDParticleContent)input;
- Element element = particle.getElement();
- String attrValue = element.getAttribute(XSDConstants.REF_ATTRIBUTE);
- if (attrValue == null)
- {
- attrValue = "";
- }
- componentNameCombo.setText(attrValue);
- }
- else if (input instanceof XSDAttributeUse)
- {
- XSDAttributeUse attributeUse = (XSDAttributeUse)getInput();
- Element element = attributeUse.getElement();
- String attrValue = element.getAttribute(XSDConstants.REF_ATTRIBUTE);
- if (attrValue == null)
- {
- attrValue = "";
- }
- componentNameCombo.setText(attrValue);
- }
-
- setListenerEnabled(true);
- // componentNameCombo.addListener(SWT.Modify, this);
- }
- }
-
-
- public void widgetSelected(SelectionEvent e)
- {
- Object input = getInput();
- if (e.widget == componentNameCombo)
- {
- String newValue = componentNameCombo.getText();
- if (input instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent)getInput();
- Element element = namedComponent.getElement();
-
- if (namedComponent instanceof XSDElementDeclaration)
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_REF_CHANGE"), element); //$NON-NLS-1$
- element.setAttribute(XSDConstants.REF_ATTRIBUTE, newValue);
- endRecording(element);
- }
- else if (namedComponent instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration attr = (XSDAttributeDeclaration)namedComponent;
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTEGROUP_REF_CHANGE"), element); //$NON-NLS-1$
- element.setAttribute(XSDConstants.REF_ATTRIBUTE, newValue);
- endRecording(element);
-
- }
- else if (namedComponent instanceof XSDAttributeGroupDefinition)
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTEGROUP_REF_CHANGE"), element); //$NON-NLS-1$
- // element.setAttribute(XSDConstants.REF_ATTRIBUTE, (String) value);
- XSDAttributeGroupDefinition attrGroup = (XSDAttributeGroupDefinition)namedComponent;
- Iterator iter = xsdSchema.getAttributeGroupDefinitions().iterator();
- while (iter.hasNext())
- {
- XSDAttributeGroupDefinition def = (XSDAttributeGroupDefinition)iter.next();
- if (def.getQName(xsdSchema).equals(componentNameCombo.getText()))
- {
- attrGroup.setResolvedAttributeGroupDefinition(def);
- attrGroup.setName(componentNameCombo.getText());
- break;
- }
- }
- endRecording(element);
- }
- else if (namedComponent instanceof XSDModelGroupDefinition)
- {
- beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_REF_CHANGE"), element); //$NON-NLS-1$
- XSDModelGroupDefinition modelGroup = (XSDModelGroupDefinition)namedComponent;
- element.setAttribute(XSDConstants.REF_ATTRIBUTE, newValue);
- endRecording(element);
- }
- }
- else if (input instanceof XSDAttributeUse)
- {
- XSDAttributeUse attributeUse = (XSDAttributeUse)getInput();
- Element element = attributeUse.getElement();
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_USE_CHANGE"), element); //$NON-NLS-1$
- Iterator iter = xsdSchema.getAttributeDeclarations().iterator();
- while (iter.hasNext())
- {
- XSDAttributeDeclaration attr = (XSDAttributeDeclaration)iter.next();
- if (attr.getQName(xsdSchema).equals(newValue))
- {
- attributeUse.setAttributeDeclaration(attr);
- element.setAttribute(XSDConstants.REF_ATTRIBUTE, newValue);
- break;
- }
- }
-
- endRecording(element);
- }
- }
- }
-
- public void setEditorPart(IEditorPart editorPart)
- {
- this.editorPart = editorPart;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSectionDescriptor.java
deleted file mode 100644
index 26885b62ea..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSectionDescriptor.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.wst.common.ui.properties.ISectionDescriptor;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class ReferenceSectionDescriptor extends AbstractSectionDescriptor implements ISectionDescriptor
-{
- ReferenceSection referenceSection;
-
- /**
- *
- */
- public ReferenceSectionDescriptor()
- {
- super();
- this.referenceSection = new ReferenceSection();
- }
-
-
- /**
- *
- */
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "org.eclipse.wst.wsdleditor.section.reference";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDNamedComponent.class);
- list.add(XSDElementDeclaration.class);
- list.add(XSDModelGroupDefinition.class);
- list.add(XSDAttributeDeclaration.class);
- list.add(XSDAttributeUse.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return referenceSection;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- if (part != null)
- {
- referenceSection.setEditorPart(part.getSite()
- .getWorkbenchWindow()
- .getActivePage()
- .getActiveEditor());
- }
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent)object;
- Element element = namedComponent.getElement();
- if (element == null)
- {
- return false;
- }
- if (inputEquals(element, element.getLocalName(), true))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else if (object instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)object;
- if (elementDeclaration.isElementDeclarationReference())
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else if (object instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration attr = (XSDAttributeDeclaration)object;
- if (attr.isAttributeDeclarationReference())
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else if (object instanceof XSDModelGroupDefinition)
- {
- XSDModelGroupDefinition group = (XSDModelGroupDefinition)object;
- if (group.isModelGroupDefinitionReference())
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else if (object instanceof XSDAttributeUse)
- {
- XSDAttributeUse attributeUse = (XSDAttributeUse)object;
- XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
- Element element = attributeUse.getElement();
- if (inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationDescriptor.java
deleted file mode 100644
index 59b47f0ee8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationDescriptor.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDRedefine;
-
-public class SchemaLocationDescriptor extends AbstractSectionDescriptor
-{
- SchemaLocationSection schemaLocationSection;
- /**
- *
- */
- public SchemaLocationDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.schemaLocationSection";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDConcreteComponent.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return schemaLocationSection;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
-
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDInclude || object instanceof XSDRedefine) {
- schemaLocationSection = new SchemaLocationSection();
- return true;
- }
- }
-
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationSection.java
deleted file mode 100644
index 99bd08f824..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationSection.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.common.ui.viewers.ResourceFilter;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.wizards.XSDSelectIncludeFileWizard;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.impl.XSDIncludeImpl;
-import org.eclipse.xsd.impl.XSDRedefineImpl;
-import org.w3c.dom.Element;
-
-public class SchemaLocationSection extends AbstractSection
-{
- IWorkbenchPart part;
- Text schemaLocationText;
- Button wizardButton;
-
- /**
- *
- */
- public SchemaLocationSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- Composite composite = getWidgetFactory().createFlatFormComposite(parent);
-
- int leftCoordinate = getStandardLabelWidth(composite,
- new String[] {XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_LOCATION")});
-
- // Create Schema Location Label
- CLabel schemaLocationLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_LOCATION")); //$NON-NLS-1$
-
- // Create Schema Location Text
- schemaLocationText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
-
- // Create Wizard Button
- wizardButton = getWidgetFactory().createButton(composite, "", SWT.NONE); //$NON-NLS-1$
-
- wizardButton.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
- FormData buttonFormData = new FormData();
- buttonFormData.left = new FormAttachment(100, -rightMarginSpace + 2);
- buttonFormData.right = new FormAttachment(100,0);
- buttonFormData.top = new FormAttachment(schemaLocationText, 0, SWT.CENTER);
- wizardButton.setLayoutData(buttonFormData);
- wizardButton.addSelectionListener(this);
-
- schemaLocationText.setEditable(false);
- FormData schemaLocationData = new FormData();
- // schemaLocationData.left = new FormAttachment(0, 110);
- schemaLocationData.left = new FormAttachment(0, leftCoordinate);
- schemaLocationData.right = new FormAttachment(wizardButton, 0);
-// schemaLocationData.top = new FormAttachment(0, 0);
- schemaLocationText.setLayoutData(schemaLocationData);
- schemaLocationText.addListener(SWT.Modify, this);
-
- FormData data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(schemaLocationText, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(schemaLocationText, 0, SWT.CENTER);
- schemaLocationLabel.setLayoutData(data);
-
- }
-
- public void widgetSelected(SelectionEvent event) {
- if (event.widget == wizardButton) {
- Shell shell = Display.getCurrent().getActiveShell();
-
- IFile currentIFile = ((IFileEditorInput)getActiveEditor().getEditorInput()).getFile();
- ViewerFilter filter = new ResourceFilter(new String[] { ".xsd" }, //$NON-NLS-1$
- new IFile[] { currentIFile },
- null);
-
- XSDSelectIncludeFileWizard fileSelectWizard =
- new XSDSelectIncludeFileWizard(xsdSchema, true,
- XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_SCHEMA"), //$NON-NLS-1$
- XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_DESC"), //$NON-NLS-1$
- filter,
- (IStructuredSelection) selection);
-
- WizardDialog wizardDialog = new WizardDialog(shell, fileSelectWizard);
- wizardDialog.create();
- wizardDialog.setBlockOnOpen(true);
- int result = wizardDialog.open();
-
- String value = schemaLocationText.getText();
- if (result == Window.OK)
- {
- IFile selectedIFile = fileSelectWizard.getResultFile();
- String schemaFileString = value;
- if (selectedIFile != null)
- {
- schemaFileString = URIHelper.getRelativeURI(selectedIFile.getLocation(), currentIFile.getLocation());
- }
- else
- {
- schemaFileString = fileSelectWizard.getURL();
- }
-
- if (input instanceof XSDInclude) {
- Element element = ((XSDIncludeImpl) input).getElement();
- element.setAttribute("schemaLocation", schemaFileString); //$NON-NLS-1$
- }
- else if (input instanceof XSDRedefine) {
- Element element = ((XSDRedefineImpl) input).getElement();
- element.setAttribute("schemaLocation", schemaFileString); //$NON-NLS-1$
- }
- refresh();
- }
- }
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- if (doRefresh)
- {
- setListenerEnabled(false);
-
- Element element = null;
- if (input instanceof XSDInclude) {
- element = ((XSDIncludeImpl) input).getElement();
- }
- else if (input instanceof XSDRedefine) {
- element = ((XSDRedefineImpl) input).getElement();
- }
-
- if (element != null) {
- String location = ""; //$NON-NLS-1$
- location = element.getAttribute("schemaLocation"); //$NON-NLS-1$
- schemaLocationText.setText(location);
- }
-
- setListenerEnabled(true);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentBaseTypeOptionsDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentBaseTypeOptionsDialog.java
deleted file mode 100644
index 2aa1a5094e..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentBaseTypeOptionsDialog.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class SimpleContentBaseTypeOptionsDialog extends TypesDialog
-{
- /**
- * @param parentShell
- * @param element
- * @param id
- * @param xsdSchema
- */
- public SimpleContentBaseTypeOptionsDialog(Shell parentShell, Element element, Object id, XSDSchema xsdSchema)
- {
- super(parentShell, element, id, xsdSchema);
- showAnonymous = false;
- }
-
- protected void ok()
- {
- TableItem[] items = table.getItems();
- int selection = table.getSelectionIndex();
- if (items != null && items.length > 0 && selection >= 0)
- {
- typeObject = items[selection].getData();
- }
- }
-
-
- public void handleSetInput()
- {
- XSDDOMHelper domHelper = new XSDDOMHelper();
- typeSection.getSimpleType().setSelection(false);
- typeSection.getUserSimpleType().setSelection(false);
- typeSection.getUserComplexType().setSelection(false);
- showAnonymous = false;
- if (element != null)
- {
- String derivedBy = domHelper.getDerivedByName(element);
- String baseType = domHelper.getBaseType(element);
- boolean derivedByRestriction = true;
-
- if (XSDDOMHelper.inputEquals(element, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- typeSection.getSimpleType().setEnabled(false);
- typeSection.getUserSimpleType().setEnabled(false);
- typeSection.getUserComplexType().setSelection(true);
-
- previousType = 3;
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
- {
- typeSection.getSimpleType().setEnabled(false);
- typeSection.getUserSimpleType().setEnabled(false);
-
- if (derivedBy.equals("restriction"))
- {
- typeSection.getSimpleType().setEnabled(false);
- typeSection.getUserSimpleType().setEnabled(false);
- typeSection.getUserComplexType().setEnabled(true);
- }
- else if (derivedBy.equals("extension"))
- {
- derivedByRestriction = false;
- typeSection.getSimpleType().setEnabled(true);
- typeSection.getUserSimpleType().setEnabled(true);
- typeSection.getUserComplexType().setEnabled(true);
- }
- }
-
- if (derivedBy != null)
- {
- if (baseType != null && !baseType.equals(""))
- {
- Element parent = (Element)element.getParentNode();
- XSDConcreteComponent component = null;
- if (parent != null)
- {
- component = xsdSchema.getCorrespondingComponent(parent);
- }
- XSDTypeDefinition baseTypeDefinition = null;
- if (component instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition)component;
- baseTypeDefinition = complexType.getBaseTypeDefinition();
- }
-
- if (typeSection.getBuiltInTypeNamesList(xsdSchema).contains(baseType) && !derivedByRestriction)
- {
- typeSection.getSimpleType().setSelection(true);
- populateBuiltInType();
- int i = typeSection.getBuiltInTypeNamesList(xsdSchema).indexOf(baseType);
- table.setSelection(i);
- previousType = 1;
- }
- else if (baseTypeDefinition instanceof XSDSimpleTypeDefinition && !derivedByRestriction)
- {
- typeSection.getUserSimpleType().setSelection(true);
- populateUserSimpleType();
- int i = typeSection.getUserSimpleTypeNamesList(xsdSchema).indexOf(baseType);
- if (showAnonymous)
- {
- table.setSelection(i + 1);
- }
- else
- {
- table.setSelection(i);
- }
- previousType = 2;
- }
- else if (baseTypeDefinition instanceof XSDComplexTypeDefinition)
- {
- typeSection.getUserComplexType().setSelection(true);
- populateUserComplexType();
- int i = typeSection.getUserComplexTypeNamesList(xsdSchema).indexOf(baseType);
- if (showAnonymous)
- {
- table.setSelection(i + 1);
- }
- else
- {
- table.setSelection(i);
- }
- previousType = 3;
- }
- }
- else
- {
- typeSection.getUserComplexType().setSelection(true);
- populateUserComplexType();
- table.setSelection(0);
- }
- }
-
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentUnionMemberTypesDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentUnionMemberTypesDialog.java
deleted file mode 100644
index 7434a931db..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentUnionMemberTypesDialog.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.wst.xsd.ui.internal.widgets.TypeSection;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class SimpleContentUnionMemberTypesDialog extends Dialog implements SelectionListener
-{
- XSDSimpleTypeDefinition simpleType;
- /**
- * @param parentShell
- */
- public SimpleContentUnionMemberTypesDialog(Shell parentShell, XSDSimpleTypeDefinition simpleType)
- {
- super(parentShell);
- this.simpleType = simpleType;
- }
-
- Table table;
- TypeSection typeSection;
- Button addButton, removeButton;
- org.eclipse.swt.widgets.List memberTypesList;
-
- private String result;
-
- protected void configureShell(Shell shell)
- {
- super.configureShell(shell);
- }
-
- protected void buttonPressed(int buttonId)
- {
- if (buttonId == Dialog.OK)
- {
- StringBuffer sb = new StringBuffer();
- int length = memberTypesList.getItemCount();
- for (int i=0 ; i < length; i++)
- {
- sb.append(memberTypesList.getItem(i));
- if (i < length - 1)
- {
- sb.append(" ");
- }
- }
- result = sb.toString();
- }
- super.buttonPressed(buttonId);
- }
-
- public String getResult() { return result; }
-
- //
- // Create the controls
- //
- public Control createDialogArea(Composite parent)
- {
- int tabIndex = 0;
- Composite client = (Composite)super.createDialogArea(parent);
- getShell().setText("Union " + XSDConstants.MEMBERTYPES_ATTRIBUTE);
-
- Label instructions = new Label(client, SWT.LEFT | SWT.WRAP);
- instructions.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_SELECT_MEMBERTYPES"));
-
- Composite columnsComposite = new Composite(client, SWT.NONE);
- GridLayout ccGL = new GridLayout();
- ccGL.verticalSpacing = 0;
- ccGL.horizontalSpacing = 0;
- ccGL.marginHeight = 0;
- ccGL.marginWidth = 0;
- ccGL.makeColumnsEqualWidth = true;
- ccGL.numColumns = 3;
- columnsComposite.setLayout(ccGL);
-
- GridData ccGD = new GridData();
- ccGD.grabExcessHorizontalSpace = true;
- ccGD.horizontalAlignment = GridData.FILL;
- columnsComposite.setLayoutData(ccGD);
-
- typeSection = new TypeSection(columnsComposite);
- typeSection.setShowUserComplexType(false);
-
- typeSection.createClient(columnsComposite);
- typeSection.getSimpleType().setSelection(false);
- typeSection.getSimpleType().addSelectionListener(this);
- typeSection.getUserSimpleType().addSelectionListener(this);
-
- ViewUtility.createHorizontalFiller(columnsComposite, 1);
-
- Label memberListLabel = new Label(columnsComposite, SWT.LEFT);
- memberListLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES_VALUE"));
-
- Composite dataComposite = new Composite(client, SWT.NONE);
- GridLayout dcGL = new GridLayout();
- dcGL.verticalSpacing = 0;
- dcGL.marginHeight = 0;
- dcGL.marginWidth = 0;
- dcGL.numColumns = 3;
- dataComposite.setLayout(dcGL);
-
- GridData dcGD = new GridData();
- dcGD.grabExcessHorizontalSpace = true;
- dcGD.grabExcessVerticalSpace = true;
- dataComposite.setLayoutData(dcGD);
-
- table = new Table(dataComposite,
- SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- table.setHeaderVisible(false);
- table.setLinesVisible(true);
- GridData gd2 = new GridData();
- gd2.grabExcessHorizontalSpace = true;
- gd2.grabExcessVerticalSpace = true;
- gd2.horizontalAlignment = GridData.FILL;
- gd2.verticalAlignment = GridData.FILL;
- gd2.heightHint = 200;
- gd2.widthHint = 200;
- table.setLayoutData(gd2);
-
- // Fill table
- handleSetInput();
- int tableItemCount = table.getItemCount();
-
- TableColumn tc = new TableColumn(table, SWT.LEFT);
-// tc.setImage(XSDEditorPlugin.getXSDImage("icons/XSDElement.gif"));
- //tc.setText("Available types:");
- tc.setWidth(200);
- tc.setResizable(true);
-
- Composite buttonComposite = new Composite(dataComposite, SWT.NONE);
- GridLayout bcGL = new GridLayout();
- bcGL.numColumns = 1;
- buttonComposite.setLayout(bcGL);
- addButton = new Button(buttonComposite, SWT.PUSH);
- addButton.setText(">");
- addButton.addSelectionListener(this);
- removeButton = new Button(buttonComposite, SWT.PUSH);
- removeButton.setText("<");
- removeButton.addSelectionListener(this);
-
- Composite listComposite = new Composite(dataComposite, SWT.NONE);
- GridLayout mtGL = new GridLayout();
- mtGL.numColumns = 1;
- mtGL.marginHeight = 0;
- mtGL.marginWidth = 0;
- mtGL.horizontalSpacing = 0;
- mtGL.verticalSpacing = 0;
- listComposite.setLayout(mtGL);
-
- GridData mtGD = new GridData();
- mtGD.grabExcessHorizontalSpace = true;
- mtGD.grabExcessVerticalSpace = true;
- mtGD.verticalAlignment = GridData.FILL;
- mtGD.horizontalAlignment = GridData.FILL;
- listComposite.setLayoutData(mtGD);
-
- memberTypesList = new org.eclipse.swt.widgets.List(listComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- GridData mtlGD = new GridData();
- mtlGD.grabExcessHorizontalSpace = true;
- mtlGD.grabExcessVerticalSpace = true;
- mtlGD.verticalAlignment = GridData.FILL;
- mtlGD.horizontalAlignment = GridData.FILL;
- mtlGD.heightHint = 200;
- mtlGD.widthHint = 200;
- memberTypesList.setLayoutData(mtlGD);
-
- initializeMemberListContent();
- return client;
- }
-
- private void initializeMemberListContent()
- {
-// String result = element.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
-// if (result == null)
-// {
-// return;
-// }
-// StringTokenizer token = new StringTokenizer(result);
-// while (token.hasMoreTokens())
-// {
-// memberTypesList.add(token.nextToken());
-// }
- XSDSchema schema = simpleType.getSchema();
- for (Iterator i = simpleType.getMemberTypeDefinitions().iterator(); i.hasNext(); )
- {
- String name = ((XSDSimpleTypeDefinition)i.next()).getQName(schema);
- if (name != null)
- memberTypesList.add(name);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == typeSection.getSimpleType() && typeSection.getSimpleType().getSelection())
- {
- populateBuiltInType();
- }
- else if (e.widget == typeSection.getUserSimpleType() && typeSection.getUserSimpleType().getSelection())
- {
- populateUserSimpleType(false);
- }
- else if (e.widget == addButton)
- {
- TableItem[] items = table.getItems();
- int selection = table.getSelectionIndex();
- if (items != null && items.length > 0 && selection >= 0)
- {
- String typeToAdd = items[selection].getData().toString();
- if (memberTypesList.indexOf(typeToAdd) < 0)
- {
- memberTypesList.add(items[selection].getData().toString());
- }
- }
- }
- else if (e.widget == removeButton)
- {
- String[] typesToRemove = memberTypesList.getSelection();
- for (int i=0; i < typesToRemove.length; i++)
- {
- memberTypesList.remove(typesToRemove[i]);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetDefaultSelected(SelectionEvent e)
- {
- }
-
- public void handleSetInput()
- {
- populateBuiltInType();
- }
-
- public void populateBuiltInType()
- {
- table.removeAll();
- List items = getBuiltInTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public void populateUserSimpleType(boolean showAnonymous)
- {
- table.removeAll();
- if (showAnonymous)
- {
- TableItem anonymousItem = new TableItem(table, SWT.NONE);
- anonymousItem.setText("**anonymous**");
- anonymousItem.setData("**anonymous**");
- }
- List items = getUserSimpleTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public java.util.List getBuiltInTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(simpleType.getSchema());
- return helper.getBuiltInTypeNamesList();
- }
-
- public java.util.List getUserSimpleTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(simpleType.getSchema());
- return helper.getUserSimpleTypeNamesList();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSection.java
deleted file mode 100644
index 833292e1b8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSection.java
+++ /dev/null
@@ -1,541 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateElementAction;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDVariety;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class SimpleTypeSection extends AbstractSection
-{
- CCombo varietyCombo;
- Text typesText;
- CLabel typesLabel;
- Button button;
-
- /**
- *
- */
- public SimpleTypeSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
- varietyCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- CLabel label = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_VARIETY")); //$NON-NLS-1$
-
- List list = XSDVariety.VALUES;
- Iterator iter = list.iterator();
- while (iter.hasNext())
- {
- varietyCombo.add(((XSDVariety)iter.next()).getName());
- }
- varietyCombo.addSelectionListener(this);
-
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(0, 0);
- varietyCombo.setLayoutData(data);
-
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(varietyCombo, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(varietyCombo, 0, SWT.CENTER);
- label.setLayoutData(data);
-
- typesText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- typesLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES")); //$NON-NLS-1$
- button = getWidgetFactory().createButton(composite, "", SWT.PUSH); //$NON-NLS-1$
- button.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
-
- typesText.addListener(SWT.Modify, this);
-
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(button, 0, SWT.CENTER);
- typesText.setLayoutData(data);
-
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(typesText, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(button, 0, SWT.CENTER);
- typesLabel.setLayoutData(data);
-
- button.addSelectionListener(this);
- data = new FormData();
- data.left = new FormAttachment(typesText, 0);
- data.right = new FormAttachment(100,0);
- data.top = new FormAttachment(varietyCombo, +ITabbedPropertyConstants.VSPACE);
- button.setLayoutData(data);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- setListenerEnabled(false);
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
- Object input = getInput();
- varietyCombo.setText(""); //$NON-NLS-1$
- typesText.setText(""); //$NON-NLS-1$
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON")); //$NON-NLS-1$
- if (input != null)
- {
- if (input instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-
- Element simpleTypeElement = st.getElement();
- Element element = null;
- String variety = st.getVariety().getName();
-
- int intVariety = st.getVariety().getValue();
-
- if (variety != null)
- {
- varietyCombo.setText(variety);
- if (intVariety == XSDVariety.ATOMIC)
- {
- element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.RESTRICTION_ELEMENT_TAG);
-// if (element == null)
-// {
-// element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.EXTENSION_ELEMENT_TAG);
-// if (element == null) return;
-// }
-
- if (element == null)
- {
- varietyCombo.setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE")); // "Select a simple type variety"); //$NON-NLS-1$
- }
- else
- {
- String result = element.getAttribute(XSDConstants.BASE_ATTRIBUTE);
- if (result == null)
- {
- typesText.setText("**anonymous**"); //$NON-NLS-1$
- }
- else
- {
- typesText.setText(result);
- }
- }
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON")); //$NON-NLS-1$
- }
- else if (intVariety == XSDVariety.LIST)
- {
- element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.LIST_ELEMENT_TAG);
- if (element != null)
- {
- String result = element.getAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
- if (result == null)
- {
- typesText.setText("**anonymous**"); //$NON-NLS-1$
- }
- else
- {
- typesText.setText(result);
- }
- }
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_ITEM_TYPE")); //$NON-NLS-1$
- }
- else if (intVariety == XSDVariety.UNION)
- {
- Element unionElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.UNION_ELEMENT_TAG);
- if (unionElement != null)
- {
- String memberTypes = unionElement.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- if (memberTypes != null)
- {
- typesText.setText(memberTypes);
- }
- }
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES")); //$NON-NLS-1$
- }
- }
- }
- }
- setListenerEnabled(true);
- }
-
- /**
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e)
- {
- Object input = getInput();
- if (e.widget == varietyCombo)
- {
- if (input != null)
- {
- if (input instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
- Element parent = st.getElement();
-
- String variety = varietyCombo.getText();
- if (variety.equals(XSDVariety.ATOMIC_LITERAL.getName()))
- {
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON")); //$NON-NLS-1$
- st.setVariety(XSDVariety.ATOMIC_LITERAL);
- List attributes = new ArrayList();
- addCreateElementActionIfNotExist(XSDConstants.RESTRICTION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_RESTRICTION"), parent, null); //$NON-NLS-1$
- }
- else if (variety.equals(XSDVariety.UNION_LITERAL.getName()))
- {
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES")); //$NON-NLS-1$
- st.setVariety(XSDVariety.UNION_LITERAL);
- addCreateElementActionIfNotExist(XSDConstants.UNION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_UNION"), parent, null); //$NON-NLS-1$
- }
- else if (variety.equals(XSDVariety.LIST_LITERAL.getName()))
- {
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_ITEM_TYPE")); //$NON-NLS-1$
- st.setVariety(XSDVariety.LIST_LITERAL);
- addCreateElementActionIfNotExist(XSDConstants.LIST_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LIST"), parent, null); //$NON-NLS-1$
- }
- }
- }
- }
- else if (e.widget == button)
- {
- Shell shell = Display.getCurrent().getActiveShell();
- Element element = ((XSDConcreteComponent)input).getElement();
- TypesDialog dialog = null;
-
- if (input instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
- Element simpleTypeElement = st.getElement();
- if (st.getVariety() == XSDVariety.LIST_LITERAL)
- {
- Element listElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.LIST_ELEMENT_TAG);
- dialog = new TypesDialog(shell, listElement, XSDConstants.ITEMTYPE_ATTRIBUTE, xsdSchema);
- dialog.showComplexTypes = false;
- }
- else if (st.getVariety() == XSDVariety.ATOMIC_LITERAL)
- {
- Element derivedByElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.RESTRICTION_ELEMENT_TAG);
- if (derivedByElement == null)
- {
- derivedByElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.EXTENSION_ELEMENT_TAG);
- if (derivedByElement == null) return;
- }
- if (derivedByElement != null)
- {
- dialog = new TypesDialog(shell, derivedByElement, XSDConstants.BASE_ATTRIBUTE, xsdSchema);
- dialog.showComplexTypes = false;
- }
- else
- {
- return;
- }
- }
- else if (st.getVariety() == XSDVariety.UNION_LITERAL)
- {
- SimpleContentUnionMemberTypesDialog unionDialog = new SimpleContentUnionMemberTypesDialog(shell, st);
- unionDialog.setBlockOnOpen(true);
- unionDialog.create();
-
- int result = unionDialog.open();
- if (result == Window.OK)
- {
- String newValue = unionDialog.getResult();
- beginRecording(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES_CHANGE"), element); //$NON-NLS-1$
- Element unionElement = (Element)domHelper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
- unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, newValue);
-
- if (newValue.length() > 0)
- {
- unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, newValue);
- }
- else
- {
- unionElement.removeAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- }
- endRecording(unionElement);
- if (doRefresh)
- {
- refresh();
- }
- }
- return;
- }
- else
- {
- dialog = new TypesDialog(shell, element, "type", xsdSchema); //$NON-NLS-1$
- }
- }
- else
- {
- dialog = new TypesDialog(shell, element, "type", xsdSchema); //$NON-NLS-1$
- }
- beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element); //$NON-NLS-1$
- dialog.setBlockOnOpen(true);
- dialog.create();
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
- st.setElement(element);
- updateSimpleTypeFacets();
- }
- endRecording(element);
- }
- if (doRefresh)
- {
- refresh();
- }
- }
-
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
-
- protected boolean addCreateElementActionIfNotExist(String elementTag, String label, Element parent, Node relativeNode)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
- List attributes = new ArrayList();
- String reuseType = null;
-
- beginRecording(XSDEditorPlugin.getXSDString("_UI_LABEL_VARIETY_CHANGE"), parent); //$NON-NLS-1$
- if (elementTag.equals(XSDConstants.RESTRICTION_ELEMENT_TAG))
- {
- Element listNode = getFirstChildNodeIfExists(parent, XSDConstants.LIST_ELEMENT_TAG, false);
- if (listNode != null)
- {
- reuseType = listNode.getAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
- XSDDOMHelper.removeNodeAndWhitespace(listNode);
- }
-
- Element unionNode = getFirstChildNodeIfExists(parent, XSDConstants.UNION_ELEMENT_TAG, false);
- if (unionNode != null)
- {
- String memberAttr = unionNode.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- if (memberAttr != null)
- {
- StringTokenizer stringTokenizer = new StringTokenizer(memberAttr);
- reuseType = stringTokenizer.nextToken();
- }
- XSDDOMHelper.removeNodeAndWhitespace(unionNode);
- }
-
- if (reuseType == null)
- {
- reuseType = getBuiltInStringQName();
- }
- attributes.add(new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, reuseType));
- st.setItemTypeDefinition(null);
- }
- else if (elementTag.equals(XSDConstants.LIST_ELEMENT_TAG))
- {
- Element restrictionNode = getFirstChildNodeIfExists(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false);
- if (restrictionNode != null)
- {
- reuseType = restrictionNode.getAttribute(XSDConstants.BASE_ATTRIBUTE);
- XSDDOMHelper.removeNodeAndWhitespace(restrictionNode);
- }
- Element unionNode = getFirstChildNodeIfExists(parent, XSDConstants.UNION_ELEMENT_TAG, false);
- if (unionNode != null)
- {
- String memberAttr = unionNode.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- if (memberAttr != null)
- {
- StringTokenizer stringTokenizer = new StringTokenizer(memberAttr);
- reuseType = stringTokenizer.nextToken();
- }
- XSDDOMHelper.removeNodeAndWhitespace(unionNode);
- }
- attributes.add(new DOMAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, reuseType));
- }
- else if (elementTag.equals(XSDConstants.UNION_ELEMENT_TAG))
- {
- Element listNode = getFirstChildNodeIfExists(parent, XSDConstants.LIST_ELEMENT_TAG, false);
- if (listNode != null)
- {
- reuseType = listNode.getAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
- XSDDOMHelper.removeNodeAndWhitespace(listNode);
- }
- Element restrictionNode = getFirstChildNodeIfExists(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false);
- if (restrictionNode != null)
- {
- reuseType = restrictionNode.getAttribute(XSDConstants.BASE_ATTRIBUTE);
- XSDDOMHelper.removeNodeAndWhitespace(restrictionNode);
- }
- attributes.add(new DOMAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, reuseType));
- st.setItemTypeDefinition(null);
- }
-
- if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
- {
- Action action = addCreateElementAction(elementTag,label,attributes,parent,relativeNode);
- action.run();
- }
-
- st.setElement(parent);
-// st.updateElement();
- endRecording(parent);
- return true;
- }
-
- protected Action addCreateElementAction(String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- CreateElementAction action = new CreateElementAction(label);
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- return action;
- }
-
-
- protected Element getFirstChildNodeIfExists(Node parent, String elementTag, boolean isRef)
- {
- NodeList children = parent.getChildNodes();
- Element targetNode = null;
- for (int i=0; i < children.getLength(); i++)
- {
- Node child = children.item(i);
- if (child != null && child instanceof Element)
- {
- if (XSDDOMHelper.inputEquals((Element)child, elementTag, isRef))
- {
- targetNode = (Element)child;
- break;
- }
- }
- }
- return targetNode;
- }
-
- protected String getBuiltInStringQName()
- {
- String stringName = "string"; //$NON-NLS-1$
-
- if (getSchema() != null)
- {
- String schemaForSchemaPrefix = getSchema().getSchemaForSchemaQNamePrefix();
- if (schemaForSchemaPrefix != null && schemaForSchemaPrefix.length() > 0)
- {
- String prefix = getSchema().getSchemaForSchemaQNamePrefix();
- if (prefix != null && prefix.length() > 0)
- {
- stringName = prefix + ":" + stringName; //$NON-NLS-1$
- }
- }
- }
- return stringName;
- }
-
- private void updateSimpleTypeFacets()
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
- Element simpleTypeElement = st.getElement();
- Element derivedByElement = getDomHelper().getDerivedByElement(simpleTypeElement);
- if (derivedByElement != null)
- {
- List nodesToRemove = new ArrayList();
- NodeList childList = derivedByElement.getChildNodes();
- int length = childList.getLength();
- for (int i = 0; i < length; i++)
- {
- Node child = childList.item(i);
- if (child instanceof Element)
- {
- Element elementChild = (Element)child;
- if (!(elementChild.getLocalName().equals("pattern") || elementChild.getLocalName().equals("enumeration") || //$NON-NLS-1$
- XSDDOMHelper.inputEquals(elementChild, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(elementChild, XSDConstants.ANNOTATION_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true) ||
- XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true) ||
- XSDDOMHelper.inputEquals(elementChild, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false)
- ))
- {
- nodesToRemove.add(child);
- }
- }
- }
- Iterator iter = nodesToRemove.iterator();
- while (iter.hasNext())
- {
- Element facetToRemove = (Element)iter.next();
- String facetName = facetToRemove.getLocalName();
- Iterator it = st.getValidFacets().iterator();
- boolean doRemove = true;
- while (it.hasNext())
- {
- String aValidFacet = (String)it.next();
- if (aValidFacet.equals(facetName))
- {
- doRemove = false;
- break;
- }
- }
- if (doRemove)
- {
- XSDDOMHelper.removeNodeAndWhitespace(facetToRemove);
- }
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSectionDescriptor.java
deleted file mode 100644
index 71871e2e2d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSectionDescriptor.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-
-public class SimpleTypeSectionDescriptor extends AbstractSectionDescriptor
-{
-
- /**
- *
- */
- public SimpleTypeSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.simpletype";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDSimpleTypeDefinition.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new SimpleTypeSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- public String getAfterSection()
- {
- return "com.ibm.xsdeditor.section.name";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDSimpleTypeDefinition)
- {
- return true;
- }
- }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSection.java
deleted file mode 100644
index 5754ef2ad6..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSection.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class SimpleTypeUnionSection extends AbstractSection
-{
- Text memberTypesText;
- Button button;
-
- /**
- *
- */
- public SimpleTypeUnionSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
- memberTypesText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- CLabel label = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES")); //$NON-NLS-1$
- button = getWidgetFactory().createButton(composite, "...", SWT.PUSH); //$NON-NLS-1$
-
- memberTypesText.addListener(SWT.Modify, this);
-// memberTypesText.addSelectionListener(this);
-
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(95, 0);
- data.top = new FormAttachment(button, 0, SWT.CENTER);
- memberTypesText.setLayoutData(data);
-
-
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(memberTypesText, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(button, 0, SWT.CENTER);
- label.setLayoutData(data);
-
- button.addSelectionListener(this);
- data = new FormData();
- data.left = new FormAttachment(memberTypesText, +ITabbedPropertyConstants.HSPACE);
- data.right = new FormAttachment(100,0);
- // data.top = new FormAttachment(typeCombo, 0, SWT.CENTER);
- data.top = new FormAttachment(0,0);
- button.setLayoutData(data);
-
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- setListenerEnabled(false);
- Object input = getInput();
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
- memberTypesText.setText(""); //$NON-NLS-1$
- if (input != null)
- {
- Element element = null;
- if (input instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
- element = st.getElement();
- Element unionElement = (Element)domHelper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
- String memberTypes = unionElement.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- if (memberTypes != null)
- {
- memberTypesText.setText(memberTypes);
- }
-
-// StringBuffer buf = new StringBuffer();
-// if (st.getMemberTypeDefinitions().size() > 0)
-// {
-// for (Iterator i = st.getMemberTypeDefinitions().iterator(); i.hasNext(); )
-// {
-// String name = ((XSDSimpleTypeDefinition)i.next()).getQName(getSchema());
-// if (name != null)
-// {
-// buf.append(name);
-// buf.append(" ");
-// }
-// }
-// }
-// memberTypesText.setText(buf.toString());
- }
- }
- setListenerEnabled(true);
- }
-
- /**
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == button)
- {
- Shell shell = Display.getCurrent().getActiveShell();
-
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
- Element element = st.getElement();
- SimpleContentUnionMemberTypesDialog dialog = new SimpleContentUnionMemberTypesDialog(shell, st);
- dialog.setBlockOnOpen(true);
- dialog.create();
-
- int result = dialog.open();
- if (result == Window.OK)
- {
- String newValue = dialog.getResult();
- beginRecording(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES_CHANGE"), element); //$NON-NLS-1$
- Element unionElement = (Element)domHelper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
- unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, newValue);
-
- if (newValue.length() > 0)
- {
- unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, newValue);
- }
- else
- {
- unionElement.removeAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- }
- endRecording(unionElement);
-
- }
-
- refresh();
- }
- }
-
- public void doHandleEvent(Event event)
- {
- if (event.widget == memberTypesText)
- {
- }
-
- }
-
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSectionDescriptor.java
deleted file mode 100644
index e21badacef..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSectionDescriptor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-public class SimpleTypeUnionSectionDescriptor extends AbstractSectionDescriptor
-{
- /**
- *
- */
- public SimpleTypeUnionSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.simpletypeunion";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDSimpleTypeDefinition.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new SimpleTypeUnionSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
-// if (selection instanceof StructuredSelection)
-// {
-// StructuredSelection structuredSelection = (StructuredSelection)selection;
-// object = structuredSelection.getFirstElement();
-// if (object instanceof XSDSimpleTypeDefinition)
-// {
-// XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)object;
-// if (st.getVariety().getValue() == XSDVariety.UNION)
-// {
-// return true;
-// }
-// }
-// }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TextChangeHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TextChangeHelper.java
deleted file mode 100644
index 0df6ffaef4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TextChangeHelper.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-public abstract class TextChangeHelper implements Listener
-{
- private boolean nonUserChange;
-
- /**
- * Marks the start of a programmatic change to the widget contents.
- * Clients must call startNonUserChange() before directly setting
- * the widget contents to avoid unwanted lifecycle events.
- * @throws IllegalArgumentException if a programmatic change is
- * already in progress.
- */
- public void startNonUserChange() {
- if (nonUserChange)
- throw new IllegalStateException("we already started a non user change");//$NON-NLS-1$
- nonUserChange = true;
- }
-
- /**
- * Clients who call startNonUserChange() should call
- * finishNonUserChange() as soon as possible after the change is done.
- * @throws IllegalArgumentException if no change is in progress.
- */
- public void finishNonUserChange() {
- if (!nonUserChange)
- throw new IllegalStateException("we are not in a non user change");//$NON-NLS-1$
- nonUserChange = false;
- }
-
- /**
- * Returns true if a programmatic change is in progress.
- */
- public boolean isNonUserChange() {
- return nonUserChange;
- }
-
- /**
- * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
- */
- public void handleEvent(Event event) {
- switch (event.type) {
- case SWT.KeyDown :
- if (event.character == SWT.CR)
- textChanged((Control)event.widget);
- break;
- case SWT.FocusOut :
- textChanged((Control)event.widget);
- break;
- }
- }
-
- /**
- * Abstract method notified when a text field has been changed.
- * @param control
- */
- public abstract void textChanged(Control control);
-
- /**
- * Registers this helper with the given control to listen for events
- * which indicate that a change is in progress (or done).
- */
- public void startListeningTo(Control control) {
- control.addListener(SWT.FocusOut, this);
- control.addListener(SWT.Modify, this);
- }
-
- /**
- * Registers this helper with the given control to listen for the
- * Enter key. When Enter is pressed, the change is considered done
- * (this is only appropriate for single-line Text widgets).
- */
- public void startListeningForEnter(Control control) {
- // NOTE: KeyDown rather than KeyUp, because of similar usage in CCombo.
- control.addListener(SWT.KeyDown, this);
- }
-
- /**
- * Unregisters this helper from a control previously passed to
- * startListeningTo() and/or startListeningForEnter().
- */
- public void stopListeningTo(Control control) {
- control.removeListener(SWT.FocusOut, this);
- control.removeListener(SWT.Modify, this);
- control.removeListener(SWT.KeyDown, this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesDialog.java
deleted file mode 100644
index e9118233b3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesDialog.java
+++ /dev/null
@@ -1,726 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.wst.xsd.ui.internal.widgets.TypeSection;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class TypesDialog extends Dialog implements SelectionListener, Listener
-{
- XSDSchema xsdSchema;
- String property;
-
- /**
- * @param parentShell
- */
- public TypesDialog(Shell parentShell, Element element, Object id, XSDSchema xsdSchema)
- {
- super(parentShell);
- setShellStyle(getShellStyle() | SWT.RESIZE);
- this.element = element;
- this.property = (String)id;
- this.element = element;
- this.xsdSchema = xsdSchema;
-
- if (XSDDOMHelper.inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, false))
- {
- showComplexTypes = true;
- }
- else if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(element, XSDConstants.LIST_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(element, XSDConstants.UNION_ELEMENT_TAG, false))
- {
- showComplexTypes = false;
- }
- }
-
- String type;
- Object typeObject;
- Text textField;
- Table table;
- TableColumn tableColumn;
- Element element;
-
- boolean showComplexTypes = true;
- TypeSection typeSection;
- boolean showAnonymous = true;
- String previousStringType = "";
- boolean isAnonymous;
- int previousType;
-
- protected void configureShell(Shell shell)
- {
- super.configureShell(shell);
- }
-
- protected void buttonPressed(int buttonId)
- {
- if (buttonId == Dialog.OK)
- {
- type = table.getItem(table.getSelectionIndex()).getText();
- ok();
- }
- super.buttonPressed(buttonId);
- }
-
- public Object getTypeObject() { return typeObject; }
- public String getType() { return type; }
-
- //
- // Create the controls
- //
- public Control createDialogArea(Composite parent)
- {
- int tabIndex = 0;
- Composite client = (Composite)super.createDialogArea(parent);
- getShell().setText(XSDEditorPlugin.getXSDString("_UI_LABEL_AVAILABLE_TYPES"));
-
- typeObject = null;
-
- GridLayout gl = new GridLayout(1, true);
-// gl.marginHeight = 0;
-// gl.marginWidth = 0;
-// gl.horizontalSpacing = 0;
-// gl.verticalSpacing = 0;
- client.setLayout(gl);
-
- GridData gd = new GridData();
- gd.grabExcessHorizontalSpace = true;
- gd.grabExcessVerticalSpace = true;
- gd.horizontalAlignment = GridData.FILL;
- gd.verticalAlignment = GridData.FILL;
- gd.horizontalIndent = 0;
- client.setLayoutData(gd);
-
- typeSection = new TypeSection(client);
- typeSection.setShowUserComplexType(showComplexTypes);
-
- typeSection.createClient(client);
- typeSection.getSimpleType().setSelection(false);
- typeSection.getSimpleType().addSelectionListener(this);
- typeSection.getUserSimpleType().addSelectionListener(this);
- if (showComplexTypes)
- {
- typeSection.getUserComplexType().addSelectionListener(this);
- }
-
- textField = ViewUtility.createTextField(client, 50);
- textField.addListener(SWT.Modify, this);
- ViewUtility.createVerticalFiller(client, 0);
-
- table = new Table(client,
- SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
- table.setHeaderVisible(false);
- table.setLinesVisible(true);
- table.addSelectionListener(this);
-
- GridData gd2 = new GridData();
- gd2.grabExcessHorizontalSpace = true;
- gd2.grabExcessVerticalSpace = true;
- gd2.horizontalAlignment = GridData.FILL;
- gd2.verticalAlignment = GridData.FILL;
- gd2.heightHint = 200;
- table.setLayoutData(gd2);
- table.addListener(SWT.Resize, this);
-
- tableColumn = new TableColumn(table, SWT.LEFT);
-// tableColumn.setImage(XSDEditorPlugin.getXSDImage("icons/XSDElement.gif"));
- tableColumn.setResizable(true);
- tableColumn.setWidth(200);
-
- // Fill table and select input type
- handleSetInput();
-
- return client;
- }
-
- public void handleEvent(Event event)
- {
- if (event.type == SWT.Resize && event.widget == table) {
- tableColumn.setWidth(table.getSize().x);
- }
- else if (event.type == SWT.Modify && event.widget == textField) {
- List items = null;
- boolean showAll = false;
- String inputString = textField.getText();
-
- if (inputString.equals("")) {
- showAll = true;
- }
- else {
- inputString = insertString("*", ".", inputString);
- inputString = insertString("?", ".", inputString);
- inputString = inputString + ".*";
- }
-
- try {
- if (typeSection.getSimpleType().getSelection())
- {
- if (showAll) {
- populateBuiltInType();
- }
- else {
- populateBuiltInType(inputString);
- }
- }
- else if (typeSection.getUserComplexType().getSelection())
- {
- if (showAll) {
- populateUserComplexType();
- }
- else {
- populateUserComplexType(inputString);
- }
- }
- else if (typeSection.getUserSimpleType().getSelection())
- {
- if (showAll) {
- populateUserSimpleType();
- }
- else {
- populateUserSimpleType(inputString);
- }
- }
- }
- catch (Exception e) {
- // Do nothing
- }
- }
-
- setEnabledState();
- }
-
- private void setEnabledState() {
- if (table.getSelectionIndex() != -1) {
- this.getButton(IDialogConstants.OK_ID).setEnabled(true);
- }
- else {
- this.getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
- }
-
- private String insertString(String target, String newString, String string) {
- ArrayList list = new ArrayList();
- StringBuffer stringBuffer = new StringBuffer(string);
-
- int index = stringBuffer.indexOf(target);
- while (index != -1) {
- stringBuffer = stringBuffer.insert(index, newString);
- index = stringBuffer.indexOf(target, index + newString.length() + target.length());
- }
-
- return stringBuffer.toString();
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == typeSection.getSimpleType() && typeSection.getSimpleType().getSelection())
- {
- if (textField.getText().equals("")) {
- populateBuiltInType();
- }
- else {
- populateBuiltInType(textField.getText());
- }
- }
- else if (e.widget == typeSection.getUserComplexType() && typeSection.getUserComplexType().getSelection())
- {
- if (textField.getText().equals("")) {
- populateUserComplexType();
- }
- else {
- populateUserComplexType(textField.getText());
- }
- }
- else if (e.widget == typeSection.getUserSimpleType() && typeSection.getUserSimpleType().getSelection())
- {
- if (textField.getText().equals("")) {
- populateUserSimpleType();
- }
- else {
- populateUserSimpleType(textField.getText());
- }
- }
- setEnabledState();
- }
-
- public void widgetDefaultSelected(SelectionEvent e)
- {
- }
-
- protected void ok()
- {
- TableItem[] items = table.getItems();
- int selection = table.getSelectionIndex();
- if (items != null && items.length > 0 && selection >= 0)
- {
- typeObject = items[selection].getData();
- }
-// System.out.println("typeObject is " + typeObject);
-
-// beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_TYPE_CHANGE"), element);
-// beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);
-// doSetValue(typeObject);
-// applyEditorValueAndDeactivate();
-// dialog.close();
-
- if (!XSDDOMHelper.inputEquals(element, XSDConstants.UNION_ELEMENT_TAG, false))
- {
- if (typeObject.equals("**anonymous**"))
- {
- if (typeSection.getUserSimpleType().getSelection())
- {
- if (!previousStringType.equals("**anonymous**"))
- {
- updateElementToAnonymous(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- }
- }
- else
- {
- if (!previousStringType.equals("**anonymous**"))
- {
- updateElementToAnonymous(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- }
- }
- // element.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
- element.removeAttribute(property);
- }
- else
- {
- XSDDOMHelper.updateElementToNotAnonymous(element);
- //element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, typeObject.toString());
- element.setAttribute(property, typeObject.toString());
- }
- }
-// endRecording(element);
-
- //implement dispose();
-// table.removeAll();
-// table.dispose();
- }
-
-
- public void handleSetInput()
- {
- table.removeAll();
- isAnonymous = checkForAnonymousType(element);
- // Attr attr = element.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
- Attr attr = element.getAttributeNode(property);
- if (attr != null)
- {
- String value = attr.getValue();
- if (typeSection.getBuiltInTypeNamesList(xsdSchema).contains(value))
- {
- typeSection.getSimpleType().setSelection(true);
- populateBuiltInType();
- int i = typeSection.getBuiltInTypeNamesList(xsdSchema).indexOf(value);
- table.setSelection(i);
- previousType = 1;
- }
- else if (typeSection.getUserSimpleTypeNamesList(xsdSchema).contains(value))
- {
- typeSection.getUserSimpleType().setSelection(true);
- populateUserSimpleType();
- int i = typeSection.getUserSimpleTypeNamesList(xsdSchema).indexOf(value);
- if (showAnonymous)
- {
- table.setSelection(i + 1);
- }
- else
- {
- table.setSelection(i);
- }
- previousType = 2;
- }
- else if (typeSection.getUserComplexTypeNamesList(xsdSchema).contains(value))
- {
- typeSection.getUserComplexType().setSelection(true);
- populateUserComplexType();
- int i = typeSection.getUserComplexTypeNamesList(xsdSchema).indexOf(value);
- if (showAnonymous)
- {
- table.setSelection(i + 1);
- }
- else
- {
- table.setSelection(i);
- }
- previousType = 3;
- }
- else // if it is type="" for an empty list of simple types
- {
- typeSection.getUserSimpleType().setSelection(true);
- populateUserSimpleType();
- previousType = 2;
- }
- }
- else
- {
- if (isAnonymous)
- {
- if (isSTAnonymous(element))
- {
- typeSection.getUserSimpleType().setSelection(true);
- populateUserSimpleType();
- previousType = 2;
- }
- else
- {
- typeSection.getUserComplexType().setSelection(true);
- populateUserComplexType();
- previousType = 3;
- }
- table.setSelection(0); // anonymous
- // typeSection.getTypeList().setText("**anonymous**");
- }
- else
- {
- typeSection.getSimpleType().setSelection(true);
- populateBuiltInType();
- table.setSelection(0);
-
- // typeSection.getTypeList().setEnabled(true);
- // typeSection.getSimpleType().setSelection(true);
- // typeSection.populateBuiltInType(xsdSchema);
- // typeSection.getTypeList().setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE"));
- previousType = 1;
- }
- }
- if (table.getSelection() != null && table.getSelection().length > 0)
- {
- previousStringType = (table.getSelection()[0]).getText();
- }
- }
-
- public void populateBuiltInType()
- {
- table.removeAll();
- List items = getBuiltInTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public void populateBuiltInType(String fragment)
- {
- table.removeAll();
- List items = getBuiltInTypeNamesList();
- fragment = fragment.toLowerCase();
- Pattern regex = Pattern.compile(fragment);
-
- for (int i = 0; i < items.size(); i++)
- {
- String itemString = items.get(i).toString().toLowerCase();
- Matcher m = regex.matcher(itemString);
-
- if (itemString.startsWith(fragment) || m.matches()) {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- table.select(0);
- }
-
- public void populateUserComplexType()
- {
- table.removeAll();
- if (showAnonymous)
- {
- TableItem anonymousItem = new TableItem(table, SWT.NONE);
- anonymousItem.setText("**anonymous**");
- anonymousItem.setData("**anonymous**");
- }
- List items = getUserComplexTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
-// System.out.println("item " + i + " is " + item);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDComplexType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public void populateUserComplexType(String fragment)
- {
- table.removeAll();
- fragment = fragment.toLowerCase();
- Pattern regex = java.util.regex.Pattern.compile(fragment);
-
- if (showAnonymous)
- {
- Matcher m = regex.matcher("**anonymous**");
- if ("**anonymous**".startsWith(fragment) || m.matches()) {
- TableItem anonymousItem = new TableItem(table, SWT.NONE);
- anonymousItem.setText("**anonymous**");
- anonymousItem.setData("**anonymous**");
- }
- }
- List items = getUserComplexTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- String itemString = items.get(i).toString().toLowerCase();
- Matcher m = regex.matcher(itemString);
-
- if (itemString.startsWith(fragment) || m.matches()) {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDComplexType.gif"));
- item.setData(items.get(i));
- }
- }
-
- table.select(0);
- }
-
- public void populateUserSimpleType()
- {
- table.removeAll();
- if (showAnonymous)
- {
- TableItem anonymousItem = new TableItem(table, SWT.NONE);
- anonymousItem.setText("**anonymous**");
- anonymousItem.setData("**anonymous**");
- }
- List items = getUserSimpleTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public void populateUserSimpleType(String fragment)
- {
- table.removeAll();
- fragment = fragment.toLowerCase();
- Pattern regex = java.util.regex.Pattern.compile(fragment);
-
- if (showAnonymous)
- {
- Matcher m = regex.matcher("**anonymous**");
- if ("**anonymous**".startsWith(fragment) || m.matches()) {
- TableItem anonymousItem = new TableItem(table, SWT.NONE);
- anonymousItem.setText("**anonymous**");
- anonymousItem.setData("**anonymous**");
- }
- }
- List items = getUserSimpleTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- String itemString = items.get(i).toString().toLowerCase();
- Matcher m = regex.matcher(itemString);
-
- if (itemString.startsWith(fragment) || m.matches()) {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- table.select(0);
- }
-
- boolean checkForAnonymousType(Element element)
- {
- /*
- * Using Ed's model to check boolean isAnonymous = false;
- *
- * XSDConcreteComponent component =
- * getXSDSchema().getCorrespondingComponent(element); if (component
- * instanceof XSDElementDeclaration) { XSDElementDeclaration xsdElem =
- * (XSDElementDeclaration)component; isAnonymous =
- * xsdElem.isSetAnonymousTypeDefinition(); } return isAnonymous;
- */
- XSDDOMHelper helper = new XSDDOMHelper();
- boolean isAnonymous = false;
- Node aNode =
- helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- return true;
- }
- aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- isAnonymous = true;
- }
- return isAnonymous;
- }
-
- void updateElementToAnonymous(Element element, String xsdType)
- {
- String prefix = element.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
- XSDDOMHelper.updateElementToNotAnonymous(element);
- boolean hasChildrenElements = hasElementChildren(element);
- Element childNode = null;
- if (xsdType.equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
- {
- childNode = element.getOwnerDocument().createElementNS(
- XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
- prefix + XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- }
- else if (xsdType.equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG))
- {
- childNode = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-
- Element restrictionNode = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.RESTRICTION_ELEMENT_TAG);
- restrictionNode.setAttribute(XSDConstants.BASE_ATTRIBUTE, prefix + "string");
- childNode.appendChild(restrictionNode);
- }
- if (childNode != null)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Node annotationNode = helper.getChildNode(element, XSDConstants.ANNOTATION_ELEMENT_TAG);
- if (annotationNode == null)
- {
- Node firstChild = element.getFirstChild();
- element.insertBefore(childNode, firstChild);
- }
- else
- {
- Node nextSibling = annotationNode.getNextSibling();
- element.insertBefore(childNode, nextSibling);
- }
- XSDDOMHelper.formatChild(childNode);
- }
- }
-
- boolean isSTAnonymous(Element element)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Node aNode = helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- if (XSDDOMHelper.inputEquals(aNode, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
- {
- return true;
- }
- }
- return false;
- }
-
- boolean isCTAnonymous(Element element)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Node aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- if (XSDDOMHelper.inputEquals(aNode, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
- {
- return true;
- }
- }
- return false;
- }
-
- XSDTypeDefinition getAnonymousTypeDefinition(Element element)
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Node typeDefinitionNode =
- helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (typeDefinitionNode == null)
- {
- typeDefinitionNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- }
- if (typeDefinitionNode != null)
- {
- XSDConcreteComponent component =
- xsdSchema.getCorrespondingComponent(typeDefinitionNode);
- if (component instanceof XSDTypeDefinition)
- {
- return (XSDTypeDefinition) component;
- }
- }
- return null;
- }
-
- public java.util.List getBuiltInTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getBuiltInTypeNamesList();
- }
-
- public java.util.List getUserSimpleTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getUserSimpleTypeNamesList();
- }
-
- public java.util.List getUserComplexTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getUserComplexTypeNamesList();
- }
-
- protected boolean hasElementChildren(Node parentNode)
- {
- boolean hasChildrenElements = false;
- if (parentNode != null && parentNode.hasChildNodes())
- {
- NodeList nodes = parentNode.getChildNodes();
- for (int i = 0; i < nodes.getLength(); i++)
- {
- if (nodes.item(i) instanceof Element)
- {
- hasChildrenElements = true;
- break;
- }
- }
- }
- return hasChildrenElements;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSection.java
deleted file mode 100644
index c0d8ab0907..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSection.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.widgets.TypeSection;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class TypesSection extends AbstractSection
-{
- Text typeCombo;
- Button button;
-
- String type;
- Object typeObject;
- CLabel typeLabel;
- Table table;
- TypeSection typeSection;
- boolean showAnonymous = true;
- String previousStringType = "";
- boolean isAnonymous;
- int previousType;
- boolean showComplexTypes = true;
-
- /**
- *
- */
- public TypesSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- composite = getWidgetFactory().createFlatFormComposite(parent);
-
- FormData data;
-
- typeCombo = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- typeCombo.setEditable(false);
- typeCombo.addListener(SWT.Modify, this);
-
- button = getWidgetFactory().createButton(composite, "", SWT.PUSH); //$NON-NLS-1$
- button.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
-
- typeLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_TYPE") + ":"); //$NON-NLS-1$
-
- button.addSelectionListener(this);
- FormData data2 = new FormData();
- data2.left = new FormAttachment(100, -rightMarginSpace + 2);
- data2.right = new FormAttachment(100,0);
- data2.top = new FormAttachment(typeCombo, 0, SWT.CENTER);
- button.setLayoutData(data2);
-
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(button, 0);
- typeCombo.setLayoutData(data);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- Object input = getInput();
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
- typeCombo.setText(""); //$NON-NLS-1$
- if (input != null)
- {
- Element element = null;
- if (input instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElem = (XSDElementDeclaration)input;
- element = xsdElem.getElement();
- XSDTypeDefinition typeDef = xsdElem.getTypeDefinition();
- boolean isAnonymous = xsdElem.isAbstract();
-
- if (isAnonymous)
- {
- typeCombo.setText("**anonymous**"); //$NON-NLS-1$
- }
- else
- {
- String typeName = ""; //$NON-NLS-1$
- if (typeDef != null)
- {
- typeName = typeDef.getQName(getSchema());
- if (typeName == null)
- {
- typeName = ""; //$NON-NLS-1$
- }
- typeCombo.setText(typeName);
- }
- else
- {
- typeCombo.setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE")); //$NON-NLS-1$
- }
- }
- }
- else if (input instanceof XSDAttributeDeclaration)
- {
- element = ((XSDAttributeDeclaration)input).getElement();
- }
- else if (input instanceof XSDAttributeUse)
- {
- XSDAttributeUse attributeUse = (XSDAttributeUse)input;
- XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
- element = attribute.getElement();
- }
- else if (input instanceof Element)
- {
- element = (Element)input;
- }
-// else if (input instanceof XSDSimpleTypeDefinition)
-// {
-// XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-// Element simpleTypeElement = st.getElement();
-// if (st.getVariety() == XSDVariety.LIST_LITERAL)
-// {
-// element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.LIST_ELEMENT_TAG);
-// String result = element.getAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
-// if (result == null)
-// {
-// typeCombo.setText("**anonymous**");
-// }
-// else
-// {
-// typeCombo.setText(result);
-// }
-// typeLabel.setText("Item Type:");
-// }
-// else if (st.getVariety() == XSDVariety.ATOMIC_LITERAL)
-// {
-// typeLabel.setText("Base Type:");
-// element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.RESTRICTION_ELEMENT_TAG);
-// if (element == null)
-// {
-// element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.EXTENSION_ELEMENT_TAG);
-// if (element == null) return;
-// }
-//
-// String result = element.getAttribute(XSDConstants.BASE_ATTRIBUTE);
-// if (result == null)
-// {
-// typeCombo.setText("");
-// }
-// else
-// {
-// typeCombo.setText(result);
-// }
-// }
-// return;
-// }
-
- typeLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_TYPE") + ":"); //$NON-NLS-1$
- if (element != null)
- {
- boolean isAnonymous = checkForAnonymousType(element);
- String result = element.getAttribute(XSDConstants.TYPE_ATTRIBUTE);
- if (isAnonymous)
- {
- typeCombo.setText("**anonymous**"); //$NON-NLS-1$
- }
- if (result != null && result.equals("")) //$NON-NLS-1$
- {
- typeCombo.setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE")); //$NON-NLS-1$
- }
- else if (result != null)
- {
- typeCombo.setText(result);
- }
-
- }
- }
- }
-
- /**
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == button)
- {
- Shell shell = Display.getCurrent().getActiveShell();
- Object input = getInput();
- Element element = ((XSDConcreteComponent)getInput()).getElement();
- TypesDialog dialog;
-
-// if (input instanceof XSDSimpleTypeDefinition)
-// {
-// XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-// Element simpleTypeElement = st.getElement();
-// if (st.getVariety() == XSDVariety.LIST_LITERAL)
-// {
-// Element listElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.LIST_ELEMENT_TAG);
-// dialog = new TypesDialog(shell, listElement, XSDConstants.ITEMTYPE_ATTRIBUTE, xsdSchema);
-// dialog.showComplexTypes = false;
-// }
-// else if (st.getVariety() == XSDVariety.ATOMIC_LITERAL)
-// {
-// Element derivedByElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.RESTRICTION_ELEMENT_TAG);
-// if (derivedByElement == null)
-// {
-// derivedByElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.EXTENSION_ELEMENT_TAG);
-// if (derivedByElement == null) return;
-// }
-// if (derivedByElement != null)
-// {
-// dialog = new TypesDialog(shell, derivedByElement, XSDConstants.BASE_ATTRIBUTE, xsdSchema);
-// }
-// else
-// {
-// return;
-// }
-// }
-// else
-// {
-// dialog = new TypesDialog(shell, element, "type", xsdSchema);
-// }
-// }
-// else
-// {
- dialog = new TypesDialog(shell, element, "type", xsdSchema); //$NON-NLS-1$
-// }
-
- dialog.setBlockOnOpen(true);
- dialog.create();
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- Object typeObject = dialog.getType();
-// if (input instanceof XSDSimpleTypeDefinition)
-// {
-// XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-// Element simpleTypeElement = st.getElement();
-// Element listElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.LIST_ELEMENT_TAG);
-//
-// beginRecording("ItemType Change", element);
-// listElement.setAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, (String)typeObject);
-// endRecording(element);
-// }
- }
-
- refresh();
- }
- }
-
-
-
- boolean checkForAnonymousType(Element element)
- {
- /* Using Ed's model to check
- boolean isAnonymous = false;
-
- XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(element);
- if (component instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElem = (XSDElementDeclaration)component;
- isAnonymous = xsdElem.isSetAnonymousTypeDefinition();
- }
- return isAnonymous;
- */
-
- boolean isAnonymous = false;
-
- Node aNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- return true;
- }
- aNode = getDomHelper().getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
- if (aNode != null)
- {
- isAnonymous = true;
- }
- return isAnonymous;
- }
-
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSectionDescriptor.java
deleted file mode 100644
index af0e55bdcc..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSectionDescriptor.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class TypesSectionDescriptor extends AbstractSectionDescriptor
-{
- /**
- *
- */
- public TypesSectionDescriptor()
- {
- super();
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "com.ibm.xsdeditor.section.types";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDElementDeclaration.class);
- list.add(XSDAttributeDeclaration.class);
- list.add(XSDAttributeUse.class);
- list.add(XSDSimpleTypeDefinition.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new TypesSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)object;
- if (elementDeclaration.isElementDeclarationReference())
- {
- return false;
- }
- return true;
- }
- else if (object instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration attr = (XSDAttributeDeclaration)object;
- if (attr.isAttributeDeclarationReference())
- {
- return false;
- }
- return true;
- }
- else if (object instanceof XSDAttributeUse)
- {
- XSDAttributeUse attributeUse = (XSDAttributeUse)object;
- XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
- Element element = attributeUse.getElement();
- if (inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
- {
- return true;
- }
- else
- {
- return false;
- }
-
- }
-// else if (object instanceof XSDSimpleTypeDefinition)
-// {
-// XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)object;
-// if (st.getVariety() == XSDVariety.LIST_LITERAL)
-// {
-// return true;
-// }
-// else if (st.getVariety() == XSDVariety.ATOMIC_LITERAL)
-// {
-// return true;
-// }
-// }
- }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSection.java
deleted file mode 100644
index c24f79dea0..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSection.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDEnumerationFacet;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class ValueSection extends AbstractSection
-{
- Text valueText;
- /**
- *
- */
- public ValueSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
- */
- public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
- {
- super.createControls(parent, factory);
- Composite composite = getWidgetFactory().createFlatFormComposite(parent);
- FormData data;
-
- valueText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- data = new FormData();
- data.left = new FormAttachment(0, 100);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(0, 0);
- valueText.setLayoutData(data);
- valueText.addListener(SWT.Modify, this);
-
- CLabel valueLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_VALUE") + ":"); //$NON-NLS-1$
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(valueText, -ITabbedPropertyConstants.HSPACE);
- data.top = new FormAttachment(valueText, 0, SWT.CENTER);
- valueLabel.setLayoutData(data);
-
-// listener.startListeningForEnter(valueText);
-// listener.startListeningTo(valueText);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- setListenerEnabled(false);
- Object input = getInput();
- valueText.setText(""); //$NON-NLS-1$
- if (input != null)
- {
- if (input instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)input;
- Element element = enumFacet.getElement();
- String value = element.getAttribute(XSDConstants.VALUE_ATTRIBUTE);
-
- if (value != null)
- {
- valueText.setText(value);
- }
- }
- }
- setListenerEnabled(true);
- }
-
- public void doHandleEvent(Event event)
- {
- if (event.widget == valueText)
- {
- Object input = getInput();
- if (input instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)input;
- Element element = enumFacet.getElement();
-
- beginRecording(XSDEditorPlugin.getXSDString("_UI_ENUM_VALUE_CHANGE"), element); //$NON-NLS-1$
- String value = valueText.getText();
- element.setAttribute(XSDConstants.VALUE_ATTRIBUTE, value);
- endRecording(element);
- }
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSectionDescriptor.java
deleted file mode 100644
index 7fd5517a16..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSectionDescriptor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDEnumerationFacet;
-
-public class ValueSectionDescriptor extends AbstractSectionDescriptor
-{
- /**
- *
- */
- public ValueSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDEnumerationFacet.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return new ValueSection();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return "com.ibm.xmlwebservices.general";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDEnumerationFacet)
- {
- return true;
- }
- }
- return false;
- }
-
- public String getAfterSection()
- {
- return "com.ibm.xsdeditor.section.name";
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionDescriptorProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionDescriptorProvider.java
deleted file mode 100644
index 7b9e43c305..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionDescriptorProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.wst.common.ui.properties.ISectionDescriptor;
-import org.eclipse.wst.common.ui.properties.ISectionDescriptorProvider;
-
-
-public class XSDSectionDescriptorProvider implements ISectionDescriptorProvider
-{
- /**
- *
- */
- public XSDSectionDescriptorProvider()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.ISectionDescriptorProvider#getSectionDescriptors()
- */
- public ISectionDescriptor[] getSectionDescriptors()
- {
- ISectionDescriptor[] descriptors = new ISectionDescriptor[18];
- descriptors[0] = new NameSectionDescriptor();
- descriptors[1] = new TypesSectionDescriptor();
- descriptors[2] = new OtherAttributesSectionDescriptor();
- descriptors[3] = new AttributesViewSectionDescriptor();
- descriptors[4] = new ModelGroupSectionDescriptor();
- descriptors[5] = new NamespaceProcessContentsSectionDescriptor();
- descriptors[6] = new ReferenceSectionDescriptor();
- descriptors[7] = new ComplexTypeSectionDescriptor();
- descriptors[8] = new ValueSectionDescriptor();
- descriptors[9] = new PatternSectionDescriptor();
- descriptors[10] = new AnnotationSectionDescriptor();
- descriptors[11] = new SimpleTypeSectionDescriptor();
- descriptors[12] = new FacetsSectionDescriptor();
- descriptors[13] = new EnumerationsSectionDescriptor();
- descriptors[14] = new NamespaceSectionDescriptor();
- descriptors[15] = new SchemaLocationDescriptor();
- descriptors[16] = new NamespaceAndSchemaLocationDescriptor();
- descriptors[17] = new MinMaxSectionDescriptor();
-
-// descriptors[18] = new SimpleTypeUnionSectionDescriptor();
-// descriptors[19] = new FixedDefaultSectionDescriptor();
- return descriptors;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionLabelProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionLabelProvider.java
deleted file mode 100644
index d5c65781b9..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionLabelProvider.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.XSDTextEditor;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.w3c.dom.Element;
-
-
-public class XSDSectionLabelProvider extends LabelProvider
-{
- /**
- *
- */
- public XSDSectionLabelProvider()
- {
- super();
- }
-
- /**
- * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
- */
- public Image getImage(Object object)
- {
- if (object == null || object.equals(StructuredSelection.EMPTY)) {
- return null;
- }
- Image result = null;
- if (object instanceof StructuredSelection)
- {
- Object selected = ((StructuredSelection)object).getFirstElement();
-
- if (selected instanceof XSDConcreteComponent)
- {
- return XSDTextEditor.getLabelProvider().getImage((XSDConcreteComponent)selected);
- }
-
-// selected = typeMapper.remapObject(selected);
-// ModelAdapter modelAdapter = adapterFactory.getAdapter(selected);
-// if (modelAdapter != null)
-// {
-// result = (Image)modelAdapter.getProperty(selected, ModelAdapter.IMAGE_PROPERTY);
-// }
- }
- return result;
- }
-
- /**
- * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- */
- public String getText(Object object)
- {
- if (object == null || object.equals(StructuredSelection.EMPTY))
- {
- return "No items selected";
- }
-
- String result = null;
-
- boolean isReference = false;
- Object selected = null;
- if (object instanceof StructuredSelection)
- {
- selected = ((StructuredSelection)object).getFirstElement();
-
- if (selected instanceof XSDConcreteComponent)
- {
- if (selected instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)selected;
- if (xsdElementDeclaration.isElementDeclarationReference())
- {
- isReference = true;
- }
- }
- else if (selected instanceof XSDAttributeDeclaration)
- {
- if (((XSDAttributeDeclaration)selected).isAttributeDeclarationReference())
- {
- isReference = true;
- }
- }
- else if (selected instanceof XSDModelGroupDefinition)
- {
- if (((XSDModelGroupDefinition)selected).isModelGroupDefinitionReference())
- {
- isReference = true;
- }
- }
- StringBuffer sb = new StringBuffer();
- Element element = ((XSDConcreteComponent)selected).getElement();
- if (element != null)
- {
- sb.append(((XSDConcreteComponent)selected).getElement().getLocalName());
-
- if (isReference)
- {
- sb.append(" ");
- sb.append(XSDEditorPlugin.getXSDString("_UI_PAGE_HEADING_REFERENCE"));
- }
-
- if (!(element instanceof XMLNode))
- {
- sb.append(" (" + XSDEditorPlugin.getXSDString("_UI_LABEL_READ_ONLY") + ")"); //$NON-NLS-1$
- }
- return sb.toString();
- }
- else
- {
- return "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_READ_ONLY") + ")"; //$NON-NLS-1$
- }
- }
-
-// selected = typeMapper.remapObject(selected);
-//
-// ModelAdapter modelAdapter = adapterFactory.getAdapter(selected);
-// if (modelAdapter != null)
-// {
-// // result = (String)modelAdapter.getProperty(selected, ModelAdapter.LABEL_PROPERTY);
-// result = ((WSDLElement)selected).getElement().getLocalName();
-// }
- if (object instanceof Element)
- {
- return ((Element)object).getLocalName();
- }
- }
- else if (object instanceof TextSelection)
- {
- }
-
-
- return result;
- }
-
- /**
- * Determine if a multiple object selection has been passed to the
- * label provider. If the objects is a IStructuredSelection, see if
- * all the objects in the selection are the same and if so, we want
- * to provide labels for the common selected element.
- * @param objects a single object or a IStructuredSelection.
- * @param multiple first element in the array is true if there is multiple
- * unequal selected elements in a IStructuredSelection.
- * @return the object to get labels for.
- */
- private Object getObject(Object objects, boolean multiple[]) {
- Assert.isNotNull(objects);
- Object object = null;
- return object;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDTabbedPropertySheetPage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDTabbedPropertySheetPage.java
deleted file mode 100644
index 1435ed7448..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDTabbedPropertySheetPage.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertySheetPageContributor;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetPage;
-import org.eclipse.wst.sse.ui.ViewerSelectionManager;
-import org.eclipse.wst.xsd.ui.internal.XSDSelectionManager;
-import org.eclipse.wst.xsd.ui.internal.graph.model.Category;
-import org.eclipse.wst.xsd.ui.internal.provider.CategoryAdapter;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDModelAdapterFactoryImpl;
-import org.eclipse.xsd.XSDSchema;
-
-public class XSDTabbedPropertySheetPage extends TabbedPropertySheetPage
- implements ISelectionChangedListener, INotifyChangedListener
-{
- private ViewerSelectionManager fViewerSelectionManager;
- private XSDSelectionManager selectionManager;
- private XSDModelAdapterFactoryImpl adapterFactory;
- /**
- * @param tabbedPropertySheetPageContributor
- */
- public XSDTabbedPropertySheetPage(ITabbedPropertySheetPageContributor tabbedPropertySheetPageContributor)
- {
- super(tabbedPropertySheetPageContributor);
- }
-
- XSDSchema xsdSchema;
- public void setXSDSchema(XSDSchema xsdSchema)
- {
- this.xsdSchema = xsdSchema;
- }
-
- public void setXSDModelAdapterFactory(XSDModelAdapterFactoryImpl adapterFactory) {
- // disconnect from old one
- if (adapterFactory != null) {
- adapterFactory.removeListener(this);
- }
-
- this.adapterFactory = adapterFactory;
-
- // connect to new one
- if (adapterFactory != null) {
- adapterFactory.addListener(this);
- }
- }
-
- public void setSelectionManager(XSDSelectionManager newSelectionManager)
- {
- // disconnect from old one
- if (selectionManager != null)
- {
- selectionManager.removeSelectionChangedListener(this);
- }
-
- selectionManager = newSelectionManager;
-
- // connect to new one
- if (selectionManager != null)
- {
- selectionManager.addSelectionChangedListener(this);
- }
- }
-
- public void selectionChanged(IWorkbenchPart part, ISelection selection)
- {
- // override for category
- if (selection != null)
- {
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- if (structuredSelection.isEmpty())
- {
- return;
- }
- Object obj = structuredSelection.getFirstElement();
- if (obj instanceof CategoryAdapter)
- {
- selection = new StructuredSelection(((CategoryAdapter)obj).getXSDSchema());
- }
- else if (obj instanceof Category)
- {
- selection = new StructuredSelection(((Category)obj).getXSDSchema());
- }
- }
- else if (selection instanceof TextSelection)
- {
- return;
- }
- }
- super.selectionChanged(part, selection);
- }
-
- public void selectionChanged(SelectionChangedEvent event)
- {
- if (!event.getSelection().isEmpty())
- {
- selectionChanged(getSite().getWorkbenchWindow().getActivePage().getActivePart(), event.getSelection());
- //super.selectionChanged(getSite().getWorkbenchWindow().getActivePage().getActivePart(), event.getSelection());
- }
- }
-
- public void dispose()
- {
- if (selectionManager != null)
- {
- selectionManager.removeSelectionChangedListener(this);
- }
- if (adapterFactory != null)
- {
- adapterFactory.removeListener(this);
- }
- super.dispose();
- }
-
- public void notifyChanged(Notification notification)
- {
- if (getCurrentTab() != null)
- {
- refresh();
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbook.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbook.java
deleted file mode 100644
index 9c43704797..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbook.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-
-public class XSDWorkbook {
- private CTabFolder tabFolder;
- private CTabItem selectedTab;
-/**
- * Workbook constructor comment.
- */
-public XSDWorkbook(Composite parent, int style) {
- tabFolder = new CTabFolder(parent, style);
-
- tabFolder.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent event) {
- CTabItem newSelectedTab = (CTabItem) event.item;
- if (selectedTab == newSelectedTab) // Do nothing if the selection did not change.
- return;
-
- if (selectedTab != null && (!selectedTab.isDisposed())) {
- XSDWorkbookPage selectedPage = getWorkbookPage(selectedTab);
- if (!selectedPage.deactivate()) {
- // tabFolder.setSelection(new CTabItem[] {selectedTab});
- tabFolder.setSelection(selectedTab);
- return;
- }
- }
-
- selectedTab = newSelectedTab;
- XSDWorkbookPage newSelectedPage = getWorkbookPage(newSelectedTab);
- if (newSelectedPage != null)
- newSelectedPage.activate();
-
- }
- });
-
-}
-public XSDWorkbookPage getSelectedPage() {
-
- int index = tabFolder.getSelectionIndex();
- if (index == -1) // When can this be -1
- return null;
-
- CTabItem selectedItem = tabFolder.getItem(index);
-
- return (XSDWorkbookPage)selectedItem.getData();
-}
-public CTabFolder getTabFolder() {
-
- return tabFolder;
-
-}
-protected XSDWorkbookPage getWorkbookPage(CTabItem item) {
-
- try {
- return (XSDWorkbookPage) item.getData();
- } catch (ClassCastException e) {
- return null;
- }
-}
-public XSDWorkbookPage[] getWorkbookPages() {
-
- CTabItem[] tabItems = tabFolder.getItems();
- int nItems = tabItems.length;
- XSDWorkbookPage[] workbookPages = new XSDWorkbookPage[nItems];
- for (int i = 0; i < nItems; i++)
- workbookPages[i] = getWorkbookPage(tabItems[i]);
- return workbookPages;
-}
-public void setSelectedPage (XSDWorkbookPage workbookPage)
-{
- CTabItem newSelectedTab = workbookPage.getTabItem();
-
- if (selectedTab == newSelectedTab)
- return;
-
- selectedTab = newSelectedTab;
- workbookPage.activate();
- // tabFolder.setSelection(new CTabItem[] {newSelectedTab});
- tabFolder.setSelection(newSelectedTab);
-
-}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbookPage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbookPage.java
deleted file mode 100644
index f865afa702..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbookPage.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-public abstract class XSDWorkbookPage {
- public CTabItem tabItem;
-/**
- * WorkbookPage constructor comment.
- */
-public XSDWorkbookPage(XSDWorkbook parent) {
- CTabFolder folder = parent.getTabFolder();
- tabItem = new CTabItem(folder,SWT.NONE);
- tabItem.setData(this);
-}
-public void activate() {
-
- if (tabItem.getControl() == null)
- tabItem.setControl(createControl(tabItem.getParent()));
-
-}
-protected abstract Control createControl (Composite parent);
-public boolean deactivate() {
- return true;
-}
-public void dispose() {
-
- if (tabItem == null)
- return;
-
- CTabItem oldItem = tabItem;
- tabItem = null;
- oldItem.dispose();
-}
-public CTabItem getTabItem() {
- return tabItem;
-}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/CategoryAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/CategoryAdapter.java
deleted file mode 100644
index 3182e9a385..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/CategoryAdapter.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.xsd.XSDSchema;
-
-
-public class CategoryAdapter // extends ItemProvider
- implements ILabelProvider, IChangeNotifier, ITreeContentProvider
-{
-
- protected String text;
-
- /**
- * This is the image returned by {@link #getImage getImage(Object)}.
- */
- protected Image image;
-
- /**
- * This is the parent returned by {@link #getParent getParent(Object)}.
- */
- protected Object parent;
-
- public CategoryAdapter(String label, Image image, Collection children, XSDSchema xsdSchema, int groupType)
- {
-// super(label, image, xsdSchema);
- this.text = label;
- this.image = image;
- this.parent = xsdSchema;
- this.xsdSchema = xsdSchema;
- this.children = children;
- this.groupType = groupType;
- }
-
- public final static int ATTRIBUTES = 1;
- public final static int ELEMENTS = 2;
- public final static int TYPES = 3;
- public final static int GROUPS = 5;
- public final static int DIRECTIVES = 6;
- public final static int NOTATIONS = 7;
- public final static int ATTRIBUTE_GROUPS = 8;
- public final static int IDENTITY_CONSTRAINTS = 9;
- public final static int ANNOTATIONS = 10;
-
- protected int groupType;
- Collection children;
- XSDSchema xsdSchema;
-
- public XSDSchema getXSDSchema()
- {
- return xsdSchema;
- }
-
- public int getGroupType()
- {
- return groupType;
- }
-
-// public boolean hasChildren(Object o)
-// {
-// return !children.isEmpty();
-// }
-
-// public Collection getChildren(Object o)
-// {
-// return children;
-// }
-
- public Image getImage(Object element)
- {
- return image;
- }
-
- public String getText(Object object)
- {
- // return object.toString();
- return text;
- }
-
- public void addListener(ILabelProviderListener listener)
- {
-
- }
-
- public boolean isLabelProperty(Object element, String property)
- {
- return false;
- }
-
- public void removeListener(ILabelProviderListener listener)
- {
-
- }
-
- public void fireNotifyChanged(Notification notification)
- {
-
- }
-
- /**
- * This adds another listener.
- */
- public void addListener(INotifyChangedListener notifyChangedListener)
- {
-
- }
-
- /**
- * This removes a listener.
- */
- public void removeListener(INotifyChangedListener notifyChangedListener)
- {
-
- }
-
- public void dispose()
- {
-
- }
-
- public Object[] getElements(Object inputElement)
- {
- return getChildren(inputElement);
- }
-
- public Object[] getChildren(Object parentElement)
- {
- return children.toArray();
- }
-
- public void setChildren(Collection list)
- {
- children = list;
- }
-
- public Object getParent(Object element)
- {
- return xsdSchema;
- }
-
- public boolean hasChildren(Object element)
- {
- return true;
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAbstractAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAbstractAdapter.java
deleted file mode 100644
index 8233c5eade..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAbstractAdapter.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.edit.provider.ChangeNotifier;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Image;
-
-public class XSDAbstractAdapter extends AdapterImpl
- implements ITreeContentProvider, ILabelProvider, IChangeNotifier
-{
-
- protected AdapterFactory adapterFactory;
- /**
- *
- */
- public XSDAbstractAdapter(AdapterFactory adapterFactory)
- {
- super();
- this.adapterFactory = adapterFactory;
- }
-
- /**
- * The adapter factory is used as the type key.
- * This returns true, only if this adapter was created by the given factory.
- */
- public boolean isAdapterForType(Object type)
- {
- return type == adapterFactory;
- }
-
- public Image getImage(Object element)
- {
- return null;
- }
-
- public String getText(Object object)
- {
- return object.toString();
- }
-
- public void addListener(ILabelProviderListener listener)
- {
-
- }
-
- public boolean isLabelProperty(Object element, String property)
- {
- return false;
- }
-
- public void removeListener(ILabelProviderListener listener)
- {
-
- }
-
- public Object[] getChildren(Object parentElement)
- {
- List list = new ArrayList();
- return list.toArray();
- }
-
- public boolean hasChildren(Object object)
- {
- return false;
- }
-
- public Object getParent(Object object)
- {
- return null;
- }
-
- public Object[] getElements(Object inputElement)
- {
- return getChildren(inputElement);
- }
-
- public void dispose()
- {
-
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
-
- }
-
- /**
- * This is used to implement {@link IChangeNotifier}.
- */
- protected IChangeNotifier changeNotifier;
-
-
- public void notifyChanged(Notification msg)
- {
- if (msg.getEventType() != Notification.RESOLVE)
- {
- fireNotifyChanged(msg);
- }
- }
-
- /**
- * This calls {@link org.eclipse.emf.edit.provider.INotifyChangedListener#notifyChanged notifyChanged} for each listener.
- */
- public void fireNotifyChanged(Notification notification)
- {
- if (changeNotifier != null)
- {
- changeNotifier.fireNotifyChanged(notification);
- }
-
- if (adapterFactory instanceof IChangeNotifier)
- {
- IChangeNotifier changeNotifier = (IChangeNotifier)adapterFactory;
- changeNotifier.fireNotifyChanged(notification);
- }
- }
-
-
- /**
- * This adds another listener.
- */
- public void addListener(INotifyChangedListener notifyChangedListener)
- {
- if (changeNotifier == null)
- {
- changeNotifier = new ChangeNotifier();
- }
- changeNotifier.addListener(notifyChangedListener);
-
- }
-
- /**
- * This removes a listener.
- */
- public void removeListener(INotifyChangedListener notifyChangedListener)
- {
- if (changeNotifier != null)
- {
- changeNotifier.removeListener(notifyChangedListener);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAdapterFactoryLabelProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAdapterFactoryLabelProvider.java
deleted file mode 100644
index 658706040d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAdapterFactoryLabelProvider.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public class XSDAdapterFactoryLabelProvider implements ILabelProvider, INotifyChangedListener, ITableLabelProvider
-{
- protected XSDModelAdapterFactoryImpl adapterFactory;
- protected Collection labelProviderListeners;
-
- private static final Class ILabelProviderClass = ILabelProvider.class;
- private static final Class ITableLabelProviderClass = ITableLabelProvider.class;
-
- /**
- *
- */
- public XSDAdapterFactoryLabelProvider(XSDModelAdapterFactoryImpl adapterFactory)
- {
- this.adapterFactory = adapterFactory;
-// if (adapterFactory instanceof IChangeNotifier)
-// {
-// ((IChangeNotifier)adapterFactory).addListener(this);
-// }
-
- labelProviderListeners = new ArrayList();
- }
-
- /**
- * Return the wrapped AdapterFactory.
- */
- public AdapterFactory getAdapterFactory()
- {
- return adapterFactory;
- }
-
- /**
- * Set the wrapped AdapterFactory.
- */
- public void setAdapterFactory(XSDModelAdapterFactoryImpl adapterFactory)
- {
- if (this.adapterFactory instanceof IChangeNotifier)
- {
- ((IChangeNotifier)this.adapterFactory).removeListener(this);
- }
-
- if (adapterFactory instanceof IChangeNotifier)
- {
- ((IChangeNotifier)adapterFactory).addListener(this);
- }
-
- this.adapterFactory = adapterFactory;
- }
-
- /**
- * Since we won't ever generate these notifications, we can just ignore this.
- */
- public void addListener(ILabelProviderListener listener)
- {
- labelProviderListeners.add(listener);
- }
-
- /**
- * Since we won't ever add listeners, we can just ignore this.
- */
- public void removeListener(ILabelProviderListener listener)
- {
- labelProviderListeners.remove(listener);
- }
-
- /**
- * This discards the content provider and removes this as a listener to the {@link #adapterFactory}.
- */
- public void dispose()
- {
- if (this.adapterFactory instanceof IChangeNotifier)
- {
- ((IChangeNotifier)adapterFactory).removeListener(this);
- }
- }
-
- /**
- * This always returns true right now.
- */
- public boolean isLabelProperty(Object object, String id)
- {
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
- */
- public Image getImage(Object object)
- {
- ILabelProvider labelProvider = (ILabelProvider)adapterFactory.adapt(object, ILabelProviderClass);
-
- return
- labelProvider != null ?
- labelProvider.getImage(object) : null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- */
- public String getText(Object object)
- {
- // Get the adapter from the factory.
- //
- ILabelProvider labelProvider = (ILabelProvider)adapterFactory.adapt(object, ILabelProviderClass);
-
- return
- labelProvider != null ?
- labelProvider.getText(object) :
- object == null ?
- "" :
- object.toString();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.emf.edit.provider.INotifyChangedListener#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- public void notifyChanged(Notification notification)
- {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
- */
- public Image getColumnImage(Object element, int columnIndex)
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
- */
- public String getColumnText(Object element, int columnIndex)
- {
- return null;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAnnotationAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAnnotationAdapter.java
deleted file mode 100644
index b57a4c5ece..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAnnotationAdapter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class XSDAnnotationAdapter extends XSDAbstractAdapter
-{
- public XSDAnnotationAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- public Image getImage(Object element)
- {
- return XSDEditorPlugin.getPlugin().getImage("icons/XSDAnnotate.gif");
- }
-
- public String getText(Object object)
- {
- XSDAnnotation xsdAnnotation = ((XSDAnnotation)object);
- String result = "";
- List userInformation = xsdAnnotation.getUserInformation();
- if (!userInformation.isEmpty())
- {
- Element element = (Element)userInformation.get(0);
- if (element.hasAttribute(XSDConstants.SOURCE_ATTRIBUTE))
- {
- result = element.getAttribute(XSDConstants.SOURCE_ATTRIBUTE);
- }
- else
- {
- org.w3c.dom.Node text = element.getFirstChild();
- while (text instanceof Element)
- {
- text = ((Element)text).getFirstChild();
- }
- if (text != null && text.getNodeValue() != null)
- {
- result = text.getNodeValue();
- result = result.trim();
- if (result.length() > 50)
- {
- result = result.substring(0, 50) + "...";
- }
- }
- }
- }
-
- return result;
- }
-
- public Object[] getChildren(Object parentElement)
- {
- return null;
- }
-
- public boolean hasChildren(Object object)
- {
- return true;
- }
-
- public Object getParent(Object object)
- {
- XSDAnnotation element = (XSDAnnotation)object;
- return element.getContainer();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeDeclarationAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeDeclarationAdapter.java
deleted file mode 100644
index 330925f255..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeDeclarationAdapter.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-public class XSDAttributeDeclarationAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDAttributeDeclarationAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- public Image getImage(Object object)
- {
- XSDAttributeDeclaration xsdAttributeDeclaration = ((XSDAttributeDeclaration)object);
- XSDAttributeDeclaration resolvedAttributeDeclaration = xsdAttributeDeclaration.getResolvedAttributeDeclaration();
-
- if (resolvedAttributeDeclaration.getContainer() == null)
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDAttribute.gif");
- }
- // if (xsdAttributeDeclaration.getResolvedAttributeDeclaration() == xsdAttributeDeclaration)
- if (xsdAttributeDeclaration.isAttributeDeclarationReference())
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDAttributeRef.gif");
- }
- else
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDAttribute.gif");
- }
-
-// return
-// XSDEditorPlugin.getPlugin().getIconImage
-// (resolvedAttributeDeclaration.getContainer() == null ?
-// "full/obj16/XSDAttributeUnresolved" :
-// xsdAttributeDeclaration.getResolvedAttributeDeclaration() == xsdAttributeDeclaration ?
-// "full/obj16/XSDAttributeDeclaration" :
-// "full/obj16/XSDAttributeUse");
- }
-
- public String getText(Object object)
- {
- XSDAttributeDeclaration xsdAttributeDeclaration = ((XSDAttributeDeclaration)object);
- XSDAttributeDeclaration resolvedAttributeDeclaration = xsdAttributeDeclaration.getResolvedAttributeDeclaration();
- String name =
- xsdAttributeDeclaration != resolvedAttributeDeclaration ?
- xsdAttributeDeclaration.getQName() :
- xsdAttributeDeclaration.getName();
-
- StringBuffer result = new StringBuffer();
- if (name == null)
- {
- result.append("'absent'");
- }
- else
- {
- result.append(name);
- }
-
- if (resolvedAttributeDeclaration.getAnonymousTypeDefinition() == null && resolvedAttributeDeclaration.getTypeDefinition() != null)
- {
- result.append(" : ");
- result.append(resolvedAttributeDeclaration.getTypeDefinition().getQName(xsdAttributeDeclaration));
- }
-
- return result.toString();
- }
-
- public Object[] getChildren(Object parentElement)
- {
- XSDAttributeDeclaration xsdAttributeDeclaration = (XSDAttributeDeclaration)parentElement;
- List list = new ArrayList();
-
- XSDTypeDefinition type = xsdAttributeDeclaration.getAnonymousTypeDefinition();
- if (type != null)
- {
- list.add(type);
- }
- return list.toArray();
- }
-
- public boolean hasChildren(Object object)
- {
- return true;
- }
-
- public Object getParent(Object object)
- {
- XSDAttributeDeclaration element = (XSDAttributeDeclaration)object;
- return element.getContainer();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeGroupDefinitionAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeGroupDefinitionAdapter.java
deleted file mode 100644
index 19861ae15c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeGroupDefinitionAdapter.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDWildcard;
-
-
-public class XSDAttributeGroupDefinitionAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDAttributeGroupDefinitionAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- public Image getImage(Object object)
- {
- XSDAttributeGroupDefinition xsdAttributeGroupDefinition = ((XSDAttributeGroupDefinition)object);
- XSDAttributeGroupDefinition resolvedAttributeGroupDefinition = xsdAttributeGroupDefinition.getResolvedAttributeGroupDefinition();
-
- if (xsdAttributeGroupDefinition.isAttributeGroupDefinitionReference())
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDAttributeGroupRef.gif");
- }
- else
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDAttributeGroup.gif");
- }
- }
-
- public String getText(Object object)
- {
- XSDAttributeGroupDefinition xsdAttributeGroupDefinition = ((XSDAttributeGroupDefinition)object);
- String result =
- xsdAttributeGroupDefinition.isAttributeGroupDefinitionReference() ?
- xsdAttributeGroupDefinition.getQName() :
- xsdAttributeGroupDefinition.getName();
- return result == null ? "'absent'" : result;
- }
-
- public Object[] getChildren(Object parentElement)
- {
- XSDAttributeGroupDefinition xsdAttributeGroup = (XSDAttributeGroupDefinition)parentElement;
- List list = new ArrayList();
-// list.addAll(xsdAttributeGroup.getContents());
- Iterator i = xsdAttributeGroup.getContents().iterator();
- while (i.hasNext())
- {
- XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent)i.next();
- if (attrGroupContent instanceof XSDAttributeUse)
- {
- list.add(((XSDAttributeUse)attrGroupContent).getAttributeDeclaration());
- }
- else
- {
- list.add(attrGroupContent);
- }
- }
-
- XSDWildcard wildcard = xsdAttributeGroup.getAttributeWildcard();
- if (wildcard != null)
- {
- list.add(wildcard);
- }
- return list.toArray();
- }
-
- public boolean hasChildren(Object object)
- {
- return true;
- }
-
- public Object getParent(Object object)
- {
- XSDAttributeGroupDefinition element = (XSDAttributeGroupDefinition)object;
- return element.getContainer();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeUseAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeUseAdapter.java
deleted file mode 100644
index 5c8c127703..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeUseAdapter.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-
-public class XSDAttributeUseAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDAttributeUseAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- protected XSDAttributeDeclaration getDelegate(XSDAttributeUse xsdAttributeUse)
- {
- return xsdAttributeUse.getContent();
- }
-
- /**
- * This returns XSDAttributeUse.gif.
- */
- public Image getImage(Object object)
- {
- XSDAttributeUse xsdAttributeUse = ((XSDAttributeUse)object);
-
- XSDAttributeDeclaration xsdAttributeDeclaration = getDelegate(xsdAttributeUse);
- if (xsdAttributeDeclaration.isAttributeDeclarationReference())
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDAttributeRef.gif");
- }
- else
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDAttribute.gif");
- }
- //return XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDAttributeUse");
-
- }
-
- public String getText(Object object)
- {
- return getText(object, true);
- }
-
- public String getText(Object object, boolean showType)
- {
- XSDAttributeUse xsdAttributeUse = ((XSDAttributeUse)object);
- XSDAttributeDeclaration xsdAttributeDeclaration = getDelegate(xsdAttributeUse);
- if (xsdAttributeDeclaration.isAttributeDeclarationReference())
- {
- return xsdAttributeDeclaration.getResolvedAttributeDeclaration().getName();
- }
- StringBuffer result = new StringBuffer();
- if (xsdAttributeDeclaration != null)
- {
- result.append(xsdAttributeDeclaration.getName());
- }
-
- if (xsdAttributeUse.isSetConstraint())
- {
- if (result.length() != 0)
- {
- result.append(" ");
- }
- result.append('<');
- result.append(xsdAttributeUse.getConstraint());
- result.append("=\"");
- result.append(xsdAttributeUse.getLexicalValue());
- result.append("\">");
- }
-
- return result.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDComplexTypeDefinitionAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDComplexTypeDefinitionAdapter.java
deleted file mode 100644
index 38f73515b4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDComplexTypeDefinitionAdapter.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.xsd.XSDComplexTypeContent;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class XSDComplexTypeDefinitionAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDComplexTypeDefinitionAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- public Image getImage(Object object)
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDComplexType.gif");
-// XSDComplexTypeDefinition xsdComplexTypeDefinition = ((XSDComplexTypeDefinition)object);
-// return
-// XSDEditorPlugin.getPlugin().getIconImage
-// (xsdComplexTypeDefinition.getContainer() == null ?
-// "full/obj16/XSDComplexTypeDefinitionUnresolved" :
-// "full/obj16/XSDComplexTypeDefinition");
- }
-
- public String getText(Object object)
- {
- return getText(object, true);
- }
-
- public String getText(Object object, boolean showType)
- {
- XSDComplexTypeDefinition xsdComplexTypeDefinition = ((XSDComplexTypeDefinition)object);
-
- StringBuffer result = new StringBuffer();
-
- result.append
- (xsdComplexTypeDefinition.getName() == null ?
- // xsdComplexTypeDefinition.getAliasName() :
- "local type" :
- xsdComplexTypeDefinition.getName());
-
- if (showType)
- {
- XSDTypeDefinition baseTypeDefinition = xsdComplexTypeDefinition.getBaseTypeDefinition();
- if (baseTypeDefinition != null &&
- baseTypeDefinition != xsdComplexTypeDefinition.getContent() &&
- baseTypeDefinition.getName() != null &&
- !XSDConstants.isURType(baseTypeDefinition))
- {
- result.append(" : ");
- result.append(baseTypeDefinition.getQName(xsdComplexTypeDefinition));
- }
- }
-
- return result.toString();
- }
-
- public Object[] getChildren(Object parentElement)
- {
- XSDComplexTypeDefinition xsdComplexTypeDefinition = (XSDComplexTypeDefinition)parentElement;
- List list = new ArrayList();
-
- if (xsdComplexTypeDefinition.getContent() != null)
- {
- XSDComplexTypeContent xsdComplexTypeContent = xsdComplexTypeDefinition.getContent();
- if (xsdComplexTypeContent instanceof XSDParticle)
- {
- list.add(((XSDParticle)xsdComplexTypeContent).getContent());
- }
- }
-
-// if (((XSDModelAdapterFactoryImpl)adapterFactory).getShowInherited())
-// {
-// if (xsdComplexTypeDefinition.getSyntheticParticle() != null)
-// {
-// XSDTypeDefinition type = xsdComplexTypeDefinition.getBaseTypeDefinition();
-// list.addAll(XSDChildUtility.getModelChildren(type));
-// }
-// if (xsdComplexTypeDefinition.getSyntheticWildcard() != null)
-// {
-// list.add(xsdComplexTypeDefinition.getSyntheticWildcard());
-// }
-// }
-
-// List attributes = xsdComplexTypeDefinition.getAttributeContents();
-// if (attributes.size() > 0)
-// {
-// list.addAll(attributes);
-// }
-
-// list = new ArrayList();
- if (((XSDModelAdapterFactoryImpl)adapterFactory).getShowInherited())
- {
- if (xsdComplexTypeDefinition.getDerivationMethod().getName().equals("extension"))
- {
- XSDTypeDefinition type = xsdComplexTypeDefinition.getBaseTypeDefinition();
- Iterator iter = XSDChildUtility.getModelChildren(type).iterator();
- boolean cont = true;
- while (cont)
- {
- while (iter.hasNext())
- {
- list.add(0, iter.next());
- }
-
- if (type instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)type;
- type = ctd.getBaseTypeDefinition();
-
- // defect 264957 - workbench hangs when modifying complex content
- // Since we don't filter out the current complexType from
- // the combobox, we can potentially have an endless loop
- if (ctd == type)
- {
- cont = false;
- break;
- }
-
- if (ctd.getDerivationMethod().getName().equals("extension"))
- {
- iter = XSDChildUtility.getModelChildren(type).iterator();
- }
- else
- {
- cont = false;
- }
- }
- else
- {
- cont = false;
- }
- }
-
- }
-
-
-// list.addAll(XSDChildUtility.getModelChildren(baseType));
- }
-
-// list.addAll(XSDChildUtility.getModelChildren(xsdComplexTypeDefinition));
-
- return list.toArray();
-
- }
-
- public boolean hasChildren(Object object)
- {
- return true;
- }
-
- public Object getParent(Object object)
- {
- XSDComplexTypeDefinition element = (XSDComplexTypeDefinition)object;
- return element.getContainer();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDContentProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDContentProvider.java
deleted file mode 100644
index 8ed43c299b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDContentProvider.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDWildcard;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public class XSDContentProvider implements ITreeContentProvider, INotifyChangedListener
-{
-// protected static XSDItemProviderAdapterFactory syntacticAdapterFactory = new XSDItemProviderAdapterFactory();
-// protected static XSDSemanticItemProviderAdapterFactory semanticAdapterFactory = new XSDSemanticItemProviderAdapterFactory();
-
- XSDModelAdapterFactoryImpl xsdModelAdapterFactory;
-
- XSDSchema xsdSchema;
- public XSDContentProvider(XSDModelAdapterFactoryImpl xsdModelAdapterFactoryImpl)
- {
- this.xsdModelAdapterFactory = xsdModelAdapterFactoryImpl;
-
- if (xsdModelAdapterFactory instanceof IChangeNotifier)
- {
- ((IChangeNotifier)xsdModelAdapterFactory).addListener(this);
- }
- }
-
- public void setXSDSchema(XSDSchema xsdSchema)
- {
- this.xsdSchema = xsdSchema;
- }
-
- /*
- * @see ITreeContentProvider#getChildren(Object)
- */
- public Object[] getChildren(Object parentElement)
- {
-// return adapterFactoryContentProvider.getChildren(parentElement);
- XSDConcreteComponent xsdComp = null;
- List list = null;
- if (parentElement instanceof Document)
- {
- xsdComp = xsdSchema;
- // ItemProviderAdapter a = (ItemProviderAdapter)syntacticAdapterFactory.adapt(xsdComp, syntacticAdapterFactory);
- // ItemProviderAdapter a = (ItemProviderAdapter)semanticAdapterFactory.adapt(xsdComp, semanticAdapterFactory);
-
- XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(xsdComp, xsdModelAdapterFactory);
-
-// a.removeListener((INotifyChangedListener)this);
-// a.addListener((INotifyChangedListener)this);
-
- list = new ArrayList();
- list.add(xsdComp);
- return list.toArray();
- }
- else if (parentElement instanceof XSDConcreteComponent)
- {
- xsdComp = (XSDConcreteComponent)parentElement;
- list = new ArrayList();
- }
- else if (parentElement instanceof ITreeItemContentProvider)
- {
- // return adapterFactoryContentProvider.getChildren(parentElement);
- return ((ITreeItemContentProvider)parentElement).getChildren(parentElement).toArray();
- }
- else if (parentElement instanceof ITreeContentProvider)
- {
- return ((ITreeContentProvider)parentElement).getChildren(parentElement);
- }
-
- if (xsdComp != null)
- {
- // ItemProviderAdapter a = (ItemProviderAdapter)syntacticAdapterFactory.adapt(xsdComp, syntacticAdapterFactory);
- // ItemProviderAdapter a = (ItemProviderAdapter)semanticAdapterFactory.adapt(xsdComp, semanticAdapterFactory);
-
- XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(xsdComp, xsdModelAdapterFactory);
-
- if (xsdComp instanceof XSDElementDeclaration || xsdComp instanceof XSDModelGroup || xsdComp instanceof XSDWildcard)
- {
- XSDAbstractAdapter particleAdapter = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(((XSDParticleContent)xsdComp).getContainer(), xsdModelAdapterFactory);
- }
-
- if (a != null)
- {
-// a.removeListener((INotifyChangedListener)this);
-// a.addListener((INotifyChangedListener)this);
-
- Object [] obj = a.getChildren(xsdComp);
- if (obj != null)
- {
- list = Arrays.asList(obj);
- }
- }
-// list = (List)a.getChildren(xsdComp);
- }
-
- list = list != null ? list : Collections.EMPTY_LIST;
- return list.toArray();
- }
-
- /*
- * @see ITreeContentProvider#getParent(Object)
- */
- public Object getParent(Object element)
- {
- if (element instanceof Node)
- {
- return ((Node)element).getParentNode();
- }
- else if (element instanceof XSDComponent)
- {
- return ((XSDComponent)element).getContainer();
- }
- return null;
- }
-
- /*
- * @see ITreeContentProvider#hasChildren(Object)
- */
- public boolean hasChildren(Object element)
- {
- Object[] children = getChildren(element);
- return children != null && children.length > 0;
- }
-
- /*
- * @see IStructuredContentProvider#getElements(Object)
- */
- public Object[] getElements(Object inputElement)
- {
- return getChildren(inputElement);
- }
-
- public void notifyChanged(Notification notification)
- {
- if (viewer != null)
- {
- if (viewer instanceof StructuredViewer)
- {
- if (notification.getFeature() instanceof EAttribute)
- {
- ((StructuredViewer)viewer).update(notification.getNotifier(), null);
- }
- else
- {
- ((StructuredViewer)viewer).refresh(notification.getNotifier());
- }
- }
- else
- {
- viewer.refresh();
- }
- }
-
- }
-
- /*
- * @see IContentProvider#dispose()
- */
- public void dispose()
- {
- viewer = null;
- xsdModelAdapterFactory.removeListener(this);
- }
-
- protected Viewer viewer = null;
-
- /*
- * @see IContentProvider#inputChanged(Viewer, Object, Object)
- */
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- this.viewer = viewer;
- }
-
-// protected ViewerNotifyingAdapterFactory viewerNotifyingAdapterFactory = new ViewerNotifyingAdapterFactory();
-//
-//
-// // There is only 1 adapter associated with this factory. This single adapter gets added
-// // to the adapter lists of many nodes.
-// public class ViewerNotifyingAdapterFactory extends // KCPort com.ibm.sed.model.AbstractAdapterFactory
-// AbstractAdapterFactory
-// {
-// protected ViewerNotifyingAdapter viewerNotifyingAdapter = new ViewerNotifyingAdapter();
-//
-// protected INodeAdapter createAdapter(INodeNotifier target)
-// {
-// return viewerNotifyingAdapter;
-// }
-//
-// protected ViewerNotifyingAdapter doAdapt(Object object)
-// {
-// ViewerNotifyingAdapter result = null;
-// if (object instanceof INodeNotifier)
-// {
-// result = (ViewerNotifyingAdapter)adapt((INodeNotifier)object);
-// }
-// return result;
-// }
-// }
-//
-//
-// public class ViewerNotifyingAdapter implements INodeAdapter
-// {
-// public boolean isAdapterForType(Object type)
-// {
-// return type == viewerNotifyingAdapterFactory;
-// }
-//
-// public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos)
-// {
-// if (viewer == null || newValue instanceof Text || oldValue instanceof Text)
-// return;
-//
-// if (eventType != INodeNotifier.ADD && eventType != INodeNotifier.REMOVE)
-// {
-// if (notifier instanceof Element)
-// {
-// Node node = (Node)notifier;
-// Node parent = node instanceof Attr ? ((Attr)node).getOwnerElement() : node.getParentNode();
-// // we use to refresh the parent, but it seems that the notifier is sufficient now
-//
-// Object objToRefresh = notifier;
-// if (notifier instanceof DocumentImpl)
-// {
-// objToRefresh = ((DocumentImpl)notifier).getModel();
-// }
-// if (viewer instanceof AbstractTreeViewer)
-// {
-//// if (node instanceof XMLNode)
-//// {
-//// XMLNode xmlNode = (XMLNode)node;
-//// int caretPosition = xmlNode.getStartOffset();
-//// ((XSDEditorTreeViewer)viewer).setCaretPosition(caretPosition);
-//// }
-// ((AbstractTreeViewer)viewer).refresh(objToRefresh);
-// }
-// else
-// {
-// viewer.refresh();
-// }
-// }
-//
-// }
-// else if (eventType == INodeNotifier.ADD || eventType == INodeNotifier.REMOVE)
-// {
-// if (notifier instanceof DocumentImpl)
-// {
-// Object objToRefresh = ((DocumentImpl)notifier).getModel();
-// if (viewer instanceof AbstractTreeViewer)
-// {
-// ((AbstractTreeViewer)viewer).refresh(objToRefresh);
-// }
-// }
-// }
-//// if (notifier instanceof Element)
-//// {
-//// performance problem - updates all elements when the children are reparented
-//// Object objToRefresh = notifier;
-//// if (notifier instanceof DocumentImpl)
-//// {
-//// objToRefresh = ((DocumentImpl)notifier).getModel();
-//// }
-//// if (viewer instanceof AbstractTreeViewer)
-//// {
-//// ((AbstractTreeViewer)viewer).refresh(objToRefresh);
-//// }
-//// if (eventType == Notifier.ADD && newValue instanceof Element)
-//// {
-//// if (viewer instanceof XSDEditorTreeViewer)
-//// {
-//// // default select the new added element
-//// ((XSDEditorTreeViewer)viewer).getOutlinePage().updateSelection(new StructuredSelection(newValue));
-//// }
-//// }
-//// }
-//// }
-// }
-// }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDElementDeclarationAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDElementDeclarationAdapter.java
deleted file mode 100644
index a74e4bfe4d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDElementDeclarationAdapter.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class XSDElementDeclarationAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDElementDeclarationAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- public Image getImage(Object element)
- {
- XSDElementDeclaration xsdElementDeclaration = ((XSDElementDeclaration)element);
- XSDElementDeclaration resolvedElementDeclaration = xsdElementDeclaration.getResolvedElementDeclaration();
-
- if (!xsdElementDeclaration.isElementDeclarationReference())
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDElement.gif");
- }
- else
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDElementRef.gif");
- }
-
-// return
-// XSDEditorPlugin.getPlugin().getIconImage
-// (resolvedElementDeclaration.getContainer() == null ?
-// "full/obj16/XSDElementUnresolved" :
-// xsdElementDeclaration.getResolvedElementDeclaration() == xsdElementDeclaration ?
-// "full/obj16/XSDElementDeclaration" :
-// "full/obj16/XSDElementUse");
-
- }
-
- public String getText(Object object)
- {
- XSDElementDeclaration xsdElementDeclaration = ((XSDElementDeclaration)object);
- XSDElementDeclaration resolvedElementDeclaration = xsdElementDeclaration.getResolvedElementDeclaration();
- String name =
- xsdElementDeclaration != resolvedElementDeclaration ?
- xsdElementDeclaration.getQName() :
- xsdElementDeclaration.getName();
-
- StringBuffer result = new StringBuffer();
- if (name == null)
- {
- result.append("'absent'");
- }
- else
- {
- result.append(name);
- }
-
- if (!xsdElementDeclaration.isGlobal())
- {
- Element element = xsdElementDeclaration.getElement();
- boolean hasMinOccurs = element.hasAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- boolean hasMaxOccurs = element.hasAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-
- if (hasMinOccurs || hasMaxOccurs)
- {
- result.append(" [");
- if (hasMinOccurs)
- {
- int min = ((XSDParticle)xsdElementDeclaration.getContainer()).getMinOccurs();
- if (min == XSDParticle.UNBOUNDED)
- {
- result.append("*");
- }
- else
- {
- result.append(String.valueOf(min));
- }
- }
- else // print default
- {
- int min = ((XSDParticle)xsdElementDeclaration.getContainer()).getMinOccurs();
- result.append(String.valueOf(min));
- }
- if (hasMaxOccurs)
- {
- int max = ((XSDParticle)xsdElementDeclaration.getContainer()).getMaxOccurs();
- result.append("..");
- if (max == XSDParticle.UNBOUNDED)
- {
- result.append("*");
- }
- else
- {
- result.append(String.valueOf(max));
- }
- }
- else // print default
- {
- result.append("..");
- int max = ((XSDParticle)xsdElementDeclaration.getContainer()).getMaxOccurs();
- result.append(String.valueOf(max));
-
- }
- result.append("]");
- }
- }
-
- if (resolvedElementDeclaration.getAnonymousTypeDefinition() == null && resolvedElementDeclaration.getTypeDefinition() != null)
- {
- result.append(" : ");
- result.append(resolvedElementDeclaration.getTypeDefinition().getQName(xsdElementDeclaration));
- }
-
- return result.toString();
- }
-
- public Object[] getChildren(Object parentElement)
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)parentElement;
- List list = new ArrayList();
- XSDTypeDefinition type = null;
- if (xsdElementDeclaration.isElementDeclarationReference())
- {
- if (((XSDModelAdapterFactoryImpl)adapterFactory).getShowReferences())
- {
- type = xsdElementDeclaration.getResolvedElementDeclaration().getTypeDefinition();
- }
- }
- else
- {
- type = xsdElementDeclaration.getAnonymousTypeDefinition();
- if (type == null)
- {
- if (((XSDModelAdapterFactoryImpl)adapterFactory).getShowReferences())
- {
- type = xsdElementDeclaration.getTypeDefinition();
- }
- }
- }
-
- if (type != null && type instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ctType = (XSDComplexTypeDefinition)type;
- if (ctType != null)
- {
- list.add(ctType);
- }
- }
-
-// if (xsdElementDeclaration.getIdentityConstraintDefinitions() != null)
-// {
-// list.addAll(xsdElementDeclaration.getIdentityConstraintDefinitions());
-// }
-
-// return XSDChildUtility.getModelChildren(xsdElementDeclaration.getResolvedElementDeclaration()).toArray();
- return list.toArray();
-
- }
-
- public boolean hasChildren(Object object)
- {
- return true;
- }
-
- public Object getParent(Object object)
- {
- XSDElementDeclaration element = (XSDElementDeclaration)object;
- return element.getContainer();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelAdapterFactoryImpl.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelAdapterFactoryImpl.java
deleted file mode 100644
index faf443f63d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelAdapterFactoryImpl.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.provider.ChangeNotifier;
-import org.eclipse.emf.edit.provider.Disposable;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.IDisposable;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.util.XSDAdapterFactory;
-import org.eclipse.xsd.util.XSDSwitch;
-
-public class XSDModelAdapterFactoryImpl extends XSDAdapterFactory
- implements IChangeNotifier, IDisposable
-{
-
- protected IChangeNotifier changeNotifier = new ChangeNotifier();
-
- protected Disposable disposable = new Disposable();
-
- protected Collection supportedTypes = new ArrayList();
-
- protected boolean showReferences = false;
- protected boolean showInherited = false;
-
- /**
- *
- */
- public XSDModelAdapterFactoryImpl()
- {
- super();
- supportedTypes.add(ILabelProvider.class);
- }
-
- public void setShowReferences(boolean b)
- {
- showReferences = b;
- }
-
- public boolean getShowReferences()
- {
- return showReferences;
- }
-
- public void setShowInherited(boolean b)
- {
- showInherited= b;
- }
-
- public boolean getShowInherited()
- {
- return showInherited;
- }
-
- protected XSDSwitch modelSwitch = new XSDSwitch()
- {
- public Object caseXSDAnnotation(XSDAnnotation object)
- {
- return createXSDAnnotationAdapter();
- }
- public Object caseXSDAttributeDeclaration(XSDAttributeDeclaration object)
- {
- return createXSDAttributeDeclarationAdapter();
- }
- public Object caseXSDAttributeGroupDefinition(XSDAttributeGroupDefinition object)
- {
- return createXSDAttributeGroupDefinitionAdapter();
- }
- public Object caseXSDAttributeUse(XSDAttributeUse object)
- {
- return createXSDAttributeUseAdapter();
- }
- public Object caseXSDComplexTypeDefinition(XSDComplexTypeDefinition object)
- {
- return createXSDComplexTypeDefinitionAdapter();
- }
- public Object caseXSDElementDeclaration(XSDElementDeclaration object)
- {
- return createXSDElementDeclarationAdapter();
- }
- public Object caseXSDModelGroup(XSDModelGroup object)
- {
- return createXSDModelGroupAdapter();
- }
- public Object caseXSDModelGroupDefinition(XSDModelGroupDefinition object)
- {
- return createXSDModelGroupDefinitionAdapter();
- }
- public Object caseXSDNotationDeclaration(XSDNotationDeclaration object)
- {
- return createXSDNotationDeclarationAdapter();
- }
- public Object caseXSDParticle(XSDParticle object)
- {
- return createXSDParticleAdapter();
- }
-// public Object caseXSDParticleContent(XSDParticleContent object)
-// {
-// return createXSDParticleContentAdapter();
-// }
- public Object caseXSDSchema(XSDSchema object)
- {
- return createXSDSchemaAdapter();
- }
- public Object caseXSDImport(XSDImport object)
- {
- // return createXSDImportAdapter();
- return createXSDSchemaDirectiveAdapter();
- }
- public Object caseXSDInclude(XSDInclude object)
- {
- // return createXSDIncludeAdapter();
- return createXSDSchemaDirectiveAdapter();
- }
- public Object caseXSDRedefine(XSDRedefine object)
- {
- // return createXSDRedefineAdapter();
- return createXSDSchemaDirectiveAdapter();
- }
- public Object caseXSDSimpleTypeDefinition(XSDSimpleTypeDefinition object)
- {
- return createXSDSimpleTypeDefinitionAdapter();
-
- }
- public Object caseXSDWildcard(XSDWildcard object)
- {
- return createXSDWildcardAdapter();
- }
- public Object defaultCase(EObject object)
- {
- return createEObjectAdapter();
- }
- };
-
- public Adapter createAdapter(Notifier target)
- {
- Adapter adapter = null;
- if (target instanceof EObject)
- {
- adapter = (Adapter)modelSwitch.doSwitch((EObject)target);
- }
- return adapter;
- }
-
-/* create adapters */
-
- protected XSDAnnotationAdapter xsdAnnotationAdapter;
- public Adapter createXSDAnnotationAdapter()
- {
- if (xsdAnnotationAdapter == null)
- {
- xsdAnnotationAdapter = new XSDAnnotationAdapter(this);
- }
- return xsdAnnotationAdapter;
- }
-
- protected XSDAttributeDeclarationAdapter xsdAttributeDeclarationAdapter;
- public Adapter createXSDAttributeDeclarationAdapter()
- {
- if (xsdAttributeDeclarationAdapter == null)
- {
- xsdAttributeDeclarationAdapter = new XSDAttributeDeclarationAdapter(this);
- }
- return xsdAttributeDeclarationAdapter;
- }
-
- protected XSDAttributeGroupDefinitionAdapter xsdAttributeGroupDefinitionAdapter;
- public Adapter createXSDAttributeGroupDefinitionAdapter()
- {
- if (xsdAttributeGroupDefinitionAdapter == null)
- {
- xsdAttributeGroupDefinitionAdapter = new XSDAttributeGroupDefinitionAdapter(this);
- }
- return xsdAttributeGroupDefinitionAdapter;
- }
-
- protected XSDAttributeUseAdapter xsdAttributeUseAdapter;
- public Adapter createXSDAttributeUseAdapter()
- {
- if (xsdAttributeUseAdapter == null)
- {
- xsdAttributeUseAdapter = new XSDAttributeUseAdapter(this);
- }
-
- return xsdAttributeUseAdapter;
- }
-
-
- XSDComplexTypeDefinitionAdapter xsdComplexTypeDefinitionAdapter;
- public Adapter createXSDComplexTypeDefinitionAdapter()
- {
- if (xsdComplexTypeDefinitionAdapter == null)
- {
- xsdComplexTypeDefinitionAdapter = new XSDComplexTypeDefinitionAdapter(this);
- }
- return xsdComplexTypeDefinitionAdapter;
- }
-
- XSDElementDeclarationAdapter xsdElementDeclarationAdapter;
- public Adapter createXSDElementDeclarationAdapter()
- {
- if (xsdElementDeclarationAdapter == null)
- {
- xsdElementDeclarationAdapter = new XSDElementDeclarationAdapter(this);
- }
- return xsdElementDeclarationAdapter;
- }
-
- XSDModelGroupAdapter xsdModelGroupAdapter;
- public Adapter createXSDModelGroupAdapter()
- {
- if (xsdModelGroupAdapter == null)
- {
- xsdModelGroupAdapter = new XSDModelGroupAdapter(this);
- }
- return xsdModelGroupAdapter;
- }
-
- XSDModelGroupDefinitionAdapter xsdModelGroupDefinitionAdapter;
- public Adapter createXSDModelGroupDefinitionAdapter()
- {
- if (xsdModelGroupDefinitionAdapter == null)
- {
- xsdModelGroupDefinitionAdapter = new XSDModelGroupDefinitionAdapter(this);
- }
- return xsdModelGroupDefinitionAdapter;
- }
-
- XSDNotationDeclarationAdapter xsdNotationDeclarationAdapter;
- public Adapter createXSDNotationDeclarationAdapter()
- {
- if (xsdNotationDeclarationAdapter == null)
- {
- xsdNotationDeclarationAdapter = new XSDNotationDeclarationAdapter(this);
- }
- return xsdNotationDeclarationAdapter;
- }
-
- XSDWildcardAdapter xsdWildcardAdapter;
- public Adapter createXSDWildcardAdapter()
- {
- if (xsdWildcardAdapter == null)
- {
- xsdWildcardAdapter = new XSDWildcardAdapter(this);
- }
- return xsdWildcardAdapter;
- }
-
- protected XSDParticleAdapter xsdParticleAdapter;
- public Adapter createXSDParticleAdapter()
- {
- if (xsdParticleAdapter == null)
- {
- xsdParticleAdapter = new XSDParticleAdapter(this);
- }
- return xsdParticleAdapter;
- }
-//
-// protected XSDParticleContentAdapter xsdParticleContentAdapter;
-// public Adapter createXSDParticleContentAdapter()
-// {
-// if (xsdParticleContentAdapter == null)
-// {
-// xsdParticleContentAdapter = new XSDParticleContentAdapter(this);
-// }
-// return xsdParticleContentAdapter;
-// }
-
- protected XSDSchemaAdapter xsdSchemaAdapter;
- public Adapter createXSDSchemaAdapter()
- {
- if (xsdSchemaAdapter == null)
- {
- xsdSchemaAdapter = new XSDSchemaAdapter(this);
- }
-
- return xsdSchemaAdapter;
- }
-
- protected XSDSchemaDirectiveAdapter xsdSchemaDirectiveAdapter;
- public Adapter createXSDSchemaDirectiveAdapter()
- {
- if (xsdSchemaDirectiveAdapter == null)
- {
- xsdSchemaDirectiveAdapter = new XSDSchemaDirectiveAdapter(this);
- }
-
- return xsdSchemaDirectiveAdapter;
- }
-
- XSDSimpleTypeDefinitionAdapter xsdSimpleTypeDefinitionAdapter;
- public Adapter createXSDSimpleTypeDefinitionAdapter()
- {
- if (xsdSimpleTypeDefinitionAdapter == null)
- {
- xsdSimpleTypeDefinitionAdapter = new XSDSimpleTypeDefinitionAdapter(this);
- }
- return xsdSimpleTypeDefinitionAdapter;
- }
-
- public Adapter createEObjectAdapter()
- {
- return null;
- }
-
-
- public boolean isFactoryForType(Object type)
- {
- return super.isFactoryForType(type) || supportedTypes.contains(type);
- }
-
- /**
- * This implementation substitutes the factory itself as the key for the adapter.
- */
- public Adapter adapt(Notifier notifier, Object type)
- {
- return super.adapt(notifier, this);
- }
-
- public Object adapt(Object object, Object type)
- {
- // This is a kludge to deal with enumerators, which crash the doSwitch.
- //
- if (object instanceof EObject && ((EObject)object).eClass() == null)
- {
- return null;
- }
-
- if (isFactoryForType(type))
- {
- Object adapter = super.adapt(object, type);
- if (!(type instanceof Class) || (((Class)type).isInstance(adapter)))
- {
- return adapter;
- }
- }
-
- return null;
- }
-
- public Adapter adaptNew(Notifier object, Object type)
- {
- Adapter result = super.adaptNew(object, type);
- disposable.add(result);
- return result;
- }
-
- /**
- * This adds a listener.
- */
- public void addListener(INotifyChangedListener notifyChangedListener)
- {
- changeNotifier.addListener(notifyChangedListener);
- }
-
- /**
- * This removes a listener.
- */
- public void removeListener(INotifyChangedListener notifyChangedListener)
- {
- changeNotifier.removeListener(notifyChangedListener);
- }
-
- /**
- * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
- */
- public void fireNotifyChanged(Notification notification)
- {
- Display display = Display.getDefault();
- if (display != null)
- {
- if (display.getThread() == Thread.currentThread ())
- {
- changeNotifier.fireNotifyChanged(notification);
- }
- }
-
-// if (parentAdapterFactory != null)
-// {
-// parentAdapterFactory.fireNotifyChanged(notification);
-// }
- }
-
- public void dispose()
- {
- disposable.dispose();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupAdapter.java
deleted file mode 100644
index 7fc171936b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupAdapter.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class XSDModelGroupAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDModelGroupAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- public Image getImage(Object element)
- {
- XSDModelGroup xsdModelGroup = ((XSDModelGroup)element);
- if (XSDCompositor.CHOICE_LITERAL == xsdModelGroup.getCompositor())
- {
- // return XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDModelGroupChoice");
- return XSDEditorPlugin.getXSDImage("icons/XSDChoice.gif");
- }
- else if (XSDCompositor.ALL_LITERAL == xsdModelGroup.getCompositor())
- {
- // return XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDModelGroupAll");
- return XSDEditorPlugin.getXSDImage("icons/XSDAll.gif");
- }
- else
- {
- // return XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDModelGroupSequence");
- return XSDEditorPlugin.getXSDImage("icons/XSDSequence.gif");
- }
- }
-
- public String getText(Object object)
- {
- XSDModelGroup xsdModelGroup = ((XSDModelGroup)object);
-
- StringBuffer result = new StringBuffer();
- String name = xsdModelGroup.getCompositor().getName();
- if (name != null)
- {
- result.append(name);
- }
-
- Element element = xsdModelGroup.getElement();
-
- if (element != null)
- {
- boolean hasMinOccurs = element.hasAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- boolean hasMaxOccurs = element.hasAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-
- if (hasMinOccurs || hasMaxOccurs)
- {
- result.append(" [");
- if (hasMinOccurs)
- {
- int min = ((XSDParticle)xsdModelGroup.getContainer()).getMinOccurs();
- if (min == XSDParticle.UNBOUNDED)
- {
- result.append("*");
- }
- else
- {
- result.append(String.valueOf(min));
- }
- }
- else // print default
- {
- int min = ((XSDParticle)xsdModelGroup.getContainer()).getMinOccurs();
- result.append(String.valueOf(min));
- }
- if (hasMaxOccurs)
- {
- int max = ((XSDParticle)xsdModelGroup.getContainer()).getMaxOccurs();
- result.append("..");
- if (max == XSDParticle.UNBOUNDED)
- {
- result.append("*");
- }
- else
- {
- result.append(String.valueOf(max));
- }
- }
- else // print default
- {
- result.append("..");
- int max = ((XSDParticle)xsdModelGroup.getContainer()).getMaxOccurs();
- result.append(String.valueOf(max));
- }
- result.append("]");
- }
- }
- return result.toString();
- }
-
- public Object[] getChildren(Object parentElement)
- {
- XSDModelGroup xsdModelGroup = (XSDModelGroup)parentElement;
- List list = new ArrayList();
- // list.addAll(xsdModelGroup.getContents());
- list.addAll(XSDChildUtility.getModelChildren(xsdModelGroup));
- return list.toArray();
- }
-
- public boolean hasChildren(Object object)
- {
- return true;
- }
-
- public Object getParent(Object object)
- {
- XSDModelGroup element = (XSDModelGroup)object;
- return element.getContainer();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupDefinitionAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupDefinitionAdapter.java
deleted file mode 100644
index e62246973b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupDefinitionAdapter.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-
-
-public class XSDModelGroupDefinitionAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDModelGroupDefinitionAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- public Image getImage(Object object)
- {
- XSDModelGroupDefinition xsdModelGroupDefinition = ((XSDModelGroupDefinition)object);
- XSDModelGroupDefinition resolvedModelGroupDefinition = xsdModelGroupDefinition.getResolvedModelGroupDefinition();
-
- if (xsdModelGroupDefinition.isModelGroupDefinitionReference())
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDGroupRef.gif");
- }
- else
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDGroup.gif");
- }
- }
-
- public String getText(Object object)
- {
- XSDModelGroupDefinition xsdModelGroupDefinition = ((XSDModelGroupDefinition)object);
- String result =
- xsdModelGroupDefinition.isModelGroupDefinitionReference() ?
- xsdModelGroupDefinition.getQName() :
- xsdModelGroupDefinition.getName();
- return result == null ? "'absent'" : result;
- }
-
- boolean hasChildren = false;
-
- public Object[] getChildren(Object parentElement)
- {
- XSDModelGroupDefinition xsdModelGroupDefinition = (XSDModelGroupDefinition)parentElement;
- List list = new ArrayList();
- if (xsdModelGroupDefinition.isModelGroupDefinitionReference())
- {
- if (((XSDModelAdapterFactoryImpl)adapterFactory).getShowReferences())
- {
- list.add(xsdModelGroupDefinition.getResolvedModelGroupDefinition().getModelGroup());
- hasChildren = true;
- }
- }
- else
- {
- if (xsdModelGroupDefinition.getModelGroup() != null)
- {
- list.add(xsdModelGroupDefinition.getModelGroup());
- hasChildren = true;
- }
- }
-
- return list.toArray();
-
- }
-
- public boolean hasChildren(Object object)
- {
- return hasChildren;
- }
-
- public Object getParent(Object object)
- {
- XSDModelGroupDefinition element = (XSDModelGroupDefinition)object;
- return element.getContainer();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDNotationDeclarationAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDNotationDeclarationAdapter.java
deleted file mode 100644
index 3c892745ad..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDNotationDeclarationAdapter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDNotationDeclaration;
-
-
-public class XSDNotationDeclarationAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDNotationDeclarationAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- public Image getImage(Object object)
- {
- // return XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDNotationDeclaration");
- return XSDEditorPlugin.getXSDImage("icons/XSDNotation.gif");
- }
-
- public String getText(Object object)
- {
- XSDNotationDeclaration xsdNotationDeclaration = ((XSDNotationDeclaration)object);
- String result = xsdNotationDeclaration.getName();
- return result == null ? "" : result;
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDParticleAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDParticleAdapter.java
deleted file mode 100644
index c37e8a77c3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDParticleAdapter.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationWrapper;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.XSDWildcard;
-
-
-public class XSDParticleAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDParticleAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- // hack to notify outline and graph view of minOccurs and maxOccurs changes
- public void notifyChanged(Notification msg)
- {
- XSDParticle xsdParticle = (XSDParticle)msg.getNotifier();
- XSDParticleContent xsdParticleContent = xsdParticle.getContent();
- if (xsdParticleContent != null)
- {
- if (xsdParticleContent instanceof XSDElementDeclaration)
- {
- fireNotifyChanged(new NotificationWrapper((XSDElementDeclaration)xsdParticleContent, msg));
- XSDModelAdapterFactory.getAdapter(xsdParticleContent).firePropertyChanged(xsdParticleContent, null);
- }
- else if (xsdParticleContent instanceof XSDModelGroup)
- {
- fireNotifyChanged(new NotificationWrapper((XSDModelGroup)xsdParticleContent, msg));
- XSDModelAdapterFactory.getAdapter(xsdParticleContent).firePropertyChanged(xsdParticleContent, null);
- }
- else if (xsdParticleContent instanceof XSDWildcard)
- {
- fireNotifyChanged(new NotificationWrapper((XSDWildcard)xsdParticleContent, msg));
- XSDModelAdapterFactory.getAdapter(xsdParticleContent).firePropertyChanged(xsdParticleContent, null);
- }
- }
- // super.notifyChanged(msg);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaAdapter.java
deleted file mode 100644
index 36f4fb2177..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaAdapter.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDPackage;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-
-public class XSDSchemaAdapter extends XSDAbstractAdapter
-{
- protected XSDPackage xsdPackage;
- /**
- * @param adapterFactory
- */
- public XSDSchemaAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- xsdPackage = XSDPackage.eINSTANCE;
- }
-
- public Image getImage(Object element)
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDFile.gif");
- }
-
- public String getText(Object element)
- {
- XSDSchema xsdSchema = (XSDSchema)element;
- String result = xsdSchema.getSchemaLocation();
- if (result == null)
- {
- return "";
- }
- else
- {
- return URI.createURI(result).lastSegment();
- }
- }
- List children;
- public Object[] getChildren(Object parentElement)
- {
- XSDSchema xsdSchema = ((XSDSchema)parentElement);
-
- children = new ArrayList();
-
- List directivesList = getDirectives(xsdSchema);
-
- List elementsList = getGlobalElements(xsdSchema);
-
- List attributeGroupList = getAttributeGroupList(xsdSchema);
-
- List attributesList = getAttributeList(xsdSchema);
-
- List groups = getGroups(xsdSchema);
-
- List notations = getNotations(xsdSchema);
-
- List types = getComplexTypes(xsdSchema);
- types.addAll(getSimpleTypes(xsdSchema));
-
- children.add
- (new CategoryAdapter
- ( //XSDEditPlugin.getString("_UI_Elements_label"),
- XSDEditorPlugin.getXSDString("_UI_GRAPH_DIRECTIVES"),
- XSDEditorPlugin.getPlugin().getIconImage("obj16/directivesheader"),
- directivesList, xsdSchema, CategoryAdapter.DIRECTIVES));
- children.add
- (new CategoryAdapter
- ( //XSDEditPlugin.getString("_UI_Elements_label"),
- XSDEditorPlugin.getXSDString("_UI_GRAPH_ELEMENTS"),
- XSDEditorPlugin.getPlugin().getIconImage("obj16/elementsheader"),
- elementsList, xsdSchema, CategoryAdapter.ELEMENTS));
- children.add
- (new CategoryAdapter
- ( //XSDEditPlugin.getString("_UI_Attributes_label"),
- XSDEditorPlugin.getXSDString("_UI_GRAPH_ATTRIBUTES"),
- XSDEditorPlugin.getPlugin().getIconImage("obj16/attributesheader"),
- attributesList, xsdSchema, CategoryAdapter.ATTRIBUTES));
- children.add
- (new CategoryAdapter
- (//XSDEditPlugin.getString("_UI_AttributeGroups_label"),
- XSDEditorPlugin.getXSDString("_UI_GRAPH_ATTRIBUTE_GROUPS"),
- XSDEditorPlugin.getPlugin().getIconImage("obj16/attributegroupsheader"),
- attributeGroupList, xsdSchema, CategoryAdapter.ATTRIBUTE_GROUPS));
- children.add
- (new CategoryAdapter
- ( //XSDEditPlugin.getString("_UI_Types_label"),
- XSDEditorPlugin.getXSDString("_UI_GRAPH_TYPES"),
- XSDEditorPlugin.getPlugin().getIconImage("obj16/typesheader"),
- types, xsdSchema, CategoryAdapter.TYPES));
- children.add
- (new CategoryAdapter
- ( // XSDEditPlugin.getString("_UI_ModelGroups_label"),
- XSDEditorPlugin.getXSDString("_UI_GRAPH_GROUPS"),
- XSDEditorPlugin.getPlugin().getIconImage("obj16/groupsheader"),
- groups, xsdSchema, CategoryAdapter.GROUPS));
- children.add
- (new CategoryAdapter
- ( // XSDEditPlugin.getString("_UI_Notations_label"),
- XSDEditorPlugin.getXSDString("_UI_GRAPH_NOTATIONS"),
- XSDEditorPlugin.getPlugin().getIconImage("obj16/notationsheader"),
- notations, xsdSchema, CategoryAdapter.NOTATIONS));
-// children.add
-// (new CategoryAdapter
-// ( //XSDEditPlugin.getString("_UI_IdentityConstraints_label"),
-// "Identity Constraints",
-// XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDIdentityConstraintDefinitionKey"),
-// xsdSchema.getIdentityConstraintDefinitions(), xsdSchema, CategoryAdapter.IDENTITY_CONSTRAINTS));
-// children.add
-// (new CategoryAdapter
-// ( // XSDEditPlugin.getString("_UI_Annotations_label"),
-// "Annotations",
-// XSDEditorPlugin.getPlugin().getIconImage("obj16/annotationsheader"),
-// xsdSchema.getAnnotations(), xsdSchema, CategoryAdapter.ANNOTATIONS));
-
- return children.toArray();
-
- }
-
- public boolean hasChildren(Object object)
- {
- return true;
- }
-
- public Object getParent(Object object)
- {
- return null;
- }
-
- public void notifyChanged(final Notification msg)
- {
- class CategoryNotification extends NotificationImpl
- {
- protected Object category;
- public CategoryNotification(Object category)
- {
- super(msg.getEventType(), msg.getOldValue(), msg.getNewValue(), msg.getPosition());
- this.category = category;
- }
-
- public Object getNotifier()
- {
- return category;
- }
- public Object getFeature()
- {
- return msg.getFeature();
- }
- }
-
- if (children == null) {
- getChildren(target);
- }
-
- if (msg.getFeature() == xsdPackage.getXSDSchema_Contents())
- {
- CategoryAdapter adapter = (CategoryAdapter)children.get(0);
- XSDSchema xsdSchema = adapter.getXSDSchema();
- adapter.setChildren(getDirectives(xsdSchema));
- this.fireNotifyChanged(new CategoryNotification(adapter));
- return;
- }
- else if (msg.getFeature() == xsdPackage.getXSDSchema_ElementDeclarations())
- {
- CategoryAdapter adapter = (CategoryAdapter)children.get(1);
- XSDSchema xsdSchema = adapter.getXSDSchema();
- adapter.setChildren(getGlobalElements(xsdSchema));
- this.fireNotifyChanged(new CategoryNotification(adapter));
- return;
- }
- else if (msg.getFeature() == xsdPackage.getXSDSchema_AttributeDeclarations())
- {
- CategoryAdapter adapter = (CategoryAdapter)children.get(2);
- XSDSchema xsdSchema = adapter.getXSDSchema();
- adapter.setChildren(getAttributeList(xsdSchema));
- this.fireNotifyChanged(new CategoryNotification(adapter));
- return;
- }
- else if (msg.getFeature() == xsdPackage.getXSDSchema_AttributeGroupDefinitions())
- {
- CategoryAdapter adapter = (CategoryAdapter)children.get(3);
- XSDSchema xsdSchema = adapter.getXSDSchema();
- adapter.setChildren(getAttributeGroupList(xsdSchema));
- this.fireNotifyChanged(new CategoryNotification(adapter));
- return;
- }
- else if (msg.getFeature() == xsdPackage.getXSDSchema_TypeDefinitions())
- {
- CategoryAdapter adapter = (CategoryAdapter)children.get(4);
- XSDSchema xsdSchema = adapter.getXSDSchema();
- List types = getComplexTypes(xsdSchema);
- types.addAll(getSimpleTypes(xsdSchema));
-
- adapter.setChildren(types);
- this.fireNotifyChanged(new CategoryNotification(adapter));
- return;
- }
- else if (msg.getFeature() == xsdPackage.getXSDSchema_ModelGroupDefinitions())
- {
- CategoryAdapter adapter = (CategoryAdapter)children.get(5);
- XSDSchema xsdSchema = adapter.getXSDSchema();
- adapter.setChildren(getGroups(xsdSchema));
- this.fireNotifyChanged(new CategoryNotification(adapter));
- return;
- }
- else if (msg.getFeature() == xsdPackage.getXSDSchema_NotationDeclarations())
- {
- CategoryAdapter adapter = (CategoryAdapter)children.get(6);
- XSDSchema xsdSchema = adapter.getXSDSchema();
- adapter.setChildren(getNotations(xsdSchema));
- this.fireNotifyChanged(new CategoryNotification(adapter));
- return;
- }
-// else if (msg.getFeature() == xsdPackage.getXSDSchema_IdentityConstraintDefinitions())
-// {
-// this.fireNotifyChanged(new CategoryNotification(children.get(7)));
-// return;
-// }
- else if (msg.getFeature() == xsdPackage.getXSDSchema_Annotations())
- {
-// this.fireNotifyChanged(new CategoryNotification(children.get(7)));
- return;
- }
- else if (msg.getFeature() == xsdPackage.getXSDSchema_SchemaLocation())
- {
- this.fireNotifyChanged(msg);
- return;
- }
-
- super.notifyChanged(msg);
- }
-
- protected List getDirectives(XSDSchema schema)
- {
- List list = new ArrayList();
- for (Iterator i = schema.getContents().iterator(); i.hasNext(); )
- {
- Object o = i.next();
- if (o instanceof XSDSchemaDirective)
- {
- list.add(o);
- }
- }
- return list;
- }
-
- protected List getAttributeGroupList(XSDSchema xsdSchema)
- {
- List attributeGroupList = new ArrayList();
- for (Iterator i = xsdSchema.getAttributeGroupDefinitions().iterator(); i.hasNext(); )
- {
- XSDAttributeGroupDefinition attrGroup = (XSDAttributeGroupDefinition)i.next();
- if (attrGroup.getRootContainer() == xsdSchema)
- {
- attributeGroupList.add(attrGroup);
- }
- }
- return attributeGroupList;
- }
-
- protected List getAttributeList(XSDSchema xsdSchema)
- {
- List attributesList = new ArrayList();
- for (Iterator iter = xsdSchema.getAttributeDeclarations().iterator(); iter.hasNext(); )
- {
- Object o = iter.next();
- if (o instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration attr = (XSDAttributeDeclaration)o;
- if (attr != null)
- {
- if (attr.getTargetNamespace() != null)
- {
- if (!(attr.getTargetNamespace().equals("http://www.w3.org/2001/XMLSchema-instance")))
- {
- if (attr.getRootContainer() == xsdSchema)
- {
- attributesList.add(attr);
- }
- }
- }
- else
- {
- if (attr.getRootContainer() == xsdSchema)
- {
- attributesList.add(attr);
- }
- }
- }
- }
- }
- return attributesList;
- }
-
- protected List getGlobalElements(XSDSchema schema)
- {
- List elements = schema.getElementDeclarations();
- List list = new ArrayList();
- for (Iterator i = elements.iterator(); i.hasNext(); )
- {
- XSDElementDeclaration elem = (XSDElementDeclaration)i.next();
- if (elem.getRootContainer() == schema)
- {
- list.add(elem);
- }
- }
- return list;
- }
-
- protected List getComplexTypes(XSDSchema schema)
- {
- List allTypes = schema.getTypeDefinitions();
- List list = new ArrayList();
- for (Iterator i = allTypes.iterator(); i.hasNext(); )
- {
- XSDTypeDefinition td = (XSDTypeDefinition)i.next();
- if (td instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)td;
- if (ct.getRootContainer() == schema)
- {
- list.add(ct);
- }
- }
- }
- return list;
- }
-
- protected List getSimpleTypes(XSDSchema schema)
- {
- List allTypes = schema.getTypeDefinitions();
- List list = new ArrayList();
- for (Iterator i = allTypes.iterator(); i.hasNext(); )
- {
- XSDTypeDefinition td = (XSDTypeDefinition)i.next();
- if (td instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)td;
- if (st.getRootContainer() == schema)
- {
- list.add(st);
- }
- }
- }
- return list;
- }
-
- protected List getGroups(XSDSchema schema)
- {
- List groups = schema.getModelGroupDefinitions();
- List list = new ArrayList();
- for (Iterator i = groups.iterator(); i.hasNext(); )
- {
- XSDModelGroupDefinition group = (XSDModelGroupDefinition)i.next();
- if (group.getRootContainer() == schema)
- {
- list.add(group);
- }
- }
- return list;
- }
-
- protected List getNotations(XSDSchema schema)
- {
- List notations = schema.getNotationDeclarations();
- List list = new ArrayList();
- for (Iterator i = notations.iterator(); i.hasNext(); )
- {
- XSDNotationDeclaration notation = (XSDNotationDeclaration)i.next();
- if (notation.getRootContainer() == schema)
- {
- list.add(notation);
- }
- }
- return list;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaDirectiveAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaDirectiveAdapter.java
deleted file mode 100644
index 47cf912e6d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaDirectiveAdapter.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchemaDirective;
-
-public class XSDSchemaDirectiveAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDSchemaDirectiveAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
-
- public Image getImage(Object object)
- {
- if (object instanceof XSDImport)
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDImport.gif");
- }
- else if (object instanceof XSDInclude)
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDInclude.gif");
- }
- else if (object instanceof XSDRedefine)
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDRedefine.gif");
- }
- return null;
- }
-
- public String getText(Object object)
- {
- XSDSchemaDirective directive = (XSDSchemaDirective)object;
- String result = directive.getSchemaLocation();
- if (result == null) result = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED") + ")";
- if (result.equals("")) result = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED")+ ")";
- return result;
-
-// XSDImport xsdImport = ((XSDImport)object);
-// String result = xsdImport.getSchemaLocation();
-// return result == null ? "" : result;
-
-// XSDInclude xsdInclude = ((XSDInclude)object);
-// String result = xsdInclude.getSchemaLocation();
-// return result == null ? "" : result;
-
-// XSDRedefine xsdRedefine = ((XSDRedefine)object);
-// String result = xsdRedefine.getSchemaLocation();
-// return result == null ? "" : result;
-
-
- }
-
- public Object[] getChildren(Object parentElement)
- {
- List list = new ArrayList();
- if (parentElement instanceof XSDRedefine)
- {
- XSDRedefine redefine = (XSDRedefine)parentElement;
- list = redefine.getContents();
- if (list == null)
- {
- list = new ArrayList();
- }
- }
- return list.toArray();
- }
-
- public boolean hasChildren(Object object)
- {
- return false;
- }
-
- public Object getParent(Object object)
- {
- return null;
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSimpleTypeDefinitionAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSimpleTypeDefinitionAdapter.java
deleted file mode 100644
index 0d4026a0be..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSimpleTypeDefinitionAdapter.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDVariety;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class XSDSimpleTypeDefinitionAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDSimpleTypeDefinitionAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- public Image getImage(Object object)
- {
- XSDSimpleTypeDefinition xsdSimpleTypeDefinition = ((XSDSimpleTypeDefinition)object);
-
- if (xsdSimpleTypeDefinition.getContainer() == null)
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif");
- }
-
- if (XSDVariety.LIST_LITERAL == xsdSimpleTypeDefinition.getVariety())
- {
- // return XSDEditorPlugin.getXSDImage("icons/XSDSimpleList.gif");
- return XSDEditorPlugin.getPlugin().getIconImage("obj16/smpl_list_obj");
- }
- else if (XSDVariety.UNION_LITERAL == xsdSimpleTypeDefinition.getVariety())
- {
- //return XSDEditorPlugin.getXSDImage("icons/XSDSimpleUnion.gif");
- return XSDEditorPlugin.getPlugin().getIconImage("obj16/smpl_union_obj");
- }
- else if (XSDVariety.ATOMIC_LITERAL == xsdSimpleTypeDefinition.getVariety())
- {
- // return XSDEditorPlugin.getXSDImage("icons/XSDSimpleRestrict.gif");
- Element stElement = xsdSimpleTypeDefinition.getElement();
- XSDDOMHelper domHelper = new XSDDOMHelper();
- if (domHelper.getChildNode(stElement, XSDConstants.RESTRICTION_ELEMENT_TAG) != null)
- {
- return XSDEditorPlugin.getPlugin().getIconImage("obj16/smpl_restrict_obj");
- }
- return XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif");
- }
- else if (xsdSimpleTypeDefinition.isSetVariety())
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif");
- }
- else
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif");
- }
-
-// return
-// XSDEditorPlugin.getPlugin().getIconImage
-// (xsdSimpleTypeDefinition.getContainer() == null ?
-// "full/obj16/XSDSimpleTypeDefinitionUnresolved" :
-// XSDVariety.LIST_LITERAL == xsdSimpleTypeDefinition.getVariety() ?
-// "full/obj16/XSDSimpleTypeDefinitionList" :
-// XSDVariety.UNION_LITERAL == xsdSimpleTypeDefinition.getVariety() ?
-// "full/obj16/XSDSimpleTypeDefinitionUnion" :
-// xsdSimpleTypeDefinition.isSetVariety() ?
-// "full/obj16/XSDSimpleTypeDefinitionAtomic" :
-// "full/obj16/XSDSimpleTypeDefinition");
- }
-
- public String getText(Object object)
- {
- return getText(object, true);
- }
-
- public String getText(Object object, boolean showType)
- {
- XSDSimpleTypeDefinition xsdSimpleTypeDefinition = ((XSDSimpleTypeDefinition)object);
-
- StringBuffer result = new StringBuffer();
-
- result.append
- (xsdSimpleTypeDefinition.getName() == null ?
- // xsdSimpleTypeDefinition.getAliasName() :
- "local type" :
- xsdSimpleTypeDefinition.getName());
-
- if (showType)
- {
- XSDSimpleTypeDefinition baseTypeDefinition = xsdSimpleTypeDefinition.getBaseTypeDefinition();
- if (baseTypeDefinition != null && XSDVariety.ATOMIC_LITERAL == xsdSimpleTypeDefinition.getVariety())
- {
- if (baseTypeDefinition.getName() != null &&
- !xsdSimpleTypeDefinition.getContents().contains(baseTypeDefinition) &&
- !XSDConstants.isAnySimpleType(baseTypeDefinition))
- {
- result.append(" : ");
- result.append(baseTypeDefinition.getQName(xsdSimpleTypeDefinition));
- }
- }
- else
- {
- XSDSimpleTypeDefinition itemTypeDefinition = xsdSimpleTypeDefinition.getItemTypeDefinition();
- if (itemTypeDefinition != null)
- {
- if (itemTypeDefinition.getName() != null)
- {
- result.append(" : ");
- result.append(itemTypeDefinition.getQName(xsdSimpleTypeDefinition));
- }
- }
- else
- {
- List memberTypeDefinitions = xsdSimpleTypeDefinition.getMemberTypeDefinitions();
- if (!memberTypeDefinitions.isEmpty())
- {
- boolean first = true;
- for (Iterator members = memberTypeDefinitions.iterator(); members.hasNext(); )
- {
- XSDSimpleTypeDefinition memberTypeDefinition = (XSDSimpleTypeDefinition)members.next();
- if (memberTypeDefinition.getName() != null)
- {
- if (first)
- {
- result.append(" : ");
- first = false;
- }
- else
- {
- result.append(" | ");
- }
- result.append(memberTypeDefinition.getQName(xsdSimpleTypeDefinition));
- }
- else
- {
- break;
- }
- }
- }
- else if (result.length() == 0)
- {
- result.append("'absent'");
- }
- }
- }
- }
-
- return result.toString();
- }
-
- public Object[] getChildren(Object parentElement)
- {
- XSDSimpleTypeDefinition xsdSimpleTypeDefinition = (XSDSimpleTypeDefinition)parentElement;
- List list = new ArrayList();
-// list.addAll(xsdSimpleTypeDefinition.getContents());
-// list.addAll(xsdSimpleTypeDefinition.getFacetContents());
-// list.addAll(xsdSimpleTypeDefinition.getFundamentalFacets());
-// list.addAll(xsdSimpleTypeDefinition.getSyntheticFacets());
- return list.toArray();
-
- }
-
- public boolean hasChildren(Object object)
- {
- return true;
- }
-
- public Object getParent(Object object)
- {
- XSDSimpleTypeDefinition element = (XSDSimpleTypeDefinition)object;
- return element.getContainer();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDWildcardAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDWildcardAdapter.java
deleted file mode 100644
index b219f6b5c8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDWildcardAdapter.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.provider;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class XSDWildcardAdapter extends XSDAbstractAdapter
-{
-
- /**
- * @param adapterFactory
- */
- public XSDWildcardAdapter(AdapterFactory adapterFactory)
- {
- super(adapterFactory);
- }
-
- public Image getImage(Object object)
- {
- XSDWildcard xsdWildcard = (XSDWildcard)object;
- return XSDEditorPlugin.getXSDImage
- (xsdWildcard.eContainer() instanceof XSDParticle ?
- "icons/XSDAny.gif" :
- "icons/XSDAnyAttribute.gif");
- }
-
- public String getText(Object object)
- {
- XSDWildcard xsdWildcard = ((XSDWildcard)object);
-
- StringBuffer result = new StringBuffer();
- Element element = xsdWildcard.getElement();
-
- if (element != null)
- {
- result.append(element.getNodeName());
- boolean hasMinOccurs = element.hasAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- boolean hasMaxOccurs = element.hasAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-
- if (hasMinOccurs || hasMaxOccurs)
- {
- result.append(" ["); //$NON-NLS-1$
- if (hasMinOccurs)
- {
-
- int min = ((XSDParticle)xsdWildcard.getContainer()).getMinOccurs();
- if (min == XSDParticle.UNBOUNDED)
- {
- result.append("*");
- }
- else
- {
- result.append(String.valueOf(min));
- }
- }
- else // print default
- {
- int min = ((XSDParticle)xsdWildcard.getContainer()).getMinOccurs();
- result.append(String.valueOf(min));
- }
- if (hasMaxOccurs)
- {
- int max = ((XSDParticle)xsdWildcard.getContainer()).getMaxOccurs();
- result.append("..");
- if (max == XSDParticle.UNBOUNDED)
- {
- result.append("*");
- }
- else
- {
- result.append(String.valueOf(max));
- }
- }
- else // print default
- {
- result.append("..");
- int max = ((XSDParticle)xsdWildcard.getContainer()).getMaxOccurs();
- result.append(String.valueOf(max));
- }
- result.append("]");
- }
- }
- return result.toString();
-
- }
-
- public boolean hasChildren(Object object)
- {
- return false;
- }
-
- public Object getParent(Object object)
- {
- XSDWildcard xsdWildcard = (XSDWildcard)object;
- return xsdWildcard.getContainer();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/XSDVisitor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/XSDVisitor.java
deleted file mode 100644
index 24bda3f2ce..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/XSDVisitor.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor;
-
-import java.util.Iterator;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeContent;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-
-public class XSDVisitor
-{
- public XSDVisitor()
- {
- }
-
- protected XSDSchema schema;
-
- public void visitSchema(XSDSchema schema)
- {
- this.schema = schema;
- for (Iterator iterator = schema.getAttributeDeclarations().iterator(); iterator.hasNext();)
- {
- XSDAttributeDeclaration attr = (XSDAttributeDeclaration) iterator.next();
- visitAttributeDeclaration(attr);
- }
- for (Iterator iterator = schema.getTypeDefinitions().iterator(); iterator.hasNext();)
- {
- XSDTypeDefinition type = (XSDTypeDefinition) iterator.next();
- visitTypeDefinition(type);
- }
- for (Iterator iterator = schema.getElementDeclarations().iterator(); iterator.hasNext();)
- {
- XSDElementDeclaration element = (XSDElementDeclaration) iterator.next();
- visitElementDeclaration(element);
- }
- for (Iterator iterator = schema.getIdentityConstraintDefinitions().iterator(); iterator.hasNext();)
- {
- XSDIdentityConstraintDefinition identityConstraint = (XSDIdentityConstraintDefinition) iterator.next();
- visitIdentityConstraintDefinition(identityConstraint);
- }
- for (Iterator iterator = schema.getModelGroupDefinitions().iterator(); iterator.hasNext();)
- {
- XSDModelGroupDefinition modelGroup = (XSDModelGroupDefinition) iterator.next();
- visitModelGroupDefinition(modelGroup);
- }
- for (Iterator iterator = schema.getAttributeGroupDefinitions().iterator(); iterator.hasNext();)
- {
- XSDAttributeGroupDefinition attributeGroup = (XSDAttributeGroupDefinition) iterator.next();
- visitAttributeGroupDefinition(attributeGroup);
- }
- for (Iterator iterator = schema.getNotationDeclarations().iterator(); iterator.hasNext();)
- {
- XSDNotationDeclaration element = (XSDNotationDeclaration) iterator.next();
- visitNotationDeclaration(element);
- }
-
- }
-
- public void visitAttributeDeclaration(XSDAttributeDeclaration attr)
- {
- }
-
- public void visitTypeDefinition(XSDTypeDefinition type)
- {
- if (type instanceof XSDSimpleTypeDefinition)
- {
- visitSimpleTypeDefinition((XSDSimpleTypeDefinition)type);
- }
- else if (type instanceof XSDComplexTypeDefinition)
- {
- visitComplexTypeDefinition((XSDComplexTypeDefinition)type);
- }
- }
-
- public void visitElementDeclaration(XSDElementDeclaration element)
- {
- if (element.isElementDeclarationReference())
- {
- }
- else if (element.getAnonymousTypeDefinition() != null)
- {
- visitTypeDefinition(element.getAnonymousTypeDefinition());
- }
- }
-
- public void visitIdentityConstraintDefinition(XSDIdentityConstraintDefinition identityConstraint)
- {
- }
-
- public void visitModelGroupDefinition(XSDModelGroupDefinition modelGroupDef)
- {
- if (!modelGroupDef.isModelGroupDefinitionReference())
- {
- if (modelGroupDef.getModelGroup() != null)
- {
- visitModelGroup(modelGroupDef.getModelGroup());
- }
- }
- }
-
- public void visitAttributeGroupDefinition(XSDAttributeGroupDefinition attributeGroup)
- {
- if (attributeGroup.getAttributeUses() != null)
- {
- for (Iterator iter = attributeGroup.getAttributeUses().iterator(); iter.hasNext(); )
- {
- XSDAttributeUse attrUse = (XSDAttributeUse)iter.next();
- visitAttributeDeclaration(attrUse.getContent());
- }
- }
- }
-
- public void visitNotationDeclaration(XSDNotationDeclaration notation)
- {
- }
-
- public void visitSimpleTypeDefinition(XSDSimpleTypeDefinition type)
- {
- }
-
- public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
- {
- if (type.getContentType() != null)
- {
- XSDComplexTypeContent complexContent = (XSDComplexTypeContent) type.getContentType();
- if (complexContent instanceof XSDSimpleTypeDefinition)
- {
- visitSimpleTypeDefinition((XSDSimpleTypeDefinition)complexContent);
- }
- else if (complexContent instanceof XSDParticle)
- {
- visitParticle((XSDParticle) complexContent);
- }
- }
-
- if (type.getAttributeContents() != null)
- {
- for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
- {
- XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent)iter.next();
- if (attrGroupContent instanceof XSDAttributeUse)
- {
- XSDAttributeUse attrUse = (XSDAttributeUse)attrGroupContent;
- visitAttributeDeclaration(attrUse.getContent());
- }
- else if (attrGroupContent instanceof XSDAttributeGroupDefinition)
- {
- visitAttributeGroupDefinition((XSDAttributeGroupDefinition)attrGroupContent);
- }
- }
- }
- }
-
- public void visitParticle(XSDParticle particle)
- {
- visitParticleContent(particle.getContent());
- }
-
- public void visitParticleContent(XSDParticleContent particleContent)
- {
- if (particleContent instanceof XSDModelGroupDefinition)
- {
- visitModelGroupDefinition((XSDModelGroupDefinition) particleContent);
- }
- else if (particleContent instanceof XSDModelGroup)
- {
- visitModelGroup((XSDModelGroup)particleContent);
- }
- else if (particleContent instanceof XSDElementDeclaration)
- {
- visitElementDeclaration((XSDElementDeclaration)particleContent);
- }
- else if (particleContent instanceof XSDWildcard)
- {
- visitWildcard((XSDWildcard)particleContent);
- }
- }
-
- public void visitModelGroup(XSDModelGroup modelGroup)
- {
- if (modelGroup.getContents() != null)
- {
- for (Iterator iterator = modelGroup.getContents().iterator(); iterator.hasNext();)
- {
- XSDParticle particle = (XSDParticle) iterator.next();
- visitParticle(particle);
- }
- }
- }
-
- public void visitWildcard(XSDWildcard wildcard)
- {
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseCleanup.java
deleted file mode 100644
index f45a1e2111..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseCleanup.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.delete;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-
-public abstract class BaseCleanup extends XSDVisitor
-{
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitSchema(XSDSchema)
- */
- public void visitSchema(XSDSchema schema)
- {
- super.visitSchema(schema);
-
- // now remove all children that were queued up for removal
-
- for (Iterator iter = childrenToRemove.iterator(); iter.hasNext(); )
- {
- Element domElement = (Element) iter.next();
- XSDDOMHelper.removeNodeAndWhitespace(domElement);
-// domElement.getParentNode().removeChild(domElement);
- }
- }
-
-
- protected ArrayList messages = new ArrayList();
-
- public ArrayList getMessages()
- {
- return messages;
- }
-
-
- protected void addMessage(String msg, XSDConcreteComponent component)
- {
-//// ErrorMessage message = new ErrorMessage();
-//
-// XSDConcreteComponent currComp = component;
-// while (!(currComp instanceof XSDSchemaContent) && currComp.getContainer() != null)
-// {
-// currComp = currComp.getContainer();
-// }
-//
-// Element domElement = currComp.getElement();
-// Node parent = domElement;
-// while (!(parent instanceof NodeImpl) && parent != null)
-// {
-// parent = parent.getParentNode();
-// }
-// if (parent instanceof NodeImpl)
-// {
-// // message.setModelObject(currComp.getElement());
-// message.setTargetObject(currComp.getElement());
-// }
-// message.setLocalizedMessage(msg);
-// ???
-// addMessage(message);
- }
-
-
-// // protected void addMessage(ErrorMessage message)
-// protected void addMessage(Message message)
-// {
-// messages.add(message);
-// }
-
-
- protected ArrayList childrenToRemove = new ArrayList();
-
-
- protected String getNamedComponentName(XSDConcreteComponent concrete)
- {
- String name = null;
- if (concrete instanceof XSDNamedComponent)
- {
- name = ((XSDNamedComponent)concrete).getName();
- }
-
- XSDConcreteComponent comp = concrete;
- while (comp != null && name == null)
- {
- comp = comp.getContainer();
- if (comp instanceof XSDNamedComponent)
- {
- name = ((XSDNamedComponent)comp).getName();
- }
- }
- return name != null ? name : "";
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseGlobalCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseGlobalCleanup.java
deleted file mode 100644
index 6503971f03..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseGlobalCleanup.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.delete;
-
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDNamedComponent;
-
-public class BaseGlobalCleanup extends BaseCleanup
-{
- public BaseGlobalCleanup(XSDConcreteComponent deletedItem)
- {
- this.deletedItem = deletedItem;
- }
-
- protected XSDConcreteComponent deletedItem;
-
- protected String getDeletedQName()
- {
- return ((XSDNamedComponent)deletedItem).getQName();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeCleanup.java
deleted file mode 100644
index 64c5779f40..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeCleanup.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.delete;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalAttributeCleanup extends BaseGlobalCleanup
-{
- /**
- * Constructor for GlobalAttributeCleanup.
- * @param deletedItem
- */
- public GlobalAttributeCleanup(XSDConcreteComponent deletedItem)
- {
- super(deletedItem);
- }
-
- protected String replacementName = null;
-
- protected String getReplacementElementName()
- {
- if (replacementName == null)
- {
- TypesHelper helper = new TypesHelper(schema);
-
- List elements = helper.getGlobalAttributes();
-
- String deletedName = getDeletedQName();
- for (Iterator i = elements.iterator(); i.hasNext();)
- {
- String name = (String) i.next();
- if (!name.equals(deletedName))
- {
- replacementName = name;
- break;
- }
- }
- }
- return replacementName;
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
- */
- public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
- {
- super.visitComplexTypeDefinition(type);
- if (type.getAttributeContents() != null)
- {
- for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
- {
- XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
- if (attrGroupContent instanceof XSDAttributeUse)
- {
- XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
- XSDAttributeDeclaration attrDecl = attrUse.getContent();
-
- // now is this a reference?
- if (attrDecl != null && attrDecl.isAttributeDeclarationReference())
- {
- if (deletedItem.equals(attrDecl.getResolvedAttributeDeclaration()))
- {
- if (getReplacementElementName() != null)
- {
- // String msg = XSDPlugin.getSchemaString("_INFO_RESET_ATTRIBUTE_REFERENCE") + " <" + getReplacementElementName() + ">";
- String msg = "Reset attribute reference " + " <" + getReplacementElementName() + ">";
- addMessage(msg, attrUse);
- attrUse.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getReplacementElementName());
- }
- else
- {
- String name = getNamedComponentName(type);
- // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_REFERENCE") +
- String msg = "Remove attribute reference " +
- " <" + name + ">";
- addMessage(msg, attrUse.getContainer());
-
- childrenToRemove.add(attrDecl.getElement());
- }
- }
- }
- }
- }
- }
- }
-
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeGroupCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeGroupCleanup.java
deleted file mode 100644
index 2d5ed5c029..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeGroupCleanup.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.delete;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalAttributeGroupCleanup extends BaseGlobalCleanup
-{
- /**
- * Constructor for GlobalAttributeGroupCleanup.
- * @param deletedItem
- */
- public GlobalAttributeGroupCleanup(XSDConcreteComponent deletedItem)
- {
- super(deletedItem);
- }
-
-
- protected String replacementName = null;
-
- protected String getReplacementElementName()
- {
- if (replacementName == null)
- {
- TypesHelper helper = new TypesHelper(schema);
-
- List elements = helper.getGlobalAttributeGroups();
-
- String deletedName = getDeletedQName();
- for (Iterator i = elements.iterator(); i.hasNext();)
- {
- String name = (String) i.next();
- if (!name.equals(deletedName))
- {
- replacementName = name;
- break;
- }
- }
- }
- return replacementName;
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
- */
- public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
- {
- super.visitComplexTypeDefinition(type);
- if (type.getAttributeContents() != null)
- {
- for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
- {
- XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
-
- if (attrGroupContent instanceof XSDAttributeGroupDefinition)
- {
- XSDAttributeGroupDefinition attrGroupDef = (XSDAttributeGroupDefinition) attrGroupContent;
-
- if (deletedItem.equals(attrGroupDef.getResolvedAttributeGroupDefinition()))
- {
- if (getReplacementElementName() != null)
- {
- // String msg = XSDPlugin.getSchemaString("_INFO_RESET_ATTRIBUTE_GROUP_REFERENCE") + " <" + getReplacementElementName() + ">";
- String msg = "Reset attribute group reference " + " <" + getReplacementElementName() + ">";
- addMessage(msg, attrGroupDef);
- attrGroupDef.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getReplacementElementName());
- }
- else
- {
- // remove the attribute group reference
- String name = getNamedComponentName(type);
- // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_GROUP_REFERENCE") + " <" + name + ">";
- String msg = "Remove attribute group reference " + " <" + name + ">";
-
- addMessage(msg, attrGroupDef.getContainer());
-
- childrenToRemove.add(attrGroupDef.getElement());
- }
- }
- }
- }
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalElementCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalElementCleanup.java
deleted file mode 100644
index 9719e3914b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalElementCleanup.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.delete;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalElementCleanup extends BaseGlobalCleanup
-{
-
- /**
- * Constructor for GlobalElementCleanup.
- * @param deletedItem
- */
- public GlobalElementCleanup(XSDConcreteComponent deletedItem)
- {
- super(deletedItem);
- }
-
- protected String replacementName = null;
-
- protected String getReplacementElementName()
- {
- if (replacementName == null)
- {
- TypesHelper helper = new TypesHelper(schema);
-
- List elements = helper.getGlobalElements();
-
- String deletedName = getDeletedQName();
- for (Iterator i = elements.iterator(); i.hasNext();)
- {
- String name = (String) i.next();
- if (!name.equals(deletedName))
- {
- replacementName = name;
- break;
- }
- }
- }
- return replacementName;
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitElementDeclaration(XSDElementDeclaration)
- */
- public void visitElementDeclaration(XSDElementDeclaration element)
- {
- if (element.isElementDeclarationReference())
- {
- if (deletedItem.equals(element.getResolvedElementDeclaration()))
- {
- if (getReplacementElementName() != null)
- {
- // KCPort String msg = XSDPlugin.getSchemaString("_INFO_RESET_ELEMENT_REFERENCE") + " <" + getReplacementElementName() + ">";
- String msg = "_INFO_RESET_ELEMENT_REFERENCE" + " <" + getReplacementElementName() + ">";
- addMessage(msg, element);
- element.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getReplacementElementName());
- }
- else
- {
- // KCPort String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ELEMENT_REFERENCE") + " <" + getNamedComponentName(element.getContainer()) + ">";
- String msg = "_INFO_REMOVE_ELEMENT_REFERENCE" + " <" + getNamedComponentName(element.getContainer()) + ">";
- addMessage(msg, element.getContainer());
- childrenToRemove.add(element.getElement());
- }
- }
- }
- super.visitElementDeclaration(element);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalGroupCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalGroupCleanup.java
deleted file mode 100644
index 9486ff2b11..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalGroupCleanup.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.delete;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalGroupCleanup extends BaseGlobalCleanup
-{
- /**
- * Constructor for GlobalGroupCleanup.
- * @param deletedItem
- */
- public GlobalGroupCleanup(XSDConcreteComponent deletedItem)
- {
- super(deletedItem);
- }
-
- protected String replacementName = null;
-
- protected String getReplacementElementName()
- {
- if (replacementName == null)
- {
- TypesHelper helper = new TypesHelper(schema);
-
- List elements = helper.getModelGroups();
-
- String deletedName = getDeletedQName();
- for (Iterator i = elements.iterator(); i.hasNext();)
- {
- String name = (String) i.next();
- if (!name.equals(deletedName))
- {
- replacementName = name;
- break;
- }
- }
- }
- return replacementName;
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitModelGroupDefinition(XSDModelGroupDefinition)
- */
- public void visitModelGroupDefinition(XSDModelGroupDefinition modelGroup)
- {
- super.visitModelGroupDefinition(modelGroup);
- if (modelGroup.isModelGroupDefinitionReference())
- {
- if (deletedItem.equals(modelGroup.getResolvedModelGroupDefinition()))
- {
- if (getReplacementElementName() != null)
- {
- // KCPort String msg = XSDPlugin.getSchemaString("_INFO_RESET_GROUP_REFERENCE") + " <" + getReplacementElementName() + ">";
- String msg = "_INFO_RESET_GROUP_REFERENCE" + " <" + getReplacementElementName() + ">";
- addMessage(msg, modelGroup);
- modelGroup.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getReplacementElementName());
- }
- else
- {
- String name = getNamedComponentName(modelGroup);
- // KCPort String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_GROUP_REFERENCE") + " <" + name + ">";
- String msg = "_INFO_REMOVE_GROUP_REFERENCE" + " <" + name + ">";
- addMessage(msg, modelGroup.getContainer());
- childrenToRemove.add(modelGroup.getElement());
- }
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalSimpleOrComplexTypeCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalSimpleOrComplexTypeCleanup.java
deleted file mode 100644
index 2766767c6b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalSimpleOrComplexTypeCleanup.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.delete;
-
-import java.text.MessageFormat;
-import java.util.Iterator;
-
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class GlobalSimpleOrComplexTypeCleanup extends BaseGlobalCleanup
-{
- /**
- * Constructor for GlobalSimpleOrComplexTypeCleanup.
- * @param deletedItem
- */
- public GlobalSimpleOrComplexTypeCleanup(XSDConcreteComponent deletedItem)
- {
- super(deletedItem);
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitElementDeclaration(XSDElementDeclaration)
- */
- public void visitElementDeclaration(XSDElementDeclaration element)
- {
- if (!element.isElementDeclarationReference() &&
- deletedItem.equals(element.getTypeDefinition()))
- {
- resetTypeToString(element.getElement());
-
- String msg = "";
- if (element.isGlobal())
- {
- // KCPort String pattern = XSDPlugin.getSchemaString("_INFO_RESET_GLOBAL_ELEMENT");
- String pattern = "_INFO_RESET_GLOBAL_ELEMENT";
- Object args[] = {element.getName()};
- msg = MessageFormat.format(pattern, args);
- }
- else
- {
- // KCPort msg = XSDPlugin.getSchemaString("_INFO_RESET_ELEMENT");
- msg = "_INFO_RESET_ELEMENT";
- // KCPort msg += "<" + element.getName() + "> " + XSDPlugin.getSchemaString("_UI_TO_TYPE_STRING");
- msg += "<" + element.getName() + "> " + "_UI_TO_TYPE_STRING";
- }
- addMessage(msg, element);
- }
-
-
- super.visitElementDeclaration(element);
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
- */
- public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
- {
- super.visitComplexTypeDefinition(type);
- if (type.getAttributeContents() != null)
- {
- for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
- {
- XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
- if (attrGroupContent instanceof XSDAttributeUse)
- {
- XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
- XSDAttributeDeclaration attrDecl = attrUse.getContent();
-
- // now is this a reference?
- if (attrDecl != null &&
- !attrDecl.isAttributeDeclarationReference() &&
- deletedItem.equals(attrDecl.getTypeDefinition()))
- {
- resetTypeToString(attrDecl.getElement());
- // reset the type of the attribute decl to string
- // KCPort String msg = XSDPlugin.getSchemaString("_INFO_RESET_ATTRIBUTE") +
- String msg = "_INFO_RESET_ATTRIBUTE" +
- " <" + attrDecl.getName() + "> " +
- // KCPort XSDPlugin.getSchemaString("_UI_TO_TYPE_STRING");
- "_UI_TO_TYPE_STRING";
- addMessage(msg, attrDecl);
- resetTypeToString(attrDecl.getElement());
- }
- }
- }
- }
- XSDTypeDefinition base = type.getBaseTypeDefinition();
- if (base != null && base.equals(deletedItem))
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Element derivedByNode = helper.getDerivedByElement(type.getElement());
-
- // KCPort String msg = XSDPlugin.getSchemaString("_INFO_RESET_COMPLEX_TYPE") +
- String msg = "_INFO_RESET_COMPLEX_TYPE" +
- " <" + getNamedComponentName(type) + "> " +
- // KCPort XSDPlugin.getSchemaString("_UI_DERIVATION");
- "_UI_DERIVATION";
- addMessage(msg, type);
-
- type.setBaseTypeDefinition(null);
-
- java.util.List listOfCT = schema.getTypeDefinitions();
- XSDTypeDefinition typeDefinition = null;
- if (listOfCT.size() > 0)
- {
- typeDefinition = (XSDTypeDefinition)(listOfCT).get(0);
- type.setBaseTypeDefinition(typeDefinition);
- }
-
-// type.setBaseTypeDefinition(schema.getSchemaForSchema().resolveSimpleTypeDefinition("string"));
- }
- }
-
-
-
- protected void resetTypeToString(Element element)
- {
- String prefix = element.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
-
- element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, prefix + "string");
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/XSDExternalFileCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/XSDExternalFileCleanup.java
deleted file mode 100644
index aa40416c90..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/XSDExternalFileCleanup.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.delete;
-
-import java.text.MessageFormat;
-import java.util.Iterator;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaContent;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class XSDExternalFileCleanup extends BaseCleanup
-{
- /**
- * Constructor for XSDExternalFileCleanup.
- */
- public XSDExternalFileCleanup(String oldFilename)
- {
- super();
- this.oldFilename = oldFilename;
- }
-
- protected XSDSchema deletedSchema;
- public XSDExternalFileCleanup(XSDSchema deletedSchema)
- {
- this.deletedSchema = deletedSchema;
- }
-
- protected String oldFilename;
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitElementDeclaration(XSDElementDeclaration)
- */
- public void visitElementDeclaration(XSDElementDeclaration element)
- {
- boolean addMessage = true;
- String schemaLocation = element.getSchema().getSchemaLocation();
- if (schemaLocation!= null)
- {
- if (!schemaLocation.equals(schema.getSchemaLocation()))
- {
- addMessage = false;
- }
- }
- if (element.isElementDeclarationReference())
- {
- if (isFromDeletedSchema(element.getResolvedElementDeclaration()))
- {
- if (addMessage)
- {
- // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ELEMENT_REFERENCE") + " <" + getNamedComponentName(element.getContainer()) + ">";
- String msg = "_INFO_REMOVE_ELEMENT_REFERENCE" + " <" + getNamedComponentName(element.getContainer()) + ">";
- addMessage(msg, element.getContainer());
- }
- childrenToRemove.add(element.getElement());
-// Element domElement = element.getElement();
-// domElement.getParentNode().removeChild(domElement);
- }
- }
- else if (removeType(element))
- {
- String msg = "";
- if (element.isGlobal())
- {
- // String pattern = XSDPlugin.getSchemaString("_INFO_RESET_GLOBAL_ELEMENT");
- String pattern = "_INFO_RESET_GLOBAL_ELEMENT";
- Object args[] = {element.getName()};
- msg = MessageFormat.format(pattern, args);
- }
- else
- {
- // msg = XSDPlugin.getSchemaString("_INFO_RESET_ELEMENT");
- msg = "_INFO_RESET_ELEMENT";
- // msg += "<" + element.getName() + "> " + XSDPlugin.getSchemaString("_UI_TO_TYPE_STRING");
- msg += "<" + element.getName() + "> " + "_UI_TO_TYPE_STRING";
- }
- if (addMessage)
- {
- addMessage(msg, element);
- }
- }
-
-
- super.visitElementDeclaration(element);
- }
-
- protected void resetTypeToString(Element element)
- {
- String prefix = element.getPrefix();
- prefix = (prefix == null) ? "" : (prefix + ":");
-
- element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, prefix + "string");
- }
-
- protected boolean removeType(XSDElementDeclaration element)
- {
- if (removeType(element.getTypeDefinition()))
- {
- resetTypeToString(element.getElement());
- return true;
- }
- return false;
- }
-
- protected boolean isFromDeletedSchema(XSDConcreteComponent component)
- {
- if (component == null)
- {
- return false;
- }
- XSDConcreteComponent root = component.getRootContainer();
-
- boolean isFromDeletedSchema = false;
- if (deletedSchema.getContents() != null)
- {
- Iterator contents = deletedSchema.getContents().iterator();
- while (contents.hasNext())
- {
- XSDSchemaContent content = (XSDSchemaContent)contents.next();
- if (content instanceof XSDSchemaDirective)
- {
- XSDSchema aSchema = ((XSDSchemaDirective)content).getResolvedSchema();
- if (root != null && root.equals(aSchema))
- {
- isFromDeletedSchema = true;
- }
- }
- }
- }
- if (root != null && root.equals(deletedSchema))
- {
- isFromDeletedSchema = true;
- }
- return isFromDeletedSchema;
- }
-
- /**
- * Remove the type from the element if it belongs to the external file
- */
- protected boolean removeType(XSDTypeDefinition typeDef)
- {
- if (typeDef == null)
- {
- return false;
- }
- return isFromDeletedSchema(typeDef);
- }
-
- /**
- * @see org.eclipse.wst.xsd.utility.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
- */
- public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
- {
- super.visitComplexTypeDefinition(type);
- if (type.getAttributeContents() != null)
- {
- for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
- {
- XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
- if (attrGroupContent instanceof XSDAttributeUse)
- {
- XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
- XSDAttributeDeclaration attrDecl = attrUse.getContent();
-
- // now is this a reference?
- if (attrDecl.isAttributeDeclarationReference())
- {
- if (isFromDeletedSchema(attrDecl.getResolvedAttributeDeclaration()))
- {
- String name = getNamedComponentName(type);
- // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_REFERENCE") +
- String msg = "_INFO_REMOVE_ATTRIBUTE_REFERENCE" +
- " <" + name + ">";
- addMessage(msg, attrDecl.getContainer());
-
- childrenToRemove.add(attrDecl.getElement());
- }
- }
- // otherwise check the type of the attribute and see if it is from the deleted schema
- else
- {
- if (removeType(attrDecl.getTypeDefinition()))
- {
- // reset the type of the attribute decl to string
- // String msg = XSDPlugin.getSchemaString("_INFO_RESET_ATTRIBUTE") +
- String msg = "_INFO_RESET_ATTRIBUTE" +
- " <" + attrDecl.getName() + "> " +
- // XSDPlugin.getSchemaString("_UI_TO_TYPE_STRING");
- "_UI_TO_TYPE_STRING";
- addMessage(msg, attrDecl);
- resetTypeToString(attrDecl.getElement());
-
- }
- }
- }
- else if (attrGroupContent instanceof XSDAttributeGroupDefinition)
- {
- XSDAttributeGroupDefinition attrGroupDef = (XSDAttributeGroupDefinition) attrGroupContent;
-
- if (isFromDeletedSchema(attrGroupDef.getResolvedAttributeGroupDefinition()))
- {
- // remove the attribute group reference
- String name = getNamedComponentName(type);
- // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_GROUP_REFERENCE") + " <" + name + ">";
- String msg = "_INFO_REMOVE_ATTRIBUTE_GROUP_REFERENCE" + " <" + name + ">";
-
- addMessage(msg, attrGroupDef.getContainer());
-
- childrenToRemove.add(attrGroupDef.getElement());
- }
- }
- }
- }
-
- // For the complex type with simple content case, see the visitComplexTypeDefinition method
- XSDTypeDefinition base = type.getBaseTypeDefinition();
- if (base instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition baseType = (XSDSimpleTypeDefinition)base;
- if (isFromDeletedSchema(baseType))
- {
- // String msg = XSDPlugin.getSchemaString("_INFO_RESET_COMPLEX_TYPE") +
- String msg = "_INFO_RESET_COMPLEX_TYPE" +
- " <" + getNamedComponentName(type) + "> " +
- // XSDPlugin.getSchemaString("_UI_DERIVATION");
- "_UI_DERIVATION";
- addMessage(msg, type);
-
- type.setBaseTypeDefinition(schema.getSchemaForSchema().resolveSimpleTypeDefinition("string"));
- }
- }
- }
-
- /**
- * @see org.eclipse.wst.xsd.utility.XSDVisitor#visitModelGroupDefinition(XSDModelGroupDefinition)
- */
- public void visitModelGroupDefinition(XSDModelGroupDefinition modelGroup)
- {
- super.visitModelGroupDefinition(modelGroup);
- if (modelGroup.isModelGroupDefinitionReference())
- {
- if (isFromDeletedSchema(modelGroup.getResolvedModelGroupDefinition()))
- {
- String name = getNamedComponentName(modelGroup);
- // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_GROUP_REFERENCE") + " <" + name + ">";
- String msg = "_INFO_REMOVE_GROUP_REFERENCE" + " <" + name + ">";
- addMessage(msg, modelGroup.getContainer());
- childrenToRemove.add(modelGroup.getElement());
- }
- }
- }
-
- /**
- * @see org.eclipse.wst.xsd.utility.XSDVisitor#visitSimpleTypeDefinition(XSDSimpleTypeDefinition)
- */
- public void visitSimpleTypeDefinition(XSDSimpleTypeDefinition type)
- {
- super.visitSimpleTypeDefinition(type);
- XSDSimpleTypeDefinition baseType = type.getBaseTypeDefinition();
- if (isFromDeletedSchema(baseType))
- {
- // String msg = XSDPlugin.getSchemaString("_INFO_RESET_SIMPLE_TYPE") +
- String msg = "_INFO_RESET_SIMPLE_TYPE" +
- " <" + getNamedComponentName(type) + "> " +
- // XSDPlugin.getSchemaString("_UI_DERIVATION");
- "_UI_DERIVATION";
- addMessage(msg, type);
-
-
- // This will set the simple Type base to string
- // For the complex type with simple content case, see the visitComplexTypeDefinition method
-
- type.getFacetContents().clear();
- type.getFacets().clear();
- type.setBaseTypeDefinition(schema.getSchemaForSchema().resolveSimpleTypeDefinition("string"));
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/BaseRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/BaseRenamer.java
deleted file mode 100644
index 1a789e8909..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/BaseRenamer.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.rename;
-
-import org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-/**
- * Base class for rename helpers of various named root components. This is to be used when
- * the user renames a global element, group, attribute, attribute group, complex/simple type etc
- */
-public abstract class BaseRenamer extends XSDVisitor
-{
-
-
- /**
- * Method BaseRenamer.
- * @param globalComponent - this is the component (who's parent is the schema) that has been renamed
- */
- public BaseRenamer(XSDNamedComponent globalComponent, String newName)
- {
- this.globalComponent = globalComponent;
- this.newName = newName;
- }
-
- public String getNewQName()
- {
- String qName = null;
- if (newName != null)
- {
- qName = XSDConstants.lookupQualifier(globalComponent.getElement(), globalComponent.getTargetNamespace());
- if (qName != null && qName.length() > 0)
- {
- qName += ":" + newName;
- }
- else
- {
- qName = newName;
- }
- }
- else
- {
- qName = newName;
- }
-
- return qName;
- }
-
- protected String newName;
- protected XSDNamedComponent globalComponent;
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeGroupRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeGroupRenamer.java
deleted file mode 100644
index d01ec4f285..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeGroupRenamer.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.rename;
-
-import java.util.Iterator;
-
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalAttributeGroupRenamer extends BaseRenamer
-{
- /**
- * Constructor for GlobalAttributeGroupRenamer.
- * @param globalComponent
- */
- public GlobalAttributeGroupRenamer(XSDNamedComponent globalComponent, String newName)
- {
- super(globalComponent, newName);
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
- */
- public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
- {
- super.visitComplexTypeDefinition(type);
- if (type.getAttributeContents() != null)
- {
- for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
- {
- XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
-
- if (attrGroupContent instanceof XSDAttributeGroupDefinition)
- {
- XSDAttributeGroupDefinition attrGroupDef = (XSDAttributeGroupDefinition) attrGroupContent;
-
- if (globalComponent.equals(attrGroupDef.getResolvedAttributeGroupDefinition()))
- {
- attrGroupDef.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getNewQName());
- }
- }
- }
- }
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeRenamer.java
deleted file mode 100644
index d1b3e68b74..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeRenamer.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.rename;
-
-import java.util.Iterator;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalAttributeRenamer extends BaseRenamer
-{
- /**
- * Constructor for GlobalAttributeRenamer.
- * @param globalComponent
- */
- public GlobalAttributeRenamer(XSDNamedComponent globalComponent, String newName)
- {
- super(globalComponent, newName);
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
- */
- public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
- {
- super.visitComplexTypeDefinition(type);
- if (type.getAttributeContents() != null)
- {
- for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
- {
- XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
- if (attrGroupContent instanceof XSDAttributeUse)
- {
- XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
- XSDAttributeDeclaration attrDecl = attrUse.getContent();
-
- // now is this a reference?
- if (attrDecl != null && attrDecl.isAttributeDeclarationReference())
- {
- if (globalComponent.equals(attrDecl.getResolvedAttributeDeclaration()))
- {
- attrDecl.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getNewQName());
- }
- }
- }
- }
- }
- }
-
-
-
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalElementRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalElementRenamer.java
deleted file mode 100644
index 869d775dc8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalElementRenamer.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.rename;
-
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalElementRenamer extends BaseRenamer
-{
- /**
- * Constructor for GlobalElementRenamer.
- * @param globalComponent
- */
- public GlobalElementRenamer(XSDNamedComponent globalComponent, String newName)
- {
- super(globalComponent, newName);
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitElementDeclaration(XSDElementDeclaration)
- */
- public void visitElementDeclaration(XSDElementDeclaration element)
- {
- super.visitElementDeclaration(element);
- if (element.isElementDeclarationReference() &&
- globalComponent.equals(element.getResolvedElementDeclaration()))
- {
- element.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getNewQName());
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalGroupRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalGroupRenamer.java
deleted file mode 100644
index b29b8e47fa..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalGroupRenamer.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.rename;
-
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalGroupRenamer extends BaseRenamer
-{
-
- /**
- * Constructor for GlobalGroupRenamer.
- * @param globalComponent
- */
- public GlobalGroupRenamer(XSDNamedComponent globalComponent, String newName)
- {
- super(globalComponent, newName);
- }
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitModelGroupDefinition(XSDModelGroupDefinition)
- */
- public void visitModelGroupDefinition(XSDModelGroupDefinition modelGroup)
- {
- super.visitModelGroupDefinition(modelGroup);
- if (modelGroup.isModelGroupDefinitionReference())
- {
- if (globalComponent.equals(modelGroup.getResolvedModelGroupDefinition()))
- {
- modelGroup.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getNewQName());
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalSimpleOrComplexTypeRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalSimpleOrComplexTypeRenamer.java
deleted file mode 100644
index 369b56297a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalSimpleOrComplexTypeRenamer.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.rename;
-
-import java.util.Iterator;
-
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class GlobalSimpleOrComplexTypeRenamer extends BaseRenamer
-{
- /**
- * Constructor for GlobalSimpleOrComplexTypeRenamer.
- * @param globalComponent
- */
- public GlobalSimpleOrComplexTypeRenamer(XSDNamedComponent globalComponent, String newName)
- {
- super(globalComponent, newName);
- }
-
-
- /**
- * @see XSDVisitor#visitElementDeclaration(XSDElementDeclaration)
- */
- public void visitElementDeclaration(XSDElementDeclaration element)
- {
- if (!element.isElementDeclarationReference() &&
- globalComponent.equals(element.getTypeDefinition()))
- {
- element.getElement().setAttribute(XSDConstants.TYPE_ATTRIBUTE, getNewQName());
- }
-
- super.visitElementDeclaration(element);
- }
-
-
- /**
- * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
- */
- public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
- {
- super.visitComplexTypeDefinition(type);
- if (type.getAttributeContents() != null)
- {
- for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
- {
- XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
- if (attrGroupContent instanceof XSDAttributeUse)
- {
- XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
- XSDAttributeDeclaration attrDecl = attrUse.getContent();
-
- // now is this a reference?
- if (!attrDecl.isAttributeDeclarationReference() &&
- globalComponent.equals(attrDecl.getTypeDefinition()))
- {
- attrDecl.getElement().setAttribute(XSDConstants.TYPE_ATTRIBUTE, getNewQName());
- }
- }
- }
- }
-
- XSDTypeDefinition base = type.getBaseTypeDefinition();
- if (base.equals(globalComponent))
- {
- XSDDOMHelper helper = new XSDDOMHelper();
- Element derivedByNode = helper.getDerivedByElementFromComplexType(type.getElement());
- if (derivedByNode != null)
- {
- derivedByNode.setAttribute(XSDConstants.BASE_ATTRIBUTE, getNewQName());
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/SchemaPrefixChangeHandler.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/SchemaPrefixChangeHandler.java
deleted file mode 100644
index 62b0eb9478..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/SchemaPrefixChangeHandler.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.rename;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class SchemaPrefixChangeHandler
-{
- String newPrefix;
- XSDSchema xsdSchema;
-
- public SchemaPrefixChangeHandler(XSDSchema xsdSchema, String newPrefix)
- {
- this.xsdSchema = xsdSchema;
- this.newPrefix= newPrefix;
- }
-
- public void resolve()
- {
- XSDSchemaPrefixRenamer xsdSchemaPrefixRenamer = new XSDSchemaPrefixRenamer();
- xsdSchemaPrefixRenamer.visitSchema(xsdSchema);
- }
-
- public String getNewQName(XSDTypeDefinition comp, String value, String newXSDPrefix)
- {
- String qName = null;
- if (value != null)
- {
- qName = newXSDPrefix;
- if (qName != null && qName.length() > 0)
- {
- qName += ":" + value;
- }
- else
- {
- qName = value;
- }
- }
- else
- {
- qName = value;
- }
-
- return qName;
- }
-
-
- class XSDSchemaPrefixRenamer extends XSDVisitor
- {
- public XSDSchemaPrefixRenamer()
- {
- super();
- }
-
- public void visitElementDeclaration(XSDElementDeclaration element)
- {
- super.visitElementDeclaration(element);
- XSDTypeDefinition type = element.getType();
- if (type != null)
- {
- String ns = type.getTargetNamespace();
- if (ns == null) ns = "";
-// if (ns.equals(xsdSchema.getSchemaForSchemaNamespace()))
- if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
- {
- Element domElement = element.getElement();
- if (domElement != null && domElement instanceof XMLNode)
- {
- Attr typeAttr = domElement.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
- if (typeAttr != null)
- {
- element.getElement().setAttribute(XSDConstants.TYPE_ATTRIBUTE, getNewQName(type, type.getName(), newPrefix));
- }
- }
- }
- }
- }
-
- public void visitSimpleTypeDefinition(XSDSimpleTypeDefinition simpleType)
- {
- super.visitSimpleTypeDefinition(simpleType);
- XSDTypeDefinition baseType = simpleType.getBaseTypeDefinition();
-
- if (baseType != null)
- {
- String ns = baseType.getTargetNamespace();
- if (ns == null) ns = "";
-// if (ns.equals(xsdSchema.getSchemaForSchemaNamespace()))
-// System.out.println(xsdSchema.getSchemaForSchemaNamespace());
- if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
- {
- XSDDOMHelper domHelper = new XSDDOMHelper();
- Element derivedBy = domHelper.getDerivedByElement(simpleType.getElement());
- if (derivedBy != null && derivedBy instanceof XMLNode)
- {
- Attr typeAttr = derivedBy.getAttributeNode(XSDConstants.BASE_ATTRIBUTE);
- if (typeAttr != null)
- {
- derivedBy.setAttribute(XSDConstants.BASE_ATTRIBUTE, getNewQName(baseType, baseType.getName(), newPrefix));
- }
- }
- }
- }
-
- XSDSimpleTypeDefinition itemType = simpleType.getItemTypeDefinition();
- if (itemType != null)
- {
- String ns = itemType.getTargetNamespace();
- if (ns == null) ns = "";
- if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
- {
- XSDDOMHelper domHelper = new XSDDOMHelper();
- Node listNode = domHelper.getChildNode(simpleType.getElement(), XSDConstants.LIST_ELEMENT_TAG);
- if (listNode != null && listNode instanceof Element)
- {
- Element listElement = (Element)listNode;
- if (listElement instanceof XMLNode)
- {
- Attr typeAttr = listElement.getAttributeNode(XSDConstants.ITEMTYPE_ATTRIBUTE);
- if (typeAttr != null)
- {
- listElement.setAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, getNewQName(itemType, itemType.getName(), newPrefix));
- }
- }
- }
- }
- }
-
- List memberTypes = simpleType.getMemberTypeDefinitions();
- if (memberTypes.size() > 0)
- {
- XSDDOMHelper domHelper = new XSDDOMHelper();
- Node unionNode = domHelper.getChildNode(simpleType.getElement(), XSDConstants.UNION_ELEMENT_TAG);
- if (unionNode != null && unionNode instanceof Element)
- {
- Element unionElement = (Element)unionNode;
- if (unionElement instanceof XMLNode)
- {
- Attr typeAttr = unionElement.getAttributeNode(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- StringBuffer sb = new StringBuffer("");
- for (Iterator i = memberTypes.iterator(); i.hasNext(); )
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)i.next();
- String ns = st.getTargetNamespace();
- if (ns == null) ns = "";
- if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
- {
- sb.append(getNewQName(st, st.getName(), newPrefix));
- }
- else
- {
- sb.append(st.getQName(xsdSchema));
- }
- if (i.hasNext())
- {
- sb.append(" ");
- }
- }
- unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, sb.toString());
- }
- }
- }
- }
-
- public void visitAttributeDeclaration(XSDAttributeDeclaration attr)
- {
- super.visitAttributeDeclaration(attr);
- XSDTypeDefinition type = attr.getType();
- if (type != null)
- {
- String ns = type.getTargetNamespace();
- if (ns == null) ns = "";
-// if (ns.equals(xsdSchema.getSchemaForSchemaNamespace()))
- if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
- {
- Element domElement = attr.getElement();
- if (domElement != null && domElement instanceof XMLNode)
- {
- Attr typeAttr = domElement.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
- if (typeAttr != null)
- {
- attr.getElement().setAttribute(XSDConstants.TYPE_ATTRIBUTE, getNewQName(type, type.getName(), newPrefix));
- }
- }
- }
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/TargetNamespaceChangeHandler.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/TargetNamespaceChangeHandler.java
deleted file mode 100644
index ef996b1020..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/TargetNamespaceChangeHandler.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.refactor.rename;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-
-
-public class TargetNamespaceChangeHandler
-{
- String newNS;
- String oldNS;
- XSDSchema xsdSchema;
-
- public TargetNamespaceChangeHandler(XSDSchema xsdSchema, String oldNS, String newNS)
- {
- this.xsdSchema = xsdSchema;
- this.oldNS= oldNS;
- this.newNS= newNS;
- }
-
- public void resolve()
- {
- ElementReferenceRenamer elementReferenceRenamer = new ElementReferenceRenamer();
- elementReferenceRenamer.visitSchema(xsdSchema);
- AttributeReferenceRenamer attributeReferenceRenamer = new AttributeReferenceRenamer();
- attributeReferenceRenamer.visitSchema(xsdSchema);
- }
-
- class ElementReferenceRenamer extends XSDVisitor
- {
- public ElementReferenceRenamer()
- {
- super();
- }
-
- public void visitElementDeclaration(XSDElementDeclaration element)
- {
- super.visitElementDeclaration(element);
- if (element.isElementDeclarationReference())
- {
- if (element.getResolvedElementDeclaration().getTargetNamespace() != null)
- {
- if (element.getResolvedElementDeclaration().getTargetNamespace().equals(oldNS))
- {
- // set the resolved element's declaration to new ns
- // this is defect 237518 - target namespace rename creates a new namespace
- element.getResolvedElementDeclaration().setTargetNamespace(newNS);
- }
- }
- else
- {
- if (oldNS == null || (oldNS != null && oldNS.equals("")))
- {
- element.getResolvedElementDeclaration().setTargetNamespace(newNS);
- }
- }
- }
- }
- }
-
- // Similar to defect 237518 but for attributes
- class AttributeReferenceRenamer extends XSDVisitor
- {
- public AttributeReferenceRenamer()
- {
- super();
- }
-
- public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
- {
- super.visitComplexTypeDefinition(type);
- if (type.getAttributeContents() != null)
- {
- for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
- {
- XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
- if (attrGroupContent instanceof XSDAttributeUse)
- {
- XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
- XSDAttributeDeclaration attrDecl = attrUse.getContent();
-
- if (attrDecl != null && attrDecl.isAttributeDeclarationReference())
- {
- if (attrDecl.getResolvedAttributeDeclaration().getTargetNamespace() != null)
- {
- if (attrDecl.getResolvedAttributeDeclaration().getTargetNamespace().equals(oldNS))
- {
- attrDecl.getResolvedAttributeDeclaration().setTargetNamespace(newNS);
- }
- }
- else
- {
- if (oldNS == null || (oldNS != null && oldNS.equals("")))
- {
- attrDecl.getResolvedAttributeDeclaration().setTargetNamespace(newNS);
- }
- }
- }
- }
- }
- }
- }
-
- public void visitAttributeGroupDefinition(XSDAttributeGroupDefinition attributeGroup)
- {
- super.visitAttributeGroupDefinition(attributeGroup);
- EList list = attributeGroup.getAttributeUses();
- if (list != null)
- {
- for (Iterator iter = list.iterator(); iter.hasNext(); )
- {
- XSDAttributeUse attrUse = (XSDAttributeUse)iter.next();
- XSDAttributeDeclaration attrDecl = attrUse.getContent();
-
- if (attrDecl != null && attrDecl.isAttributeDeclarationReference())
- {
- if (attrDecl.getResolvedAttributeDeclaration().getTargetNamespace() != null)
- {
- if (attrDecl.getResolvedAttributeDeclaration().getTargetNamespace().equals(oldNS))
- {
- attrDecl.getResolvedAttributeDeclaration().setTargetNamespace(newNS);
- }
- }
- else
- {
- if (oldNS == null || (oldNS != null && oldNS.equals("")))
- {
- attrDecl.getResolvedAttributeDeclaration().setTargetNamespace(newNS);
- }
- }
- }
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/OpenOnSelectionHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/OpenOnSelectionHelper.java
deleted file mode 100644
index 82de07f482..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/OpenOnSelectionHelper.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.util;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.XSDTextEditor;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-
-public class OpenOnSelectionHelper
-{
-
- protected XSDTextEditor textEditor;
-
- /**
- * Constructor for OpenOnSelectionHelper.
- */
- public OpenOnSelectionHelper(XSDTextEditor textEditor)
- {
- this.textEditor = textEditor;
- }
-
- boolean lastResult;
-
- public static void openXSDEditor(String schemaLocation)
- {
- IPath schemaPath = new Path(schemaLocation);
-
- final IFile schemaFile = ResourcesPlugin.getWorkspace().getRoot().getFile(schemaPath);
-
- Display.getDefault().syncExec(new Runnable()
- {
- /**
- * @see java.lang.Runnable#run()
- */
- public void run()
- {
- final IWorkbenchWindow workbenchWindow = XSDEditorPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow();
- if (workbenchWindow != null)
- {
- try
- {
- IEditorPart editorPart = workbenchWindow.getActivePage().openEditor(new FileEditorInput(schemaFile), XSDEditorPlugin.XSD_EDITOR_ID);
- }
- catch (PartInitException initEx)
- {
- initEx.printStackTrace();
-// XSDEditorPlugin.getPlugin().getMsgLogger().write(initEx);
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
- }
- });
- }
-
- protected boolean revealObject(final XSDConcreteComponent component)
- {
- if (component.getRootContainer().equals(textEditor.getXSDSchema()))
- {
- Node element = component.getElement();
- if (element instanceof IndexedRegion)
- {
- IndexedRegion indexNode = (IndexedRegion) element;
- textEditor.getTextViewer().setRangeIndication(indexNode.getStartOffset(), indexNode.getEndOffset() - indexNode.getStartOffset(), true);
- return true;
- }
- return false;
- }
- else
- {
- lastResult = false;
- if (component.getSchema() != null)
- {
- String schemaLocation = URIHelper.removePlatformResourceProtocol(component.getSchema().getSchemaLocation());
- IPath schemaPath = new Path(schemaLocation);
- final IFile schemaFile = ResourcesPlugin.getWorkspace().getRoot().getFile(schemaPath);
- Display.getDefault().syncExec(new Runnable()
- {
- /**
- * @see java.lang.Runnable#run()
- */
- public void run()
- {
- final IWorkbenchWindow workbenchWindow = XSDEditorPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow();
- if (workbenchWindow != null)
- {
- try
- {
- IEditorPart editorPart = workbenchWindow.getActivePage().openEditor(new FileEditorInput(schemaFile), textEditor.getXSDEditor().getEditorSite().getId());
- if (editorPart instanceof XSDEditor)
- {
- ((XSDEditor)editorPart).openOnGlobalReference(component);
- lastResult = true;
- }
- }
- catch (PartInitException initEx)
- {
-// XSDEditorPlugin.getPlugin().getMsgLogger().write(initEx);
- }
- }
- }
- });
- }
- return lastResult;
- }
- }
-
- public void openOnGlobalReference(XSDConcreteComponent comp)
- {
- XSDSchema schema = textEditor.getXSDSchema();
- String name = null;
- if (comp instanceof XSDNamedComponent)
- {
- name = ((XSDNamedComponent) comp).getName();
- }
-
- if (schema == null || name == null)
- {
- return;
- }
-
- List objects = null;
- if (comp instanceof XSDElementDeclaration)
- {
- objects = schema.getElementDeclarations();
- }
- else if (comp instanceof XSDTypeDefinition)
- {
- objects = schema.getTypeDefinitions();
- }
-
- if (objects != null)
- {
- for (Iterator iter = objects.iterator(); iter.hasNext();)
- {
- XSDNamedComponent namedComp = (XSDNamedComponent) iter.next();
-
- if (namedComp.getName().equals(name))
- {
- revealObject(namedComp);
- }
- }
- }
- }
-
- public boolean openOnSelection()
- {
- List selectedNodes = textEditor.getViewerSelectionManager().getSelectedNodes();
-
- if (!selectedNodes.isEmpty())
- {
- for (Iterator i = selectedNodes.iterator(); i.hasNext();)
- {
- Object obj = i.next();
- XSDSchema xsdSchema = textEditor.getXSDSchema();
- if (xsdSchema != null)
- {
- XSDConcreteComponent xsdComp = xsdSchema.getCorrespondingComponent((Node)obj);
- XSDConcreteComponent objectToReveal = null;
-
- if (xsdComp instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration elementDecl = (XSDElementDeclaration) xsdComp;
- if (elementDecl.isElementDeclarationReference())
- {
- objectToReveal = elementDecl.getResolvedElementDeclaration();
- }
- else
- {
- XSDConcreteComponent typeDef = null;
- if (elementDecl.getAnonymousTypeDefinition() == null)
- {
- typeDef = elementDecl.getTypeDefinition();
- }
-
- XSDConcreteComponent subGroupAffiliation = elementDecl.getSubstitutionGroupAffiliation();
-
- if (typeDef != null && subGroupAffiliation != null)
- {
- // we have 2 things we can navigate to, if the cursor is anywhere on the substitution attribute
- // then jump to that, otherwise just go to the typeDef.
- if (obj instanceof Attr && ((Attr)obj).getLocalName().equals(XSDConstants.SUBSTITUTIONGROUP_ATTRIBUTE))
- {
- objectToReveal = subGroupAffiliation;
- }
- else
- {
- // try to reveal the type now. On success, then we return true.
- // if we fail, set the substitution group as the object to reveal as a backup plan.
- if (revealObject(typeDef))
- {
- return true;
- }
- else
- {
- objectToReveal = subGroupAffiliation;
- }
- }
- }
- else
- {
- // one or more of these is null. If the typeDef is non-null, use it. Otherwise
- // try and use the substitution group
- objectToReveal = typeDef != null ? typeDef : subGroupAffiliation;
- }
- }
- }
- else if (xsdComp instanceof XSDModelGroupDefinition)
- {
- XSDModelGroupDefinition elementDecl = (XSDModelGroupDefinition) xsdComp;
- if (elementDecl.isModelGroupDefinitionReference())
- {
- objectToReveal = elementDecl.getResolvedModelGroupDefinition();
- }
- }
- else if (xsdComp instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration attrDecl = (XSDAttributeDeclaration) xsdComp;
- if (attrDecl.isAttributeDeclarationReference())
- {
- objectToReveal = attrDecl.getResolvedAttributeDeclaration();
- }
- else if (attrDecl.getAnonymousTypeDefinition() == null)
- {
- objectToReveal = attrDecl.getTypeDefinition();
- }
- }
- else if (xsdComp instanceof XSDAttributeGroupDefinition)
- {
- XSDAttributeGroupDefinition attrGroupDef = (XSDAttributeGroupDefinition) xsdComp;
- if (attrGroupDef.isAttributeGroupDefinitionReference())
- {
- objectToReveal = attrGroupDef.getResolvedAttributeGroupDefinition();
- }
- }
- else if (xsdComp instanceof XSDIdentityConstraintDefinition)
- {
- XSDIdentityConstraintDefinition idConstraintDef = (XSDIdentityConstraintDefinition) xsdComp;
- if (idConstraintDef.getReferencedKey() != null)
- {
- objectToReveal = idConstraintDef.getReferencedKey();
- }
- }
- else if (xsdComp instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition typeDef = (XSDSimpleTypeDefinition) xsdComp;
- objectToReveal = typeDef.getItemTypeDefinition();
- if (objectToReveal == null)
- {
- // if itemType attribute is not set, then check for memberType
- List memberTypes = typeDef.getMemberTypeDefinitions();
- if (memberTypes != null && memberTypes.size() > 0)
- {
- objectToReveal = (XSDConcreteComponent)memberTypes.get(0);
- }
- }
- }
- else if (xsdComp instanceof XSDTypeDefinition)
- {
- XSDTypeDefinition typeDef = (XSDTypeDefinition) xsdComp;
- objectToReveal = typeDef.getBaseType();
- }
- else if (xsdComp instanceof XSDSchemaDirective)
- {
- XSDSchemaDirective directive = (XSDSchemaDirective) xsdComp;
-// String schemaLocation = URIHelper.removePlatformResourceProtocol(directive.getResolvedSchema().getSchemaLocation());
-// openXSDEditor(schemaLocation);
-// return false;
- objectToReveal = directive.getResolvedSchema();
- }
-
- // now reveal the object if this isn't null
- if (objectToReveal != null)
- {
- return revealObject(objectToReveal);
- }
- }
- }
- }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/SelectionAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/SelectionAdapter.java
deleted file mode 100644
index 2cd1353896..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/SelectionAdapter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.util;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-public abstract class SelectionAdapter implements ISelectionProvider
-{
- protected List listenerList = new ArrayList();
- protected ISelection selection = new StructuredSelection();
- protected ISelectionProvider eventSource;
-
- public void setEventSource(ISelectionProvider eventSource)
- {
- this.eventSource = eventSource;
- }
-
- public void addSelectionChangedListener(ISelectionChangedListener listener)
- {
- listenerList.add(listener);
- }
-
- public void removeSelectionChangedListener(ISelectionChangedListener listener)
- {
- listenerList.remove(listener);
- }
-
- public ISelection getSelection()
- {
- return selection;
- }
-
- /**
- * This method should be specialized to return the correct object that corresponds to the 'other' model
- */
- abstract protected Object getObjectForOtherModel(Object object);
-
-
- public void setSelection(ISelection modelSelection)
- {
- List otherModelObjectList = new ArrayList();
- if (modelSelection instanceof IStructuredSelection)
- {
- for (Iterator i = ((IStructuredSelection)modelSelection).iterator(); i.hasNext(); )
- {
- Object modelObject = i.next();
- Object otherModelObject = getObjectForOtherModel(modelObject);
- if (otherModelObject != null)
- {
- otherModelObjectList.add(otherModelObject);
- }
- }
- }
-
- StructuredSelection nodeSelection = new StructuredSelection(otherModelObjectList);
- selection = nodeSelection;
- SelectionChangedEvent event = new SelectionChangedEvent(eventSource != null ? eventSource : this, nodeSelection);
-
- for (Iterator i = listenerList.iterator(); i.hasNext(); )
- {
- ISelectionChangedListener listener = (ISelectionChangedListener)i.next();
- listener.selectionChanged(event);
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/TypesHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/TypesHelper.java
deleted file mode 100644
index fe313c8bfd..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/TypesHelper.java
+++ /dev/null
@@ -1,762 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.util;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaContent;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.impl.XSDImportImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class TypesHelper
-{
- XSDSchema xsdSchema;
- Vector list = new Vector();
-
- public TypesHelper(XSDSchema xsdSchema)
- {
- this.xsdSchema = xsdSchema;
- }
-
- public void updateExternalImportGlobals()
- {
- if (xsdSchema != null)
- {
- Iterator contents = xsdSchema.getContents().iterator();
- while (contents.hasNext())
- {
- XSDSchemaContent content = (XSDSchemaContent) contents.next();
- if (content instanceof XSDImportImpl)
- {
- XSDImportImpl anImport = (XSDImportImpl) content;
- try
- {
- if (anImport.getSchemaLocation() != null)
- {
- anImport.importSchema();
- }
- }
- catch (Exception e)
- {
-
- }
- }
- }
- }
- }
-
- private Vector addExternalImportedUserSimpleTypes(Vector items)
- {
- if (xsdSchema != null)
- {
- Iterator contents = xsdSchema.getContents().iterator();
- while (contents.hasNext())
- {
- XSDSchemaContent content = (XSDSchemaContent) contents.next();
- if (content instanceof XSDImportImpl)
- {
- XSDImportImpl anImport = (XSDImportImpl) content;
-
- XSDSchema impSchema = anImport.getResolvedSchema();
-
- try
- {
- if (impSchema == null)
- {
- impSchema = anImport.importSchema();
- }
- }
- catch (Exception e)
- {
-
- }
-
- if (impSchema != null)
- {
- Iterator i = impSchema.getTypeDefinitions().iterator();
- while (i.hasNext())
- {
- XSDTypeDefinition typeDefinition = (XSDTypeDefinition) i.next();
- if (typeDefinition instanceof XSDSimpleTypeDefinition)
- {
- if (typeDefinition.getName() != null)
- {
- items.addAll(getPrefixedNames(typeDefinition.getTargetNamespace(), typeDefinition.getName()));
- }
- }
- }
- }
- }
- }
- }
- return items;
- }
-
- private Vector addExternalImportedGlobalElements(Vector items)
- {
- if (xsdSchema != null)
- {
- Iterator contents = xsdSchema.getContents().iterator();
- while (contents.hasNext())
- {
- XSDSchemaContent content = (XSDSchemaContent) contents.next();
- if (content instanceof XSDImportImpl)
- {
- XSDImportImpl anImport = (XSDImportImpl) content;
-
- XSDSchema impSchema = anImport.getResolvedSchema();
-
- try
- {
- if (impSchema == null)
- {
- impSchema = anImport.importSchema();
- }
- }
- catch (Exception e)
- {
-
- }
-
- if (impSchema != null)
- {
- Iterator i = impSchema.getElementDeclarations().iterator();
- while (i.hasNext())
- {
- XSDElementDeclaration anElement = (XSDElementDeclaration) i.next();
- if (anElement.getName() != null)
- {
- items.addAll(getPrefixedNames(anElement.getTargetNamespace(), anElement.getName()));
- }
- }
- }
- }
- }
- }
- return items;
- }
-
- private Vector addExternalImportedAttributes(Vector items)
- {
- if (xsdSchema != null)
- {
- Iterator contents = xsdSchema.getContents().iterator();
- while (contents.hasNext())
- {
- XSDSchemaContent content = (XSDSchemaContent) contents.next();
- if (content instanceof XSDImportImpl)
- {
- XSDImportImpl anImport = (XSDImportImpl) content;
-
- XSDSchema impSchema = anImport.getResolvedSchema();
-
- try
- {
- if (impSchema == null)
- {
- impSchema = anImport.importSchema();
- }
- }
- catch (Exception e)
- {
-
- }
-
- if (impSchema != null)
- {
- Iterator i = impSchema.getAttributeDeclarations().iterator();
- while (i.hasNext())
- {
- XSDAttributeDeclaration attrib = (XSDAttributeDeclaration) i.next();
- if (attrib.getName() != null)
- {
- items.addAll(getPrefixedNames(attrib.getTargetNamespace(), attrib.getName()));
- }
- }
- }
- }
- }
- }
- return items;
- }
-
- private Vector addExternalImportedAttributeGroups(Vector items)
- {
- if (xsdSchema != null)
- {
- Iterator contents = xsdSchema.getContents().iterator();
- while (contents.hasNext())
- {
- XSDSchemaContent content = (XSDSchemaContent) contents.next();
- if (content instanceof XSDImportImpl)
- {
- XSDImportImpl anImport = (XSDImportImpl) content;
-
- XSDSchema impSchema = anImport.getResolvedSchema();
-
- try
- {
- if (impSchema == null)
- {
- impSchema = anImport.importSchema();
- }
- }
- catch (Exception e)
- {
-
- }
-
- if (impSchema != null)
- {
- Iterator i = impSchema.getAttributeGroupDefinitions().iterator();
- while (i.hasNext())
- {
- XSDAttributeGroupDefinition attrib = (XSDAttributeGroupDefinition) i.next();
- if (attrib.getName() != null)
- {
- items.addAll(getPrefixedNames(attrib.getTargetNamespace(), attrib.getName()));
- }
- }
- }
- }
- }
- }
- return items;
- }
-
- private Vector addExternalImportedUserComplexTypes(Vector items)
- {
- if (xsdSchema != null)
- {
- Iterator contents = xsdSchema.getContents().iterator();
- while (contents.hasNext())
- {
- XSDSchemaContent content = (XSDSchemaContent) contents.next();
- if (content instanceof XSDImportImpl)
- {
- XSDImportImpl anImport = (XSDImportImpl) content;
-
- XSDSchema impSchema = anImport.getResolvedSchema();
-
- try
- {
- if (impSchema == null)
- {
- impSchema = anImport.importSchema();
- }
- }
- catch (Exception e)
- {
-
- }
-
- if (impSchema != null)
- {
- Iterator i = impSchema.getTypeDefinitions().iterator();
- while (i.hasNext())
- {
- XSDTypeDefinition typeDefinition = (XSDTypeDefinition) i.next();
- if (typeDefinition instanceof XSDComplexTypeDefinition)
- {
- if (typeDefinition.getName() != null)
- {
- items.addAll(getPrefixedNames(typeDefinition.getTargetNamespace(), typeDefinition.getName()));
- }
- }
- }
- }
- }
- }
- }
- return items;
- }
-
- private Vector addExternalImportedGroups(Vector items)
- {
- if (xsdSchema != null)
- {
- Iterator contents = xsdSchema.getContents().iterator();
- while (contents.hasNext())
- {
- XSDSchemaContent content = (XSDSchemaContent) contents.next();
- if (content instanceof XSDImportImpl)
- {
- XSDImportImpl anImport = (XSDImportImpl) content;
-
- XSDSchema impSchema = anImport.getResolvedSchema();
-
- try
- {
- if (impSchema == null)
- {
- impSchema = anImport.importSchema();
- }
- }
- catch (Exception e)
- {
- }
-
- if (impSchema != null)
- {
- Iterator i = impSchema.getModelGroupDefinitions().iterator();
- while (i.hasNext())
- {
- XSDModelGroupDefinition aGroup = (XSDModelGroupDefinition) i.next();
- if (aGroup.getName() != null)
- {
- items.addAll(getPrefixedNames(aGroup.getTargetNamespace(), aGroup.getName()));
- }
- }
- }
- }
- }
- }
- return items;
- }
-
- public java.util.List getBuiltInTypeNamesList()
- {
- Vector items = new Vector();
- if (xsdSchema != null)
- {
- String xsdForXSDPrefix = xsdSchema.getSchemaForSchemaQNamePrefix();
- if (xsdForXSDPrefix != null && xsdForXSDPrefix.length() > 0)
- {
- xsdForXSDPrefix = xsdForXSDPrefix + ":";
- }
- else
- {
- xsdForXSDPrefix = "";
- }
-
- for (int i = 0; i < XSDDOMHelper.dataType.length; i++)
- {
- items.add(xsdForXSDPrefix + XSDDOMHelper.dataType[i][0]);
- }
- }
- return items;
- }
-
- public java.util.List getBuiltInTypeNamesList2()
- {
- List result = new ArrayList();
- if (xsdSchema != null)
- {
- List prefixes = getPrefixesForNamespace(xsdSchema.getSchemaForSchemaNamespace());
- for (int i = 0; i < XSDDOMHelper.dataType.length; i++)
- {
- for (Iterator j = prefixes.iterator(); j.hasNext();)
- {
- String prefix = (String) j.next();
- String localName = XSDDOMHelper.dataType[i][0];
- String prefixedName = (prefix != null && prefix.length() > 0) ? prefix + ":" + localName : localName;
- result.add(prefixedName);
- }
- }
- }
- return result;
- }
-
- public java.util.List getUserSimpleTypeNamesList()
- {
- Vector items = new Vector();
- if (xsdSchema != null)
- {
- updateExternalImportGlobals();
- Iterator i = xsdSchema.getTypeDefinitions().iterator();
- while (i.hasNext())
- {
- XSDTypeDefinition typeDefinition = (XSDTypeDefinition) i.next();
- if (typeDefinition instanceof XSDSimpleTypeDefinition)
- {
- items.addAll(getPrefixedNames(typeDefinition.getTargetNamespace(), typeDefinition.getName()));
- //System.out.println(typeDefinition.getQName(xsdSchema));
- //items.add(typeDefinition.getQName(xsdSchema));
- }
- }
- items.add(getPrefix(xsdSchema.getSchemaForSchemaNamespace(), true) + "anyType");
-
- // items = addExternalImportedUserSimpleTypes(items);
- items = (Vector) sortList(items);
- }
- return items;
- }
-
- public java.util.List getUserComplexTypeNamesList()
- {
- Vector items = new Vector();
- if (xsdSchema != null)
- {
- updateExternalImportGlobals();
- Iterator i = xsdSchema.getTypeDefinitions().iterator();
- while (i.hasNext())
- {
- XSDTypeDefinition typeDefinition = (XSDTypeDefinition) i.next();
- if (typeDefinition instanceof XSDComplexTypeDefinition)
- {
- items.addAll(getPrefixedNames(typeDefinition.getTargetNamespace(), typeDefinition.getName()));
- }
- }
- // remove anyType since it's not user-defined
- // items.add(getPrefix(xsdSchema.getSchemaForSchemaNamespace(), true) + "anyType");
- // items = addExternalImportedUserComplexTypes(items);
- items = (Vector) sortList(items);
- }
- return items;
- }
-
- public String getPrefix(String ns, boolean withColon)
- {
- String key = "";
-
- if (xsdSchema != null)
- {
- Map map = xsdSchema.getQNamePrefixToNamespaceMap();
- Iterator iter = map.keySet().iterator();
- while (iter.hasNext())
- {
- Object keyObj = iter.next();
- Object value = map.get(keyObj);
- if (value != null && value.toString().equals(ns))
- {
- if (keyObj != null)
- {
- key = keyObj.toString();
- }
- else
- {
- key = "";
- }
- break;
- }
- }
- if (!key.equals(""))
- {
- if (withColon)
- {
- key = key + ":";
- }
- }
- }
- return key;
- }
-
- public java.util.List getGlobalElements()
- {
- Vector items = new Vector();
- if (xsdSchema != null)
- {
- updateExternalImportGlobals();
- if (xsdSchema.getElementDeclarations() != null)
- {
- Iterator i = xsdSchema.getElementDeclarations().iterator();
- while (i.hasNext())
- {
- XSDElementDeclaration elementDeclaration = (XSDElementDeclaration) i.next();
- String name = elementDeclaration.getQName(xsdSchema);
- if (name != null)
- {
- items.add(name);
- }
- }
- }
- // items = addExternalImportedGlobalElements(items);
- items = (Vector) sortList(items);
- }
- return items;
- }
-
- public String getGlobalElement(XSDSchema relativeComponent)
- {
- if (xsdSchema != null)
- {
- updateExternalImportGlobals();
- if (xsdSchema.getElementDeclarations() != null)
- {
- Iterator i = xsdSchema.getElementDeclarations().iterator();
- while (i.hasNext()) // just get the first one
- {
- XSDElementDeclaration elementDeclaration = (XSDElementDeclaration) i.next();
- if (elementDeclaration.getQName(relativeComponent) != null)
- {
- return elementDeclaration.getQName(relativeComponent);
- }
- }
- }
-
- Vector items = new Vector();
- items = addExternalImportedGlobalElements(items);
- if (items != null && items.size() > 0)
- {
- return items.get(0).toString();
- }
- }
- return null; // for disabling menu
- }
-
- public java.util.List getGlobalAttributes()
- {
- Vector items = new Vector();
- if (xsdSchema != null)
- {
- updateExternalImportGlobals();
- if (xsdSchema.getAttributeDeclarations() != null)
- {
- Iterator i = xsdSchema.getAttributeDeclarations().iterator();
- while (i.hasNext())
- {
- XSDAttributeDeclaration attributeDeclaration = (XSDAttributeDeclaration) i.next();
- if (attributeDeclaration.getTargetNamespace() == null || (attributeDeclaration.getTargetNamespace() != null && !attributeDeclaration.getTargetNamespace().equals(XSDConstants.SCHEMA_INSTANCE_URI_2001)))
- {
- String name = attributeDeclaration.getQName(xsdSchema);
- if (name != null)
- {
- items.add(name);
- }
- }
- }
- }
- // items = addExternalImportedAttributes(items);
- items = (Vector) sortList(items);
- }
- return items;
- }
-
- public String getGlobalAttribute(XSDSchema relativeComponent)
- {
- if (xsdSchema != null)
- {
- updateExternalImportGlobals();
- if (xsdSchema.getAttributeDeclarations() != null)
- {
- Iterator i = xsdSchema.getAttributeDeclarations().iterator();
- while (i.hasNext()) // just get the first one
- {
- XSDAttributeDeclaration attributeDeclaration = (XSDAttributeDeclaration) i.next();
- if (attributeDeclaration.getQName(relativeComponent) != null)
- {
- return attributeDeclaration.getQName(relativeComponent);
- }
- }
- }
-
- Vector items = new Vector();
- items = addExternalImportedAttributes(items);
- if (items != null && items.size() > 0)
- {
- return items.get(0).toString();
- }
- }
- return null; // for disabling menu
- }
-
- public java.util.List getGlobalAttributeGroups()
- {
- Vector items = new Vector();
- if (xsdSchema != null)
- {
- updateExternalImportGlobals();
- if (xsdSchema.getAttributeGroupDefinitions() != null)
- {
- Iterator i = xsdSchema.getAttributeGroupDefinitions().iterator();
- while (i.hasNext())
- {
- XSDAttributeGroupDefinition attributeGroupDefinition = (XSDAttributeGroupDefinition) i.next();
- String name = attributeGroupDefinition.getQName(xsdSchema);
- if (name != null)
- {
- items.add(name);
- }
- }
- }
- // items = addExternalImportedAttributeGroups(items);
- items = (Vector) sortList(items);
- }
- return items;
- }
-
- public String getGlobalAttributeGroup(XSDSchema relativeComponent)
- {
- if (xsdSchema != null)
- {
- updateExternalImportGlobals();
- if (xsdSchema.getAttributeGroupDefinitions() != null)
- {
- Iterator i = xsdSchema.getAttributeGroupDefinitions().iterator();
- while (i.hasNext()) // just get the first one
- {
- XSDAttributeGroupDefinition attributeGroupDefinition = (XSDAttributeGroupDefinition) i.next();
- if (attributeGroupDefinition.getQName(relativeComponent) != null)
- {
- return attributeGroupDefinition.getQName(relativeComponent);
- }
- }
- }
-
- Vector items = new Vector();
- items = addExternalImportedAttributeGroups(items);
- if (items != null && items.size() > 0)
- {
- return items.get(0).toString();
- }
- }
- return null; // for disabling menu
- }
-
- public java.util.List getModelGroups()
- {
- Vector items = new Vector();
- if (xsdSchema != null)
- {
- updateExternalImportGlobals();
- if (xsdSchema.getModelGroupDefinitions() != null)
- {
- Iterator i = xsdSchema.getModelGroupDefinitions().iterator();
- while (i.hasNext())
- {
- XSDModelGroupDefinition modelGroupDefinition = (XSDModelGroupDefinition) i.next();
- String name = modelGroupDefinition.getQName(xsdSchema);
- if (name != null)
- {
- items.add(name);
- }
- }
- }
- // items = addExternalImportedGroups(items);
- items = (Vector) sortList(items);
- }
- return items;
- }
-
- public static java.util.List sortList(java.util.List types)
- {
- try
- {
- java.util.Collections.sort(types); // performance? n*log(n)
- }
- catch (Exception e)
- {
-// XSDEditorPlugin.getPlugin().getMsgLogger().write("Sort failed");
- }
- return types;
- }
-
- public String getModelGroup(XSDSchema relativeComponent)
- {
- if (xsdSchema != null)
- {
- updateExternalImportGlobals();
- if (xsdSchema.getModelGroupDefinitions() != null)
- {
- Iterator i = xsdSchema.getModelGroupDefinitions().iterator();
- while (i.hasNext()) // just get the first one
- {
- XSDModelGroupDefinition modelGroupDefinition = (XSDModelGroupDefinition) i.next();
- if (modelGroupDefinition.getQName(relativeComponent) != null)
- {
- return modelGroupDefinition.getQName(relativeComponent);
- }
- }
- }
-
- Vector items = new Vector();
- items = addExternalImportedGroups(items);
- if (items != null && items.size() > 0)
- {
- return items.get(0).toString();
- }
- }
- return null; // for disabling menu
- }
-
- public void updateMapAfterDelete(XSDImport deletedNode)
- {
- String ns = deletedNode.getNamespace();
- if (ns != null)
- {
- String prefix = getPrefix(ns, false);
- if (prefix != null)
- {
- prefix = prefix.trim();
- }
- String xmlnsAttr = (prefix == "") ? "xmlns" : "xmlns:" + prefix;
-
- if (prefix == "")
- {
- prefix = null;
- }
-
- if (xsdSchema != null)
- {
- Map map = xsdSchema.getQNamePrefixToNamespaceMap();
- map.remove(prefix);
- Element schemaElement = xsdSchema.getElement();
- schemaElement.removeAttribute(xmlnsAttr);
- }
- }
- }
-
- public List getPrefixedNames(String namespace, String localName)
- {
- List list = new ArrayList();
- if (namespace == null)
- {
- namespace = "";
- }
- if (xsdSchema != null && localName != null)
- {
- List prefixes = getPrefixesForNamespace(namespace);
- for (Iterator i = prefixes.iterator(); i.hasNext(); )
- {
- String prefix = (String)i.next();
- if (prefix == null) prefix = "";
- String prefixedName = prefix.length() > 0 ? prefix + ":" + localName : localName;
- list.add(prefixedName);
- }
- if (prefixes.size() == 0)
- {
- list.add(localName);
- }
- }
- return list;
- }
-
- protected List getPrefixesForNamespace(String namespace)
- {
- List list = new ArrayList();
- Map map = xsdSchema.getQNamePrefixToNamespaceMap();
- boolean atLeastOnePrefixFound = false;
- for (Iterator iter = map.keySet().iterator(); iter.hasNext();)
- {
- String prefix = (String) iter.next();
- Object value = map.get(prefix);
- if (value != null && value.toString().equals(namespace))
- {
- list.add(prefix);
- }
- }
- return list;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/ViewUtility.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/ViewUtility.java
deleted file mode 100644
index 3e71a8a8fe..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/ViewUtility.java
+++ /dev/null
@@ -1,429 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
-
-public class ViewUtility
-{
- private static Font font;
-
- public static Font getFont()
- {
- if (font == null)
- {
- font = new Font(Display.getCurrent(), "ms sans serif", 8, SWT.NORMAL);
- }
- return font;
- }
-
- public static void setFont(Font newFont)
- {
- font = newFont;
- }
-
- public static void setComposite(Composite comp)
- {
- // deprecated. Remove later
- }
- public static Composite createComposite(Composite parent, int numColumns)
- {
- Composite composite = new Composite(parent, SWT.NONE);
-
- composite.setFont(getFont());
-
- GridLayout layout = new GridLayout();
- layout.numColumns = numColumns;
- composite.setLayout(layout);
-
- GridData data = new GridData();
- data.verticalAlignment = GridData.FILL;
- data.horizontalAlignment = GridData.FILL;
- composite.setLayoutData(data);
- return composite;
- }
-
- public static Composite createComposite(Composite parent, int numColumns, boolean horizontalFill)
- {
- if (!horizontalFill)
- {
- createComposite(parent, numColumns);
- }
-
- Composite composite = new Composite(parent, SWT.NONE);
-
- composite.setFont(getFont());
-
- GridLayout layout = new GridLayout();
- layout.numColumns = numColumns;
- composite.setLayout(layout);
-
- GridData data = new GridData();
- data.verticalAlignment = GridData.FILL;
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- composite.setLayoutData(data);
-
- return composite;
- }
-
- public static Composite createComposite(Composite parent, int numColumns, boolean horizontalFill, boolean verticalFill)
- {
- if (!horizontalFill && !verticalFill)
- {
- createComposite(parent, numColumns);
- }
-
- Composite composite = new Composite(parent, SWT.NONE);
-
- composite.setFont(getFont());
-
- GridLayout layout = new GridLayout();
- layout.numColumns = numColumns;
- composite.setLayout(layout);
-
- GridData data = new GridData();
- data.verticalAlignment = GridData.FILL;
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- composite.setLayoutData(data);
-
- return composite;
- }
-
- public static Label createHorizontalFiller(Composite parent, int horizontalSpan)
- {
- Label label = new Label(parent, SWT.LEFT);
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.horizontalSpan = horizontalSpan;
- label.setLayoutData(data);
- return label;
- }
-
- /**
- * Helper method for creating labels.
- */
- public static Label createLabel(Composite parent, String text)
- {
- Label label = new Label(parent, SWT.LEFT);
- label.setText(text);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- label.setLayoutData(data);
- return label;
- }
-
- public Label createLabel(Composite parent, int style, String text)
- {
- Label label = new Label(parent, style);
-// setColor(label);
- label.setText(text);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- label.setLayoutData(data);
- return label;
- }
-
- public static Label createLabel(Composite parent, String text, int alignment)
- {
- Label label = new Label(parent, SWT.LEFT);
- label.setText(text);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = alignment;
- label.setLayoutData(data);
- return label;
- }
-
- /**
- * Helper method for creating buttons.
- */
- public static Button createPushButton(Composite parent, String label)
- {
- Button button = new Button(parent, SWT.PUSH);
- button.setText(label);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- button.setLayoutData(data);
-
- return button;
- }
-
- public static Table createTable(Composite parent)
- {
- Table table = new Table(parent, SWT.SINGLE | SWT.BORDER);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- table.setLayoutData(data);
-
- return table;
- }
-
- /**
- * Create radio button
- */
- public static Button createRadioButton(Composite parent, String label)
- {
- Button button = new Button(parent, SWT.RADIO);
- button.setText(label);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- button.setLayoutData(data);
-
- return button;
- }
-
- /**
- * Helper method for creating check box
- */
- public static Button createCheckBox(Composite parent, String label)
- {
- Button button = new Button(parent, SWT.CHECK);
- button.setText(label);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- button.setLayoutData(data);
- return button;
- }
-
- public static Combo createComboBox(Composite parent)
- {
- return createComboBox(parent, true);
- }
-
- public static Combo createComboBox(Composite parent, boolean isReadOnly)
- {
- int style = isReadOnly == true ? SWT.READ_ONLY : SWT.DROP_DOWN;
-
- Combo combo = new Combo(parent, style);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- combo.setLayoutData(data);
- return combo;
- }
-
- public static List createListBox(Composite parent, int width, boolean isMultiSelect)
- {
- int style = isMultiSelect ? SWT.MULTI : SWT.SINGLE;
- List list = new List(parent, style | SWT.BORDER);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- data.widthHint = width;
- list.setLayoutData(data);
-
- return list;
- }
-
- public static List createListBox(Composite parent, int style)
- {
- List list = new List(parent, style);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- list.setLayoutData(data);
-
- return list;
- }
-
- public Text createTextField(Composite parent)
- {
- Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- text.setLayoutData(data);
-// text.addKeyListener(keyboardHandler);
- return text;
- }
-
- public static Text createTextField(Composite parent, int width)
- {
- Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- data.widthHint = width;
- text.setLayoutData(data);
-
- return text;
- }
-
- /**
- * <code>createWrappedMultiTextField</code> creates a wrapped multitext field
- *
- * @param parent a <code>Composite</code> value
- * @param width an <code>int</code> value
- * @param numLines an <code>int</code> value representing number of characters in height
- * @param verticalFill a <code>boolean</code> value
- * @return a <code>Text</code> value
- */
- public static Text createWrappedMultiTextField(Composite parent, int width, int numLines, boolean verticalFill)
- {
- Text text = new Text(parent, SWT.MULTI | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- if (verticalFill)
- {
- data.verticalAlignment = GridData.FILL;
- data.grabExcessVerticalSpace = true;
- }
- data.widthHint = width;
- FontData[] fontData = getFont().getFontData();
- // hack for now where on Windows, only 1 fontdata exists
- data.heightHint = numLines * fontData[0].getHeight();
- text.setLayoutData(data);
-
- return text;
- }
-
- public static Text createMultiTextField(Composite parent, int width, int height, boolean verticalFill)
- {
- Text text = new Text(parent, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- if (verticalFill)
- {
- data.verticalAlignment = GridData.FILL;
- data.grabExcessVerticalSpace = true;
- }
- data.widthHint = width;
- data.heightHint = height;
- text.setLayoutData(data);
-
- return text;
- }
-
- public static Group createGroup(Composite parent, int numColumns, String text, boolean verticalFill)
- {
- Group group = new Group(parent, SWT.SHADOW_ETCHED_IN);
- group.setText(text);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- if (verticalFill)
- {
- data.verticalAlignment = GridData.FILL;
- data.grabExcessVerticalSpace = true;
- }
- group.setLayoutData(data);
-
- GridLayout layout = new GridLayout();
- layout.numColumns = numColumns;
- group.setLayout(layout);
- return group;
- }
-
- public static Group createGroup(Composite parent, int numColumns, String text, boolean verticalFill, int alignment)
- {
- Group group = new Group(parent, SWT.SHADOW_ETCHED_IN);
- group.setText(text);
-
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- data.verticalAlignment = alignment;
- if (verticalFill)
- {
- data.verticalAlignment = GridData.FILL;
- data.grabExcessVerticalSpace = true;
- }
- group.setLayoutData(data);
-
- GridLayout layout = new GridLayout();
- layout.numColumns = numColumns;
- group.setLayout(layout);
- return group;
- }
-
- public static Label createVerticalFiller(Composite parent, int verticalSpan)
- {
- Label label = new Label(parent, SWT.LEFT);
- label.setFont(getFont());
-
- GridData data = new GridData();
- data.verticalAlignment = GridData.FILL;
- data.verticalSpan = verticalSpan;
- label.setLayoutData(data);
-
- return label;
- }
-
- /**
- * Creates a grid data object that occupies vertical and horizontal
- * space.
- */
- static public GridData createFill()
- {
- GridData gd= new GridData();
- gd.horizontalAlignment= GridData.FILL;
- gd.grabExcessHorizontalSpace= true;
- gd.verticalAlignment= GridData.FILL;
- gd.grabExcessVerticalSpace= true;
- return gd;
- }
- /**
- * Creates a grid data object that occupies horizontal space.
- */
- static public GridData createHorizontalFill()
- {
- GridData gd= new GridData();
- gd.horizontalAlignment= GridData.FILL;
- gd.grabExcessHorizontalSpace= true;
- return gd;
- }
- /**
- * Creates a grid data object that occupies vertical space.
- */
- static public GridData createVerticalFill()
- {
- GridData gd= new GridData();
- gd.verticalAlignment= GridData.FILL;
- gd.grabExcessVerticalSpace= true;
- return gd;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDDOMHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDDOMHelper.java
deleted file mode 100644
index 4c84c36412..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDDOMHelper.java
+++ /dev/null
@@ -1,1103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.util;
-
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-public class XSDDOMHelper
-{
- public static final int LENGTH_FACET = 1;
- public static final int MIN_LENGTH_FACET = 2;
- public static final int MAX_LENGTH_FACET = 3;
- public static final int PATTERN_FACET = 4;
- public static final int ENUM_FACET = 5;
- public static final int WHITE_SPACE_FACET = 6;
-
- public static final int MAX_INCLUSIVE_FACET = 7;
- public static final int MAX_EXCLUSIVE_FACET = 8;
- public static final int MIN_INCLUSIVE_FACET = 9;
- public static final int MIN_EXCLUSIVE_FACET = 10;
-
- public static final int TOTAL_DIGITS_FACET = 11;
- public static final int FRACTION_DIGITS_FACET = 12;
-
- public static final int N_FACETS = 13;
-
- public static String[][] dataType =
- {
- //
- // Table format:
- // Type
- // Length, MinLength, MaxLength, Pattern, Enumeration,whiteSpace
- // MaxInclusive, MaxExclusive, MinInclusive, MinExclusive, TotalDigits, FractionDigits
- //
-
- // 0
- { "anySimpleType",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 1
- { "anyType",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
-
- // 2
- { "anyURI",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 3
- { "base64Binary",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 4
- { "boolean",
- "N", "N", "N", "Y", "N", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 5
- { "byte",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 6
- { "date",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "N", "N",
- },
-
- // 7
- { "dateTime",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "N", "N",
- },
-
- // 8
- { "decimal",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
-
- // 9
- { "double",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "N", "N",
- },
-
- // 10
- { "duration",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "N", "N",
- },
-
- // 11
- { "ENTITY",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 12
- { "ENTITIES",
- "Y", "Y", "Y", "N", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 13
- { "float",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "N", "N",
- },
-
- // 14
- { "gDay",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "N", "N",
- },
-
- // 15
- { "gMonth",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "N", "N",
- },
-
- // 16
- { "gMonthDay",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "N", "N",
- },
-
- // 17
- { "gYear",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "N", "N",
- },
-
- // 18
- { "gYearMonth",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "N", "N",
- },
-
- // 19
- { "hexBinary",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 20
- { "ID",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 21
- { "IDREF",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 22
- { "IDREFS",
- "Y", "Y", "Y", "N", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 23
- { "int",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 24
- { "integer",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 25
- { "language",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 26
- { "long",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 27
- { "Name",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
-
- // 28
- { "NCName",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 29
- { "negativeInteger",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 30
- { "NMTOKEN",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 31
- { "NMTOKENS",
- "Y", "Y", "Y", "N", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 32
- { "nonNegativeInteger",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 33
- { "nonPositiveInteger",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 34
- { "normalizedString",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
-
- },
-
- // 35
- { "NOTATION",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
-
- },
-
- // 36
- { "positiveInteger",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 37
- { "QName",
- "N", "N", "N", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 38
- { "short",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 39
- { "string",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 40
- { "time",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "N", "N",
- },
-
- // 41
- { "token",
- "Y", "Y", "Y", "Y", "Y", "Y",
- "N", "N", "N", "N", "N", "N",
- },
-
- // 42
- { "unsignedByte",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 43
- { "unsignedInt",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 44
- { "unsignedLong",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- // 45
- { "unsignedShort",
- "N", "N", "N", "Y", "Y", "Y",
- "Y", "Y", "Y", "Y", "Y", "Y",
- },
-
- };
-
- public static String XMLSchemaURI = "http://www.w3.org/2001/XMLSchema";
-
- /**
- * Constructor for XSDDOMHelper.
- */
- public XSDDOMHelper()
- {
- super();
- }
-
- public Node getChildNode(Element parent, String childName)
- {
-/* NodeList nodeList = parent.getElementsByTagNameNS(XMLSchemaURI, childName);
- if (nodeList.getLength() > 0)
- return nodeList.item(0);
- return null;
-*/
- NodeList list = null;
- if (parent != null)
- {
- list = parent.getChildNodes();
- }
-
- String name = null;
- if (list != null)
- {
- // Performance issue perhaps?
- for (int i = 0; i < list.getLength(); i++)
- {
- if (list.item(i) instanceof Element)
- {
- if (list.item(i).getLocalName().equals(childName))
- {
- return list.item(i);
- }
- }
- }
- }
- return null;
- }
-
- public static String SIMPLE_TYPE = "Simple";
- public static String USER_SIMPLE_TYPE = "simpleType";
- public static String USER_COMPLEX_TYPE = "complexType";
-/*
- public void setElementType(Element element, String type)
- {
- Document doc = element.getOwnerDocument();
- if (type.equals(SIMPLE_TYPE))
- {
- removeChild(element, USER_SIMPLE_TYPE);
- removeChild(element, USER_COMPLEX_TYPE);
- element.setAttribute("type","xsd:string");
- return;
- }
- else if (type.equals(USER_SIMPLE_TYPE))
- {
- removeChild(element, USER_COMPLEX_TYPE);
- }
- else
- {
- removeChild(element, USER_SIMPLE_TYPE);
- }
- element.removeAttribute("type");
- element.appendChild(doc.createElement("xsd:"+type));
- }
-
- public String getElementType(Element element)
- {
- String tagName = element.getLocalName();
-
- if (tagName.equals(XSDConstants.ELEMENT_ELEMENT_TAG) ||
- tagName.equals(XSDConstants.ATTRIBUTE_ELEMENT_TAG))
- {
- if (element.hasAttribute("type"))
- {
- return SIMPLE_TYPE;
- }
- NodeList nodes = element.getElementsByTagNameNS(XMLSchemaURI, USER_SIMPLE_TYPE);
- if (nodes.getLength() > 0)
- {
- return USER_SIMPLE_TYPE;
- }
- nodes = element.getElementsByTagNameNS(XMLSchemaURI, USER_COMPLEX_TYPE);
- if (nodes.getLength() > 0)
- {
- return USER_COMPLEX_TYPE;
- }
- }
- return "";
- }
-*/
- public void removeDerivedByElement(Element element)
- {
- removeChild(element, XSDConstants.RESTRICTION_ELEMENT_TAG);
- removeChild(element, XSDConstants.EXTENSION_ELEMENT_TAG);
- }
-
- public String getBaseType(Element element) // for SimpleContent and ComplexContent
- {
- Node restrictionChild = getChildNode(element, "restriction");
- Node extensionChild = getChildNode(element, "extension");
- String baseType = "";
- if (restrictionChild != null)
- {
- if (restrictionChild instanceof Element)
- {
- baseType = ((Element)restrictionChild).getAttribute("base");
-// String prefix = element.getPrefix();
-// if (prefix != null && prefix.length() > 0)
-// {
-// baseType = baseType.substring(baseType.indexOf(prefix) + prefix.length() + 1);
-// }
- }
- }
- else if (extensionChild != null) // should be one or the other
- {
- if (extensionChild instanceof Element)
- {
- baseType = ((Element)extensionChild).getAttribute("base");
-// String prefix = element.getPrefix();
-// if (prefix != null && prefix.length() > 0)
-// {
-// baseType = baseType.substring(baseType.indexOf(prefix) + prefix.length() + 1);
-// }
- }
- }
- return baseType;
- }
-
- public void setDerivedByBaseType(Element element, String derivedByType, String type)
- {
- Document doc = element.getOwnerDocument();
-
- Element derivedByElement = getDerivedByElement(element);
- if (derivedByElement != null)
- {
- derivedByElement.setAttribute("base", type);
- }
- else // there really should be one already...base is required.
- {
- Element newElement = doc.createElement(derivedByType);
- newElement.setAttribute("base", type);
- element.appendChild(newElement);
- }
- }
-
- public void changeDerivedByType(Element element, String derivedByType, String type)
- {
- Document doc = element.getOwnerDocument();
-
- String prefix = element.getPrefix();
- prefix = prefix == null ? "" : prefix + ":";
-
- Element derivedByElement = getDerivedByElement(element);
-
- if (derivedByElement.getLocalName().equals(derivedByType))
- {
- return; // it's already the derived by type
- }
- Element newNode;
- if (derivedByType.equals("restriction"))
- {
- newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + XSDConstants.RESTRICTION_ELEMENT_TAG);
- }
- else
- {
- newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + XSDConstants.EXTENSION_ELEMENT_TAG);
- }
-
- if (derivedByElement != null)
- {
- if (derivedByElement.hasChildNodes())
- {
- NodeList nodes = derivedByElement.getChildNodes();
- // use clones so we don't have a refresh problem
- for (int i = 0; i < nodes.getLength(); i++)
- {
- Node node = nodes.item(i);
- newNode.appendChild(node.cloneNode(true));
- }
- }
- newNode.setAttribute("base", type);
- element.replaceChild(newNode, derivedByElement);
-
- }
- }
-
- public void setSimpleContentType(Element element, String type)
- {
- String contentTypeName = element.getLocalName();
-
- if (contentTypeName.equals(XSDConstants.UNION_ELEMENT_TAG))
- {
- element.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, type);
- }
- else if (contentTypeName.equals(XSDConstants.LIST_ELEMENT_TAG))
- {
- element.setAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, type);
- }
- else if (contentTypeName.equals(XSDConstants.RESTRICTION_ELEMENT_TAG))
- {
- element.setAttribute(XSDConstants.BASE_ATTRIBUTE, type);
- }
- }
-
- public void removeSimpleTypeContent(Element element)
- {
- String contentTypeName = element.getLocalName();
- if (contentTypeName.equals(XSDConstants.UNION_ELEMENT_TAG))
- {
- element.removeAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- }
- else if (contentTypeName.equals(XSDConstants.LIST_ELEMENT_TAG))
- {
- element.removeAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
- }
- else if (contentTypeName.equals(XSDConstants.RESTRICTION_ELEMENT_TAG))
- {
- element.removeAttribute(XSDConstants.BASE_ATTRIBUTE);
- }
- }
-
- public String getDerivedByName(Element element)
- {
- Node restrictionChild = getChildNode(element, "restriction");
- Node extensionChild = getChildNode(element, "extension");
- if (restrictionChild != null)
- {
- return "restriction";
- }
- if (extensionChild != null)
- {
- return "extension";
- }
- return "";
- }
-
- /**
- * Get the derived by node given the complexContent or simpleContent node
- */
- public Element getDerivedByElement(Element element)
- {
- Node restrictionChild = getChildNode(element, "restriction");
- Node extensionChild = getChildNode(element, "extension");
- if (restrictionChild != null)
- {
- if (restrictionChild instanceof Element)
- {
- return (Element)restrictionChild;
- }
- }
-
- if (extensionChild != null)
- {
- if (extensionChild instanceof Element)
- {
- return (Element)extensionChild;
- }
- }
- return null;
- }
-
- /**
- * Get the derived by node given the ComplexType node
- * Returns the first one, if say, the INVALID schema has more than one
- */
- public Element getDerivedByElementFromComplexType(Element element)
- {
- NodeList nl = element.getChildNodes();
- int childNumber = 0;
- int j = 0;
- for (j = 0; j < nl.getLength(); j++)
- {
- Node aNode = nl.item(j);
- if (inputEquals(aNode, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- break;
- }
- else if (inputEquals(aNode, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
- {
- break;
- }
- }
- Element derivedByNode = getDerivedByElement((Element)nl.item(j));
- return derivedByNode;
- }
-
- /**
- * Get the content model given the ComplexType node
- * Returns the first one, if say, the INVALID schema has more than one
- */
- public Element getContentModelFromParent(Element element)
- {
- NodeList nl = element.getChildNodes();
- int childNumber = 0;
- int j = 0;
- boolean modelExists = false;
- int length = nl.getLength();
- for (j = 0; j < length; j++)
- {
- Node aNode = nl.item(j);
- if (inputEquals(aNode, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
- {
- modelExists = true;
- break;
- }
- else if (inputEquals(aNode, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
- {
- modelExists = true;
- break;
- }
- else if (inputEquals(aNode, XSDConstants.SEQUENCE_ELEMENT_TAG, false))
- {
- modelExists = true;
- break;
- }
- else if (inputEquals(aNode, XSDConstants.CHOICE_ELEMENT_TAG, false))
- {
- modelExists = true;
- break;
- }
- else if (inputEquals(aNode, XSDConstants.ALL_ELEMENT_TAG, false))
- {
- modelExists = true;
- break;
- }
- }
- if (!modelExists)
- {
- return null;
- }
-
- Element derivedByNode = (Element)nl.item(j);
- return derivedByNode;
- }
-
- /**
- *
- */
- public void changeContentModel(Element complexTypeElement, String contentModel, Element sequenceChoiceOrAllElement)
- {
- Document doc = complexTypeElement.getOwnerDocument();
-
- String prefix = complexTypeElement.getPrefix();
- prefix = prefix == null ? "" : prefix + ":";
-
- Element contentModelElement = getContentModelFromParent(complexTypeElement);
-
- if (contentModelElement.getLocalName().equals(contentModel))
- {
- return; // it's already the content model
- }
- Element newNode;
- newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + contentModel);
-
- if (contentModelElement.hasChildNodes())
- {
- NodeList nodes = contentModelElement.getChildNodes();
- // use clones so we don't have a refresh problem
- for (int i = 0; i < nodes.getLength(); i++)
- {
- Node node = nodes.item(i);
- if (node instanceof Element)
- {
- if (node.getLocalName().equals(XSDConstants.ANNOTATION_ELEMENT_TAG))
- {
- if (!(XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.ALL_ELEMENT_TAG, false)))
- {
- newNode.appendChild(node.cloneNode(true));
- }
- }
- else if (node.getLocalName().equals(XSDConstants.RESTRICTION_ELEMENT_TAG) ||
- node.getLocalName().equals(XSDConstants.EXTENSION_ELEMENT_TAG))
- {
- newNode.appendChild(node.cloneNode(true));
- if (sequenceChoiceOrAllElement != null)
- {
- node.appendChild(sequenceChoiceOrAllElement);
- }
- }
- else
- {
- removeNodeAndWhitespace(node);
- }
- }
- else
- {
- newNode.appendChild(node.cloneNode(true));
- }
- }
- }
- complexTypeElement.replaceChild(newNode, contentModelElement);
- }
-
- public Element cloneElement(Element parent, Element sourceNode)
- {
- Document doc = parent.getOwnerDocument();
- String prefix = parent.getPrefix();
- prefix = prefix == null ? "" : prefix + ":";
-
- Element newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + sourceNode.getLocalName());
-
- if (sourceNode.hasChildNodes())
- {
- NodeList nodes = sourceNode.getChildNodes();
- // use clones so we don't have a refresh problem
- for (int i = 0; i < nodes.getLength(); i++)
- {
- Node node = nodes.item(i);
- newNode.appendChild(node.cloneNode(true));
- }
- }
- return newNode;
-// parent.replaceChild(newNode, sourceNode);
- }
-
- public boolean hasElementChildren(Element parentNode)
- {
- boolean hasChildrenElements = false;
- if (parentNode != null && parentNode.hasChildNodes())
- {
- NodeList nodes = parentNode.getChildNodes();
- for (int i = 0; i < nodes.getLength(); i++)
- {
- if (nodes.item(i) instanceof Element)
- {
- hasChildrenElements = true;
- break;
- }
- }
- }
- return hasChildrenElements;
- }
-
- public void removeChild(Element node, String childName)
- {
- Node child = getChildNode(node,childName);
- if (child != null)
- {
- node.removeChild(child);
- }
- }
-
- public static boolean isFacet(Object obj)
- {
- if (XSDDOMHelper.inputEquals(obj, XSDConstants.LENGTH_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(obj, XSDConstants.MINLENGTH_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(obj, XSDConstants.MAXLENGTH_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(obj, XSDConstants.WHITESPACE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(obj, XSDConstants.MAXINCLUSIVE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(obj, XSDConstants.MAXEXCLUSIVE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(obj, XSDConstants.MININCLUSIVE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(obj, XSDConstants.MINEXCLUSIVE_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(obj, XSDConstants.TOTALDIGITS_ELEMENT_TAG, false) ||
- XSDDOMHelper.inputEquals(obj, XSDConstants.FRACTIONDIGITS_ELEMENT_TAG, false))
- {
- return true;
- }
- return false;
- }
-
- public static void removeNodeAndWhitespace(Node node)
- {
- Node parentNode = node.getParentNode();
-
- Node nextElement = getNextElementNode(node);
- Node previousElement = getPreviousElementNode(node);
-
- Node nextSibling = node.getNextSibling();
- if (nextSibling instanceof Text)
- {
- parentNode.removeChild(nextSibling);
- }
- Node previousSibling = node.getPreviousSibling();
-
- parentNode.removeChild(node);
-
- if (nextElement != null)
- {
- formatChild(nextElement);
- }
-
- if (previousElement != null)
- {
- formatChild(previousElement);
- }
- }
-
- public static void formatChild(Node child)
- {
- if (child instanceof XMLNode)
- {
- XMLModel model = ((XMLNode)child).getModel();
- try
- {
- // tell the model that we are about to make a big model change
- model.aboutToChangeModel();
-
- IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
- formatProcessor.formatNode(child);
- }
- finally
- {
- // tell the model that we are done with the big model change
- model.changedModel();
- }
- }
- }
-
- public static Node getLastElementNode(Node parent)
- {
- Node lastChild = parent.getLastChild();
-
- while (!(lastChild instanceof Element) && lastChild != null)
- {
- lastChild = lastChild.getPreviousSibling();
- }
- return lastChild;
- }
-
- public static Node getNextElementNode(Node node)
- {
- Node next = node.getNextSibling();
-
- while (!(next instanceof Element) && next != null)
- {
- next = next.getNextSibling();
- }
- if (next instanceof Text)
- {
- return null;
- }
- return next;
- }
-
- public static Node getPreviousElementNode(Node node)
- {
- Node previous = node.getPreviousSibling();
-
- while (!(previous instanceof Element) && previous != null)
- {
- previous = previous.getPreviousSibling();
- }
- if (previous instanceof Text)
- {
- return null;
- }
- return previous;
- }
-
- public static void moveNode(Node referenceNode, Node nodeToMove, boolean isBefore)
- {
- // this assumes that the referenceNode and node to move have the same parent
- Node parent = referenceNode.getParentNode();
-
- // Get reference nodes next and previous text strings
- String referenceNodeNextString = "";
- String referenceNodePreviousString = "";
- if (referenceNode != null)
- {
- Node referenceNodeNextSibling = referenceNode.getNextSibling();
- Node referenceNodePreviousSibling = referenceNode.getPreviousSibling();
- if (referenceNodeNextSibling instanceof Text)
- {
- referenceNodeNextString = ((Text)referenceNodeNextSibling).getData();
- }
- if (referenceNodePreviousSibling instanceof Text)
- {
- referenceNodePreviousString = ((Text)referenceNodePreviousSibling).getData();
- }
- }
- // Get the dragged node's next and previous text strings
- Node nodeToMoveNextSibling = nodeToMove.getNextSibling();
- Node nodeToMovePreviousSibling = nodeToMove.getPreviousSibling();
- Node nodeToMoveNextText = null;
- String nodeToMoveNextString = "";
- String nodeToMovePreviousString = "";
- if (nodeToMoveNextSibling instanceof Text)
- {
- nodeToMoveNextText = (Text)nodeToMoveNextSibling;
- nodeToMoveNextString = ((Text)nodeToMoveNextSibling).getData();
- }
- if (nodeToMovePreviousSibling instanceof Text)
- {
- nodeToMovePreviousString = ((Text)nodeToMovePreviousSibling).getData();
- }
-
- // Get the last element's next and previous text strings
- Node lastElement = getLastElementNode(parent);
- Node lastElementNextSibling = lastElement.getNextSibling();
- Node lastElementPreviousSibling = lastElement.getPreviousSibling();
- String lastElementNextString = "";
- String lastElementPreviousString = "";
- if (lastElementNextSibling instanceof Text)
- {
- lastElementNextString = ((Text)lastElementNextSibling).getData();
- }
- if (lastElementPreviousSibling instanceof Text)
- {
- lastElementPreviousString = ((Text)lastElementPreviousSibling).getData();
- }
-
- boolean isLastElement = false; // whether the last element is dragged/moved
- if (lastElement == nodeToMove)
- {
- isLastElement = true;
- }
-
- // defect 221056 this test is required or else the node will
- // be removed from the tree and the insert will fail
- if (referenceNode != nodeToMove)
- {
- parent.removeChild(nodeToMove);
- if (referenceNode != null)
- {
- if (!isBefore)
- {
- referenceNode = getNextElementNode(referenceNode);
-// referenceNode = referenceNode.getNextSibling();
- }
- }
-
- if (referenceNode != null)
- {
- insertBefore(nodeToMove, referenceNode);
- }
- else
- {
- parent.appendChild(nodeToMove);
- }
-
- Node newLastElement = getLastElementNode(parent);
- if (referenceNode != null)
- {
- if (referenceNode != newLastElement)
- {
- if (!isLastElement)
- {
- setTextData(referenceNode, nodeToMoveNextString, nodeToMovePreviousString);
- }
- }
- setTextData(nodeToMove, referenceNodeNextString, referenceNodePreviousString);
- }
- // Remove the empty space left by the dragged node
- if (nodeToMoveNextText != null)
- {
- parent.removeChild(nodeToMoveNextText);
- }
- // special case for the last element
- if ((newLastElement == nodeToMove) || isLastElement)
- {
- setTextData(newLastElement, lastElementNextString, lastElementPreviousString);
- }
- }
- }
-
- public static void setTextData(Node target, String nextText, String previousText)
- {
- Node parent = target.getParentNode();
- Node nextSibling = target.getNextSibling();
- Node previousSibling = target.getPreviousSibling();
- if (nextSibling instanceof Text)
- {
- ((Text)nextSibling).setData(nextText);
- }
- if (nextSibling == null || nextSibling instanceof Element)
- {
- Text textNode = parent.getOwnerDocument().createTextNode("");
- textNode.setData(nextText);
- if (nextSibling != null)
- {
- parent.insertBefore(textNode, nextSibling);
- }
- else
- {
- parent.insertBefore(textNode, getNextElementNode(target));
- }
- }
-
- if (previousSibling instanceof Text)
- {
- ((Text)previousSibling).setData(previousText);
- }
- if (previousSibling == null || previousSibling instanceof Element)
- {
- Text textNode = parent.getOwnerDocument().createTextNode("");
- textNode.setData(previousText);
- parent.insertBefore(textNode, target);
- }
- }
-
- public static void insertBefore(Node nodeToInsert, Node referenceNode)
- {
- // this assumes that the referenceNode and node to move have the same parent
- Node parent = referenceNode.getParentNode();
-
- Node previousSibling = referenceNode.getPreviousSibling();
- parent.insertBefore(nodeToInsert, referenceNode);
- }
-
- public static boolean inputEquals(Object input, String tagname, boolean isRef)
- {
- if (input instanceof Element)
- {
- Element element = (Element) input;
- if (element.getLocalName().equals(tagname))
- {
- boolean refPresent = element.hasAttribute("ref");
-
- return refPresent == isRef;
- }
- }
- return false;
- }
-
- public static void updateElementToNotAnonymous(Element element)
- {
- if (element != null)
- {
- NodeList children = element.getChildNodes();
- if (children != null)
- {
- for (int i = 0; i < children.getLength(); i++)
- {
- Node node = (Node)children.item(i);
- if (node instanceof Element)
- {
- if (node.getLocalName().equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG) ||
- node.getLocalName().equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
- {
- XSDDOMHelper.removeNodeAndWhitespace(node);
- i=0;
- }
- }
- }
- }
- }
- }
-
- public static boolean isAttributeRef(Element ct, String attrName, String ns)
- {
- NodeList list = ct.getChildNodes();
- int length = list.getLength();
- for (int i = 0; i < length; i++)
- {
- if (list.item(i) instanceof Element)
- {
- Element aChild = (Element)list.item(i);
- if (aChild.getLocalName().equals(XSDConstants.ATTRIBUTE_ELEMENT_TAG))
- {
- if (aChild.hasAttribute(XSDConstants.REF_ATTRIBUTE))
- {
- String refValue = aChild.getAttribute(XSDConstants.REF_ATTRIBUTE);
- if (refValue.equals(attrName))
- {
- return true;
- }
- }
- }
- }
-
- }
-
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDSchemaHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDSchemaHelper.java
deleted file mode 100644
index a57e619cbb..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDSchemaHelper.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.util;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-// TODO: KC remove this
-
-public class XSDSchemaHelper
-{
- /**
- * Constructor for XSDSchemaHelper.
- */
- public XSDSchemaHelper()
- {
- super();
- }
-
- public static void updateElement(XSDConcreteComponent concreteComp)
- {
- try
- {
- concreteComp.updateElement();
- }
- catch (Exception e)
- {
- for (Iterator containments = concreteComp.eClass().getEAllReferences().iterator(); containments.hasNext(); )
- {
- EReference eReference = (EReference)containments.next();
- if (eReference.isContainment())
- {
- if (eReference.isMany())
- {
- for (Iterator objects = ((Collection)concreteComp.eGet(eReference)).iterator(); objects.hasNext(); )
- {
- XSDConcreteComponent xsdConcreteComponent = (XSDConcreteComponent)objects.next();
- try
- {
- xsdConcreteComponent.updateElement();
- }
- catch (Exception ex) {}
- }
- }
- else
- {
- XSDConcreteComponent xsdConcreteComponent = (XSDConcreteComponent)concreteComp.eGet(eReference);
- if (xsdConcreteComponent != null)
- {
- try
- {
- xsdConcreteComponent.updateElement();
- }
- catch (Exception ex) {}
- }
- }
- }
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/EnumerationsDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/EnumerationsDialog.java
deleted file mode 100644
index eba2c64168..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/EnumerationsDialog.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.widgets;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-
-
-/**
- * Dialog to help define a list of enumerations
- * for a join. This might be replaced once we know how to
- * initiate a drag tracker
- */
-
-public class EnumerationsDialog extends org.eclipse.jface.dialogs.Dialog
-{
- public EnumerationsDialog(Shell shell)
- {
- super(shell);
- }
-
- protected void configureShell(Shell shell)
- {
- super.configureShell(shell);
- shell.setText(XSDEditorPlugin.getXSDString("_UI_ENUMERATIONS_DIALOG_TITLE"));
- }
-
- protected void buttonPressed(int buttonId)
- {
- if (buttonId == Dialog.OK)
- {
- text = textField.getText();
- delimiter = delimiterField.getText();
- isPreserve = preserveWhitespace.getSelection();
- }
- super.buttonPressed(buttonId);
- }
-
- private String text, delimiter;
- private boolean isPreserve;
- public String getText() { return text; }
- public String getDelimiter() { return delimiter; }
- public boolean isPreserveWhitespace() { return isPreserve; }
-
- private Text textField;
- private Button preserveWhitespace;
- private Combo delimiterField;
- //
- // Create the controls
- //
- public Control createDialogArea(Composite parent)
- {
- Control[] tabOrder = new Control[3];
- int tabIndex = 0;
- Composite client = (Composite)super.createDialogArea(parent);
- GridLayout layout = (GridLayout)client.getLayout();
- layout.numColumns = 2;
- client.setLayout(layout);
-
- textField = ViewUtility.createWrappedMultiTextField(client, 400, 20, true);
- GridData gd = (GridData) textField.getLayoutData();
- gd.horizontalSpan = 2;
- tabOrder[tabIndex++] = textField;
-
- ViewUtility.createLabel(client, XSDEditorPlugin.getXSDString("_UI_LABEL_DELIMITER_CHAR"));
- delimiterField = ViewUtility.createComboBox(client, false);
- gd = (GridData) delimiterField.getLayoutData();
- gd.grabExcessHorizontalSpace = false;
- gd.horizontalAlignment = GridData.BEGINNING;
- gd.widthHint = 30;
- tabOrder[tabIndex++] = delimiterField;
-
- // add default delimiters
- delimiterField.add(":");
- delimiterField.add(",");
- delimiterField.add(" ");
- // set the current one to be ','
- delimiterField.setText(",");
-
- preserveWhitespace = ViewUtility.createCheckBox(client, XSDEditorPlugin.getXSDString("_UI_LABEL_PRESERVE_WHITESPACE"));
- gd = (GridData) preserveWhitespace.getLayoutData();
- gd.horizontalSpan = 2;
- tabOrder[tabIndex++] = preserveWhitespace;
-
- client.setTabList(tabOrder);
-
- return client;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/SetBaseTypeDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/SetBaseTypeDialog.java
deleted file mode 100644
index d0546487a3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/SetBaseTypeDialog.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.widgets;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-
-public class SetBaseTypeDialog extends Dialog implements SelectionListener
-{
- protected Combo baseTypeCombo;
- protected Combo derivedByCombo;
- protected XSDSchema xsdSchema;
- protected Element element; // the complex type element
- private String type = "";
- private String derivedByString = "";
-
- /**
- * Constructor for SetBaseTypeDialog.
- * @param arg0
- */
- public SetBaseTypeDialog(Shell arg0, XSDSchema xsdSchema, Element element)
- {
- super(arg0);
- this.xsdSchema = xsdSchema;
- this.element = element;
- }
-
- protected void configureShell(Shell shell)
- {
- super.configureShell(shell);
- shell.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_SET_BASE_TYPE"));
- }
-
-
- protected void buttonPressed(int buttonId)
- {
- if (buttonId == Dialog.OK)
- {
- type = baseTypeCombo.getText();
- derivedByString = derivedByCombo.getText();
- }
- super.buttonPressed(buttonId);
- }
-
- public String getBaseType()
- {
- return type;
- }
-
- public String getDerivedBy()
- {
- return derivedByString;
- }
-
- public void setCurrentBaseType(String type)
- {
- this.type = type;
- }
-
- public void setCurrentDerivedBy(String derivedByString)
- {
- this.derivedByString = derivedByString;
- }
-
- //
- // Create the controls
- //
- public Control createDialogArea(Composite parent)
- {
- Composite nameComposite = (Composite)super.createDialogArea(parent);
- GridLayout layout = (GridLayout)nameComposite.getLayout();
- layout.numColumns = 2;
- nameComposite.setLayout(layout);
-
- ViewUtility utility = new ViewUtility();
-
- ViewUtility.createLabel(nameComposite, XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON"));
- baseTypeCombo = ViewUtility.createComboBox(nameComposite, true); // readonly
- baseTypeCombo.addSelectionListener(this);
-
- ViewUtility.createLabel(nameComposite, XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY"));
- derivedByCombo = ViewUtility.createComboBox(nameComposite, true); // readonly
-
- derivedByCombo.add(XSDConstants.EXTENSION_ELEMENT_TAG);
- derivedByCombo.add(XSDConstants.RESTRICTION_ELEMENT_TAG);
- derivedByCombo.setText(derivedByString);
- initializeBaseTypeCombo();
-
- if (type.equals(""))
- {
- derivedByCombo.setText("");
- derivedByCombo.setEnabled(false);
- }
-
- return nameComposite;
- }
-
- private void initializeBaseTypeCombo()
- {
- ArrayList list = new ArrayList();
- TypesHelper helper = new TypesHelper(xsdSchema);
-
- String prefix = helper.getPrefix(xsdSchema.getTargetNamespace(), true);
-
- list.add("");
- list.addAll(helper.getBuiltInTypeNamesList());
- list.addAll(helper.getUserSimpleTypeNamesList());
- list.addAll(helper.getUserComplexTypeNamesList());
-
- // remove the current CT from the list
- list.remove(prefix + element.getAttribute("name"));
-
- baseTypeCombo.removeAll();
- for (int i = 0; i < list.size(); i++)
- {
- baseTypeCombo.add(list.get(i).toString());
- }
- baseTypeCombo.setText(type);
- handleBaseTypeComboChange();
- }
-
- private void handleBaseTypeComboChange()
- {
- String tempChoice = baseTypeCombo.getText();
- TypesHelper helper = new TypesHelper(xsdSchema);
- if (helper.getBuiltInTypeNamesList().contains(tempChoice) ||
- helper.getUserSimpleTypeNamesList().contains(tempChoice))
- {
- derivedByCombo.setText(XSDConstants.EXTENSION_ELEMENT_TAG);
- derivedByCombo.setEnabled(false);
- }
- else if (helper.getUserComplexTypeNamesList().contains(tempChoice))
- {
- derivedByCombo.setEnabled(true);
- }
- else
- {
- derivedByCombo.setText("");
- derivedByCombo.setEnabled(false);
- }
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == baseTypeCombo)
- {
- handleBaseTypeComboChange();
- }
-
- }
-
- public void widgetDefaultSelected(SelectionEvent e)
- {
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/TypeSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/TypeSection.java
deleted file mode 100644
index 6a111fb70d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/TypeSection.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.widgets;
-
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDSchema;
-
-public class TypeSection
-{
- /**
- * Constructor for TypeSection.
- * @param parent
- */
- public TypeSection(Composite parent)
- {
- }
-
- protected Button simpleType;
- protected Button userSimpleType;
- protected Button userComplexType;
- protected Button noneRadio;
- protected Combo typeList;
- protected Combo derivedByCombo;
- protected boolean showUserComplexType = true;
- protected boolean showUserSimpleType = true;
- protected boolean showNone = false;
- protected boolean showDerivedBy = false;
- protected String derivedByChoices[] = { "restriction", "extension" };
- public final int NONE = 1;
- public final int BUILT_IN = 2;
- public final int SIMPLE = 3;
- public final int COMPLEX = 4;
-
- String sectionTitle = XSDEditorPlugin.getXSDString("_UI_LABEL_TYPE_INFORMATION");
- String currentObjectUuid = "";
-
- /*
- * @see FlatPageSection#createClient(Composite, WidgetFactory)
- */
- public Composite createClient(Composite parent)
- {
- // FlatViewUtility utility = new FlatViewUtility(XSDEditor.isFlatLook());
- ViewUtility utility = new ViewUtility();
-
- // Composite client = utility.createComposite(parent, 1);
- Composite client = new Composite(parent, SWT.NONE);
- GridLayout gl = new GridLayout(1, true);
- gl.verticalSpacing = 0;
- client.setLayout(gl);
-
- if (showNone)
- {
- noneRadio = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_RADIO_NONE"));
- WorkbenchHelp.setHelp(noneRadio, XSDEditorContextIds.XSDE_TYPE_HELPER_NONE);
- }
-
- simpleType = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_RADIO_BUILT_IN_SIMPLE_TYPE"));
- WorkbenchHelp.setHelp(simpleType, XSDEditorContextIds.XSDE_TYPE_HELPER_BUILT_IN);
-
- if (showUserSimpleType)
- {
- userSimpleType = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_RADIO_USER_DEFINED_SIMPLE_TYPE"));
- WorkbenchHelp.setHelp(userSimpleType, XSDEditorContextIds.XSDE_TYPE_HELPER_USER_DEFINED_SIMPLE);
- }
-
- if (showUserComplexType)
- {
- userComplexType = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_RADIO_USER_DEFINED_COMPLEX_TYPE"));
- WorkbenchHelp.setHelp(userComplexType, XSDEditorContextIds.XSDE_TYPE_HELPER_USER_DEFINED_COMPLEX);
- }
-
- // typeList = utility.createComboBox(client);
- // WorkbenchHelp.setHelp(typeList, XSDEditorContextIds.XSDE_TYPE_HELPER_TYPE);
- // utility.createHeadingLabel(client, "Type",null);
-
- if (showDerivedBy)
- {
- Composite derivedByComposite = ViewUtility.createComposite(client, 2);
- Label derivedByLabel = ViewUtility.createLabel(derivedByComposite, XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY"));
- derivedByCombo = ViewUtility.createComboBox(derivedByComposite);
- populateDerivedByCombo();
- WorkbenchHelp.setHelp(derivedByCombo, XSDEditorContextIds.XSDE_SIMPLE_CONTENT_DERIVED);
- derivedByCombo.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_DERIVED_BY"));
- }
- // Set the default selection
- if (showNone)
- {
- // noneRadio.setSelection(true);
- // typeList.setEnabled(false);
- }
- else
- {
- simpleType.setSelection(true);
- }
- return client;
- }
-
- public void setIsDerivedBy(boolean derive)
- {
- if (derive)
- {
- sectionTitle = XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE");
- }
- else
- {
- sectionTitle = XSDEditorPlugin.getXSDString("_UI_LABEL_TYPE_INFORMATION");
- }
- // setHeaderText(sectionTitle);
- }
-
- /**
- * Set to true if called by Complex Type & Simple Type
- */
- public void setShowDerivedBy(boolean derive)
- {
- showDerivedBy = derive;
- }
-
- /**
- * Gets the derivedByField
- * @return Returns a Button
- */
- public Combo getDerivedByCombo()
- {
- return derivedByCombo;
- }
-
- /**
- * Gets the noneRadio.
- * @return Returns a Button
- */
- public Button getNoneRadio()
- {
- return noneRadio;
- }
-
- /**
- * Gets the simpleType.
- * @return Returns a Button
- */
- public Button getSimpleType()
- {
- return simpleType;
- }
-
- /**
- * Gets the userComplexType.
- * @return Returns a Button
- */
- public Button getUserComplexType()
- {
- return userComplexType;
- }
-
- /**
- * Gets the userSimpleType.
- * @return Returns a Button
- */
- public Button getUserSimpleType()
- {
- return userSimpleType;
- }
-
- /**
- * Gets the typeList.
- * @return Returns a CCombo
- */
- public Combo getTypeList()
- {
- return typeList;
- }
-
- /**
- * Populate combo box with built-in simple types
- */
- public void populateBuiltInType(XSDSchema xsdSchema)
- {
- getTypeList().removeAll();
- List items = getBuiltInTypeNamesList(xsdSchema);
- for (int i = 0; i < items.size(); i++)
- {
- getTypeList().add(items.get(i).toString());
- }
- }
-
- public java.util.List getBuiltInTypeNamesList(XSDSchema xsdSchema)
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getBuiltInTypeNamesList();
- }
-
- /**
- * Populate combo box with user defined complex types
- */
- public void populateUserComplexType(XSDSchema xsdSchema, boolean showAnonymous)
- {
- getTypeList().removeAll();
- if (showAnonymous)
- {
- getTypeList().add(XSDEditorPlugin.getXSDString("_UI_ANONYMOUS"));
- }
-
- List items = getUserComplexTypeNamesList(xsdSchema);
- for (int i = 0; i < items.size(); i++)
- {
- getTypeList().add(items.get(i).toString());
- }
- }
-
- public java.util.List getUserComplexTypeNamesList(XSDSchema xsdSchema)
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getUserComplexTypeNamesList();
- }
-
- public void populateUserSimpleType(XSDSchema xsdSchema, boolean showAnonymous)
- {
- getTypeList().removeAll();
- if (showAnonymous)
- {
- getTypeList().add(XSDEditorPlugin.getXSDString("_UI_ANONYMOUS"));
- }
- List items = getUserSimpleTypeNamesList(xsdSchema);
- for (int i = 0; i < items.size(); i++)
- {
- getTypeList().add(items.get(i).toString());
- }
- }
-
- /**
- * Populate combo box with user defined simple types
- */
- public void populateUserSimpleType(XSDSchema xsdSchema)
- {
- getTypeList().removeAll();
- List items = getUserSimpleTypeNamesList(xsdSchema);
- for (int i = 0; i < items.size(); i++)
- {
- getTypeList().add(items.get(i).toString());
- }
- }
-
- public java.util.List getUserSimpleTypeNamesList(XSDSchema xsdSchema)
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- return helper.getUserSimpleTypeNamesList();
- }
-
- public String getPrefix(String ns, XSDSchema xsdSchema)
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- String key = helper.getPrefix(ns, true);
- return key;
- }
-
- /**
- * Populate combo box with derived by choices
- */
- protected void populateDerivedByCombo()
- {
- for (int i = 0; i < derivedByChoices.length; i++)
- {
- getDerivedByCombo().add(derivedByChoices[i]);
- }
- }
-
- /**
- * Gets the showUserComplexType.
- * @return Returns a boolean
- */
- public boolean getShowUserComplexType()
- {
- return showUserComplexType;
- }
-
- /**
- * Gets the showUserSimpleType.
- * @return Returns a boolean
- */
- public boolean getShowUserSimpleType()
- {
- return showUserSimpleType;
- }
-
- /**
- * Gets the showNone.
- * @return Returns a boolean
- */
- public boolean getShowNone()
- {
- return showNone;
- }
-
- /**
- * Sets the showUserComplexType.
- * @param showUserComplexType The showUserComplexType to set
- */
- public void setShowUserComplexType(boolean showUserComplexType)
- {
- this.showUserComplexType = showUserComplexType;
- }
-
- /**
- * Sets the showUserSimpleType.
- * @param showUserSimpleType The showUserSimpleType to set
- */
- public void setShowUserSimpleType(boolean showUserSimpleType)
- {
- this.showUserSimpleType = showUserSimpleType;
- }
-
- /**
- * Sets the showNone
- * @param showUserSimpleType The showNone to set
- */
- public void setShowNone(boolean showNone)
- {
- this.showNone = showNone;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/XSDEditSchemaInfoDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/XSDEditSchemaInfoDialog.java
deleted file mode 100644
index 40b5faf14a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/XSDEditSchemaInfoDialog.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.widgets;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xml.ui.dialogs.EditSchemaInfoDialog;
-import org.eclipse.wst.xml.ui.nsedit.CommonEditNamespacesTargetFieldDialog;
-
-public class XSDEditSchemaInfoDialog extends EditSchemaInfoDialog {
- String targetNamespace;
- CommonEditNamespacesTargetFieldDialog editNamespacesControl;
-
- public XSDEditSchemaInfoDialog(Shell parentShell, IPath resourceLocation, String targetNamespace) {
- super(parentShell, resourceLocation);
- this.targetNamespace = targetNamespace;
- }
-
- protected Control createDialogArea(Composite parent) {
- Composite dialogArea = (Composite) super.createDialogArea(parent);
- editNamespacesControl = new CommonEditNamespacesTargetFieldDialog(dialogArea, resourceLocation);
- editNamespacesControl.setNamespaceInfoList(namespaceInfoList);
- if (targetNamespace != null)
- editNamespacesControl.setTargetNamespace(targetNamespace);
- editNamespacesControl.updateErrorMessage(namespaceInfoList);
-
- return dialogArea;
- }
-
- public String getTargetNamespace() {
- return editNamespacesControl.getTargetNamespace();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/NewXSDWizard.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/NewXSDWizard.java
deleted file mode 100644
index 2073036891..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/NewXSDWizard.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.wizards;
-
-import java.io.ByteArrayInputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.core.XMLModelPlugin;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-
-
-public class NewXSDWizard extends Wizard implements INewWizard
-{
- private XSDNewFilePage newFilePage;
- private IStructuredSelection selection;
- private IWorkbench workbench;
-
- public NewXSDWizard()
- {
- }
-
- public void init(IWorkbench aWorkbench, IStructuredSelection aSelection)
- {
- this.selection = aSelection;
- this.workbench = aWorkbench;
-
- this.setDefaultPageImageDescriptor(ImageDescriptor.createFromFile(XSDEditorPlugin.class, "icons/NewXSD.gif"));
- this.setWindowTitle(XSDEditorPlugin.getXSDString("_UI_WIZARD_CREATE_XSD_MODEL_TITLE"));
- }
-
- public void addPages()
- {
- newFilePage = new XSDNewFilePage(selection);
- addPage(newFilePage);
- }
-
- public boolean performFinish()
- {
- IFile file = newFilePage.createNewFile();
-
- //
- // Get the xsd schema name from the full path name
- // e.g. f:/b2b/po.xsd => schema name = po
- //
- IPath iPath = file.getFullPath().removeFileExtension();
- // String schemaName = iPath.lastSegment();
- String schemaName = iPath.lastSegment();
- String schemaPrefix = "tns";
- String prefixForSchemaNamespace = "";
- String schemaNamespaceAttribute = "xmlns";
- if (XSDEditorPlugin.getPlugin().isQualifyXMLSchemaLanguage())
- {
- // Added this if check before disallowing blank prefixes in the preferences...
- // Can take this out. See also XSDEditor
- if (XSDEditorPlugin.getPlugin().getXMLSchemaPrefix().trim().length() > 0)
- {
- prefixForSchemaNamespace = XSDEditorPlugin.getPlugin().getXMLSchemaPrefix() + ":";
- schemaNamespaceAttribute += ":" + XSDEditorPlugin.getPlugin().getXMLSchemaPrefix();
- }
- }
-
- Preferences preference = XMLModelPlugin.getDefault().getPluginPreferences();
- String charSet = preference.getString(CommonModelPreferenceNames.OUTPUT_CODESET);
- if (charSet == null || charSet.trim().equals(""))
- {
- charSet = "UTF-8";
- }
-
- String newContents = "<?xml version=\"1.0\" encoding=\"" + charSet + "\"?>\n";
-
- String defaultTargetURI = XSDEditorPlugin.getPlugin().getXMLSchemaTargetNamespace();
- newContents += "<" + prefixForSchemaNamespace + "schema " + schemaNamespaceAttribute + "=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"" + defaultTargetURI + schemaName + "\" xmlns:" + schemaPrefix + "=\""+ defaultTargetURI + schemaName + "\">\n</"+prefixForSchemaNamespace+"schema>";
-
- try
- {
- byte[] bytes = newContents.getBytes(charSet);
- ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes);
-
- file.setContents(inputStream,true,false,null);
- inputStream.close();
- }
- catch (Exception e)
- {
-// XSDEditorPlugin.getPlugin().getMsgLogger().write("Error writing default content:\n" + newContents);
-// XSDEditorPlugin.getPlugin().getMsgLogger().write(e);
- }
-
- if (file != null)
- {
- revealSelection(new StructuredSelection(file));
- }
-
- openEditor(file);
-
- return true;
- }
-
- private void revealSelection(final ISelection selection)
- {
- if (selection != null)
- {
- IWorkbench workbench = XSDEditorPlugin.getPlugin().getWorkbench();
- final IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
- final IWorkbenchPart focusPart = workbenchWindow.getActivePage().getActivePart();
- if (focusPart instanceof ISetSelectionTarget)
- {
- Display.getCurrent().asyncExec
- (new Runnable()
- {
- public void run()
- {
- ((ISetSelectionTarget)focusPart).selectReveal(selection);
- }
- });
- }
- }
- }
-
- public void openEditor(final IFile iFile)
- {
- if (iFile != null)
- {
- IWorkbench workbench = XSDEditorPlugin.getPlugin().getWorkbench();
- final IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
- Display.getDefault().asyncExec
- (new Runnable()
- {
- public void run()
- {
- try
- {
- IEditorPart editorPart = workbenchWindow.getActivePage().openEditor(new FileEditorInput(iFile), XSDEditorPlugin.XSD_EDITOR_ID);
- }
- catch (PartInitException ex)
- {
- }
- }
- });
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexCompositionPage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexCompositionPage.java
deleted file mode 100644
index 75ea9ae237..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexCompositionPage.java
+++ /dev/null
@@ -1,965 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-// Based on version 1.12 of original xsdeditor
-package org.eclipse.wst.xsd.ui.internal.wizards;
-
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDPatternFacet;
-
-
-
-/*
--other regex features (eg case sensitivity, ^ or $, |, etc etc)
--smarter model
--better keyboard navigation
--update list of tokens
-*/
-
-public class RegexCompositionPage extends WizardPage
-{
- private static final boolean debug = false;
-
- /* The text representation of our pattern. */
- private StyledText value;
-
- /* The StyleRange used to color code the current parse error. */
- private StyleRange currentError;
-
- /* The regex terms we can form tokens from. */
- private Combo terms;
-
- /* The checkbox for activating auto-escape mode. */
- private Button escapeCheckbox;
-
- /* On/off status of auto-escape mode. */
- private boolean autoEscapeStatus;
-
- /* The Add Token button. */
- private Button add;
-
-
- // The following controls are used in the occurrence selection group
-
- private Text repeatValue;
-
- private Text rangeMinValue;
- private Text rangeMaxValue;
- private Label rangeToLabel;
-
- private Button singleRadio;
- private Button starRadio;
- private Button plusRadio;
- private Button optionalRadio;
- private Button repeatRadio;
- private Button rangeRadio;
-
-
- // The following variables used as part of the model.
-
- /* Our pattern. */
- private XSDPatternFacet pattern;
-
- /* Model used to store the current token. */
- private RegexNode node;
-
- /* Validator from the xerces regex package. */
- //private RegularExpression validator;
- private Pattern validator;
-
- /* The flags passed to the new RegularExpression object. Default value includes:
- X = XMLSchema mode */
- private String regexFlags = "X";
-
-
- /* Is the current regex token valid? */
- private boolean isValidToken;
-
- /* The label used to indicate the value's caret position when it looses focus. */
- private Label caretLabel;
-
- /* The pixel offsets needed to align the label icon with the caret location.
- These are dependent on the icon used. */
- private static final int CARET_LABEL_X_OFFSET = -3;
- private static final int CARET_LABEL_Y_OFFSET = 19;
-
-
- /* Enumerated constants for specifying the type of an error message. */
- private static final int TOKEN = 0;
- private static final int SELECTION = 1;
- private static final int PARSE = 2;
-
- private static final int NUM_ERROR_MESSAGE_TYPES = 3;
-
- /* The current error message for each type of error. A value of null indicates no message.
- The array is indexed according to the above constants.
- */
- private String[] currentErrorMessages;
-
-
- public RegexCompositionPage(XSDPatternFacet pattern)
- {
- super(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_COMPOSITION_PAGE_TITLE"));
- this.pattern = pattern;
-
- setTitle(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_COMPOSITION_PAGE_TITLE"));
- setDescription(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_COMPOSITION_PAGE_DESCRIPTION"));
- }
-
- public void createControl(Composite parent)
- {
- // Set up our model and validator
- node = new RegexNode();
- // validator = new RegularExpression("", regexFlags);
-
- isValidToken = true;
-
- currentErrorMessages = new String[NUM_ERROR_MESSAGE_TYPES];
-
- // The main composite
- Composite composite= new Composite(parent, SWT.NONE);
- WorkbenchHelp.setHelp(composite, XSDEditorContextIds.XSDR_COMPOSITION_PAGE);
- composite.setLayout(new GridLayout());
-
-
- // The composite for the token combo box, label, and auto-escape checkbox
- Composite tokenComposite = new Composite (composite, SWT.NONE);
- GridLayout tokenCompositeLayout = new GridLayout();
- tokenCompositeLayout.numColumns = 3;
- tokenCompositeLayout.marginWidth = 0;
- tokenComposite.setLayout(tokenCompositeLayout);
-
-
- new Label(tokenComposite, SWT.LEFT).setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TOKEN_LABEL"));
-
- terms = new Combo(tokenComposite, SWT.DROP_DOWN);
- WorkbenchHelp.setHelp(terms, XSDEditorContextIds.XSDR_COMPOSITION_TOKEN);
- for (int i = 0; i < RegexNode.getNumRegexTerms(); i++)
- {
- terms.add(RegexNode.getRegexTermText(i));
- }
- terms.addListener(SWT.Modify, new ComboListener());
- terms.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_TERMS"));
-
- escapeCheckbox = new Button(tokenComposite, SWT.CHECK);
- escapeCheckbox.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_AUTO_ESCAPE_CHECKBOX_LABEL"));
- escapeCheckbox.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_AUTO_ESCAPE_CHECKBOX"));
- escapeCheckbox.addSelectionListener(new CheckboxListener());
- autoEscapeStatus = false;
-
- tokenComposite.pack();
-
-
- // Set up the composites pertaining to the selection of occurrence quantifiers
-
- Group occurrenceSelectionArea = new Group(composite, SWT.NONE);
- occurrenceSelectionArea.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_OCCURENCE_LABEL"));
- WorkbenchHelp.setHelp(occurrenceSelectionArea, XSDEditorContextIds.XSDR_COMPOSITION_OCCURRENCE_GROUP);
- GridLayout selectionAreaLayout = new GridLayout();
- selectionAreaLayout.numColumns = 2;
- occurrenceSelectionArea.setLayout(selectionAreaLayout);
-
- // Listener used for all of the text fields
- TextListener textListener = new TextListener();
-
-
- // Add the radio buttons
- RadioSelectListener radioSelectListener = new RadioSelectListener();
-
- singleRadio = addOccurenceRadioButton(RegexNode.SINGLE, occurrenceSelectionArea, radioSelectListener);
- WorkbenchHelp.setHelp(singleRadio, XSDEditorContextIds.XSDR_COMPOSITION_JUST_ONCE);
- ViewUtility.createHorizontalFiller(occurrenceSelectionArea, 1);
-
- starRadio = addOccurenceRadioButton(RegexNode.STAR, occurrenceSelectionArea, radioSelectListener);
- WorkbenchHelp.setHelp(starRadio, XSDEditorContextIds.XSDR_COMPOSITION_ZERO_OR_MORE);
- ViewUtility.createHorizontalFiller(occurrenceSelectionArea, 1);
-
- plusRadio = addOccurenceRadioButton(RegexNode.PLUS, occurrenceSelectionArea, radioSelectListener);
- WorkbenchHelp.setHelp(plusRadio, XSDEditorContextIds.XSDR_COMPOSITION_ONE_OR_MORE);
- ViewUtility.createHorizontalFiller(occurrenceSelectionArea, 1);
-
- optionalRadio = addOccurenceRadioButton(RegexNode.OPTIONAL, occurrenceSelectionArea, radioSelectListener);
- WorkbenchHelp.setHelp(optionalRadio, XSDEditorContextIds.XSDR_COMPOSITION_OPTIONAL);
- ViewUtility.createHorizontalFiller(occurrenceSelectionArea, 1);
-
- repeatRadio = addOccurenceRadioButton(RegexNode.REPEAT, occurrenceSelectionArea, radioSelectListener);
- WorkbenchHelp.setHelp(repeatRadio, XSDEditorContextIds.XSDR_COMPOSITION_REPEAT);
-
- // Add text field for specifying number of repeats
- Composite repeatWidgets = new Composite(occurrenceSelectionArea, SWT.NONE);
- RowLayout repeatWidgetsLayout = new RowLayout();
- repeatWidgetsLayout.marginTop = 0;
- repeatWidgetsLayout.marginBottom = 0;
- repeatWidgetsLayout.marginLeft = 0;
- repeatWidgetsLayout.marginRight = 0;
- repeatWidgets.setLayout(repeatWidgetsLayout);
-
- repeatValue = new Text(repeatWidgets, SWT.SINGLE | SWT.BORDER);
- repeatValue.addListener(SWT.Modify, textListener);
- WorkbenchHelp.setHelp(repeatValue, XSDEditorContextIds.XSDR_COMPOSITION_REPEAT_TEXT);
- repeatValue.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_REPEAT"));
- setEnabledStatus(RegexNode.REPEAT, false);
-
- repeatWidgets.pack();
-
- rangeRadio = addOccurenceRadioButton(RegexNode.RANGE, occurrenceSelectionArea, radioSelectListener);
- WorkbenchHelp.setHelp(rangeRadio, XSDEditorContextIds.XSDR_COMPOSITION_RANGE);
-
- // Add text fields and labels for specifying the range
- Composite rangeWidgets = new Composite(occurrenceSelectionArea, SWT.NONE);
- RowLayout rangeWidgetsLayout = new RowLayout();
- rangeWidgetsLayout.marginTop = 0;
- rangeWidgetsLayout.marginBottom = 0;
- rangeWidgetsLayout.marginLeft = 0;
- rangeWidgetsLayout.marginRight = 0;
- rangeWidgets.setLayout(rangeWidgetsLayout);
-
- rangeMinValue = new Text(rangeWidgets, SWT.SINGLE | SWT.BORDER);
- rangeMinValue.addListener(SWT.Modify, textListener);
- WorkbenchHelp.setHelp(rangeMinValue, XSDEditorContextIds.XSDR_COMPOSITION_RANGE_MIN);
- rangeMinValue.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_MIN"));
-
- rangeToLabel = new Label(rangeWidgets, SWT.NONE);
- rangeToLabel.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TO_LABEL"));
-
- rangeMaxValue = new Text(rangeWidgets, SWT.SINGLE | SWT.BORDER);
- rangeMaxValue.addListener(SWT.Modify, textListener);
- rangeMaxValue.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_MAX"));
- WorkbenchHelp.setHelp(rangeMaxValue, XSDEditorContextIds.XSDR_COMPOSITION_RANGE_MAX);
-
- setEnabledStatus(RegexNode.RANGE, false);
- rangeWidgets.pack();
-
- singleRadio.setSelection(true);
-
- occurrenceSelectionArea.pack();
-
- // The add button
- add = new Button(composite, SWT.PUSH);
- add.addSelectionListener(new ButtonSelectListener());
- add.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_ADD_BUTTON_LABEL"));
- WorkbenchHelp.setHelp(add, XSDEditorContextIds.XSDR_COMPOSITION_ADD);
- add.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_ADD_BUTTON"));
-
-
- Label separator = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL);
- separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-
- // Our main text box
-
- Label valueLabel= new Label(composite, SWT.LEFT);
- valueLabel.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_CURRENT_REGEX_LABEL"));
-
- value = new StyledText(composite, SWT.SINGLE | SWT.BORDER);
- value.addListener(SWT.Modify, textListener);
- value.addListener(SWT.Selection, textListener);
- WorkbenchHelp.setHelp(value, XSDEditorContextIds.XSDR_COMPOSITION_CURRENT);
- value.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_CURRENT_REGEX"));
- value.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- value.setFocus();
-
- // StyleRange used for highlighting parse errors
- currentError = new StyleRange();
- currentError.length = 1;
- currentError.foreground = parent.getDisplay().getSystemColor(SWT.COLOR_RED);
-
- // The caret label
- caretLabel = new Label(composite, SWT.LEFT);
- caretLabel.setImage(XSDEditorPlugin.getXSDImage("icons/RegexWizardArrow.gif"));
- caretLabel.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_CARET_LABEL"));
- setShowCaretLabel(true);
-
- value.addFocusListener(new TextFocusListener());
-
- terms.select(0);
-
-
- setControl(composite);
- }
-
-
- public void setVisible(boolean visible)
- {
- super.setVisible(visible);
-
- value.setText(pattern.getLexicalValue());
- value.setCaretOffset(value.getCharCount());
- }
-
- public void dispose()
- {
- super.dispose();
- }
-
-
- /**
- * Sets the visible status of caretLabel to status. If status is true, then we also update the position
- * of caretLabel in one of two ways. If there is no active selection in value, we set caretLabel's
- * position to correspond with the position of the actual caret. Alternatively, if there is an active selection
- * in value, we set caretLabel's position to the beginning of the selection.
- *
- * @param The new visibility status of caretLabel.
- */
- private void setShowCaretLabel(boolean status)
- {
- if (status)
- {
-
- int offset;
-
- if (value.getSelectionText().equals(""))
- {
- offset = value.getCaretOffset();
- }
- else
- {
- offset = value.getSelection().x;
- }
-
- Point p = value.getLocationAtOffset(offset);
-
- p.x += value.getLocation().x;
- p.y = value.getLocation().y;
-
- // Place the label under value, and make sure it is aligned with the caret.
- // The offsets are dependent on the icon used.
- p.x += CARET_LABEL_X_OFFSET;
- p.y += CARET_LABEL_Y_OFFSET;
-
- if (debug)
- {
- System.out.println("POINT: " + p);
- }
-
- caretLabel.setLocation(p);
- caretLabel.setVisible(true);
- }
- else
- {
- caretLabel.setVisible(false);
- }
- }
-
-
- /**
- * Adds a new radio button to Composite c with SelectionListener l. The text of the button is the String associated with
- * quantifier.
- *
- * @param quantifier The desired quantifier, as enumerated in RegexNode.
- * @param c The Composite to add the buttons to (normally occurrenceRadioButtons).
- * @param l The SelectionListener (normally radioSelectionListener).
- * @return The newly created button.
- */
- private Button addOccurenceRadioButton(int quantifier, Composite c, SelectionListener l)
- {
- Button result = new Button(c, SWT.RADIO);
- result.setText(RegexNode.getQuantifierText(quantifier));
- result.addSelectionListener(l);
- return result;
- }
-
-
- /**
- * Validates the regex in value. If the regex is valid, clears the Wizard's error message. If it's not valid,
- * sets the Wizard's error message accordingly.
- *
- * @return Whether the regex is valid.
- */
- private boolean validateRegex()
- {
-
- boolean isValid;
- try
- {
- // We validate the regex by checking whether we get a ParseException.
- // By default, we assume that it's valid unless we determine otherwise.
- isValid = true;
- displayRegexErrorMessage(null);
- value.setStyleRange(null);
-
- // validator.setPattern(value.getText());
- validator = Pattern.compile(value.getText());
- }
- // catch (ParseException pe)
- catch (PatternSyntaxException pe)
- {
- isValid = false;
- displayRegexErrorMessage(pe.getMessage());
-
- // An off-by-one bug in the xerces regex parser will sometimes return a location for the parseError that
- // is off the end of the string. If this is the case, then we want to highlight the last character.
- if (pe.getIndex() >= value.getText().length())
- {
- currentError.start = value.getText().length() - 1;
- }
- else
- {
- currentError.start = pe.getIndex();
- }
-
- if (debug)
- {
- System.out.println("Parse Error location: " + pe.getIndex());
- System.out.println("currentError.start: " + currentError.start);
- }
-
- value.setStyleRange(currentError);
-
- }
-
- // Another bug in the xerces parser will sometimes throw a RuntimeException instead of a ParseException.
- // When we get a RuntimeException, we aren't provided with the additional information we need to highlight
- // the parse error. So, we merely report that there is an error.
- catch (RuntimeException re)
- {
- displayRegexErrorMessage("");
- value.setStyleRange(null);
- isValid = false;
- }
-
- setPageComplete(isValid);
- return isValid;
- }
-
-
- /**
- * Manages the display of error messages.
- * Sets the error message for type to errorMessage. If errorMessage != null, then we set the Wizard's error message
- * to errorMessage. If errorMessage == null, then we check whether we have a pending message of another type.
- * If we do, then it is displayed as the Wizard's error message. If we don't, then the Wizard's error message field
- * is cleared.
- *
- * @param errorMessage The text of the new error message. A value of null indicates that the error message should
- * be cleared.
- * @param type The error type, one of PARSE, TOKEN, or SELECTION.
- */
- private void displayErrorMessage(String errorMessage, int type)
- {
- String messageToDisplay = null;
-
-
- currentErrorMessages[type] = errorMessage;
-
- messageToDisplay = errorMessage;
-
- for (int i = 0; i < NUM_ERROR_MESSAGE_TYPES; i++)
- {
- if (messageToDisplay != null)
- {
- break;
- }
- messageToDisplay = currentErrorMessages[i];
- }
-
- setErrorMessage(messageToDisplay);
- }
-
-
- /**
- * Sets the Wizard's error message to message, preceded by a standard prefix.
- *
- * @param message The new error message (or null to clear it).
- */
- private void displayRegexErrorMessage (String errorMessage)
- {
- if (errorMessage == null)
- {
- displayErrorMessage(null, PARSE);
- }
- else
- {
- if (errorMessage.trim().equals("")) // when there is no error message available.
- {
- displayErrorMessage(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_REGEX_ERROR"),
- PARSE);
- }
- else
- {
- displayErrorMessage(errorMessage, PARSE);
- }
- }
- }
-
-
- /**
- * Updates the token status. Sets isValidToken to status && the status of the other error type.
- * If status is true, we clear the wizard's error message for this type; if it is false, we set it to errorMessage.
- *
- * @param status The new isValidToken value.
- * @param errorMessage The new error message.
- * @param type The type of the error (either TOKEN or SELECTION).
- */
- private void setTokenStatus (boolean status, String errorMessage, int type)
- {
- boolean otherTypeStatus = (type == TOKEN) ?
- currentErrorMessages[SELECTION] == null :
- currentErrorMessages[TOKEN] == null;
-
- isValidToken = status && otherTypeStatus;
- add.setEnabled(isValidToken);
-
- if (status)
- {
- displayErrorMessage(null, type);
- }
- else
- {
- if (errorMessage != null && errorMessage.trim().equals("")) // when there is no error message available.
- {
- displayErrorMessage(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_TOKEN_ERROR"),
- type);
- }
- else
- {
- displayErrorMessage(errorMessage, type);
- }
- }
- }
-
-
- /**
- * Updates the token status. Sets isValidToken to status && the status of the other error type.
- * Also clears the wizard's error message for this type.
- * Usually used to set isValidToken to true.
- *
- * @param status The new isValidToken value.
- * @param type The type of the error (either TOKEN or SELECTION).
- */
- private void setTokenStatus(boolean status, int type)
- {
- setTokenStatus(status, null, type);
- }
-
-
-
- /**
- * Sets the enabled status of the text fields and labels associated with the specified quantifier.
- * If status is true, then fields and labels associated with other quantifiers are disabled.
- * @param quantifier The quantifier whose elements' enabled status we wish to change
- * (as enumerated in RegexNode).
- * @param status The new status of the elements. If true, then all elements associated with other buttons
- * are disabled.
- */
- private void setEnabledStatus(int quantifier, boolean status)
- {
- switch (quantifier)
- {
-
- case RegexNode.REPEAT:
- repeatValue.setEnabled(status);
- if (status)
- {
- rangeMinValue.setEnabled(false);
- rangeMaxValue.setEnabled(false);
- rangeToLabel.setEnabled(false);
- }
- break;
-
- case RegexNode.RANGE:
- rangeMinValue.setEnabled(status);
- rangeMaxValue.setEnabled(status);
- rangeToLabel.setEnabled(status);
- if (status)
- {
- repeatValue.setEnabled(false);
- }
- break;
-
- }
- }
-
- /**
- * Checks to see if there is a selection in value. If there is not, we set the Wizard's error message accordingly.
- * If there is, we update the contents of node. If "Current Selection" is not the current token, then
- * we clear the Selection error message.
- */
- private void updateCurrentSelectionStatus()
- {
- if (terms.getSelectionIndex() == RegexNode.SELECTION)
- {
- String selection = value.getSelectionText();
- if (selection.equals(""))
- {
- setTokenStatus(false, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_SELECTION_ERROR"), SELECTION);
- }
- else
- {
- setTokenStatus(true, SELECTION);
- node.setContents(selection);
- node.setHasParens(true);
- }
- }
- else
- {
- setTokenStatus(true, SELECTION);
- }
- }
-
- /**
- * Updates the enabled status of the auto-escape checkbox. If status is true, we enable the checkbox, and
- * set its selection status and node's auto-escape status to the value of autoEscapeStatus. If status is
- * false, then we disable and deselect the checkbox, and set node's status to false.
- *
- * @param status The new enabled status.
- */
- private void setEscapeCheckboxEnabledStatus(boolean status)
- {
- if (status)
- {
- escapeCheckbox.setEnabled(true);
- escapeCheckbox.setSelection(autoEscapeStatus);
- node.setAutoEscapeStatus(autoEscapeStatus);
- }
- else
- {
- escapeCheckbox.setEnabled(false);
- escapeCheckbox.setSelection(false);
- node.setAutoEscapeStatus(false);
- }
- }
-
-
- /**
- * Returns the current regex flags.
- */
- String getFlags()
- {
- return regexFlags;
- }
-
- /**
- * Returns the current XSDPattern model.
- */
- XSDPatternFacet getPattern()
- {
- return pattern;
- }
-
-
- /**
- * Returns a string consisting of the values of min, max, and repeat stored in node.
- * Used for debugging purposes only.
- */
- private String getAllFieldValues()
- {
- String result = "";
- result += "Min: " + node.getMin() + "\n";
- result += "Max: " + node.getMax() + "\n";
- result += "Repeat: " + node.getRepeat() + "\n";
- result += "\n";
- return result;
- }
-
-
- /* Listener for the add button. */
- class ButtonSelectListener implements SelectionListener
- {
- public void widgetDefaultSelected(SelectionEvent e)
- {
- }
-
- // Precondition: isValidToken == true
- public void widgetSelected(SelectionEvent e)
- {
- if (!isValidToken) // should never happen
- {
- System.out.println("Attempted to add an invalid token.");
- System.out.println(node.toString());
- System.out.println(getAllFieldValues());
- return;
- }
-
- // Whether there is anything selected in value.
- boolean isActiveSelection = value.getSelectionCount() != 0;
-
- value.insert(node.toString());
-
- if (terms.getSelectionIndex() == RegexNode.SELECTION)
- {
- updateCurrentSelectionStatus();
- }
-
- // If nothing is selected, then we need to advance the caret location.
- if (!isActiveSelection)
- {
- value.setCaretOffset(value.getCaretOffset() + node.toString().length());
- }
-
- value.setFocus();
-
- }
-
- }
-
-
- /* Listener for the terms combo box. */
- class ComboListener implements Listener
- {
- public void handleEvent(Event e)
- {
-
- updateCurrentSelectionStatus();
-
- // If the user has typed in a token
- if (terms.getSelectionIndex() == -1)
- {
- setEscapeCheckboxEnabledStatus(true);
- node.setContents(terms.getText());
- node.setHasParens(true);
-
-
- if (debug)
- {
- System.out.println(terms.getText());
- }
-
- }
- else if (terms.getSelectionIndex() == RegexNode.SELECTION)
- {
- setEscapeCheckboxEnabledStatus(false);
- }
- else
- {
- node.setContents(RegexNode.getRegexTermValue(terms.getSelectionIndex()));
- node.setHasParens(false);
- setEscapeCheckboxEnabledStatus(false);
- }
- }
- }
-
-
- /* Listener for enabling/disabling caretLabel. */
- class TextFocusListener implements FocusListener
- {
- public void focusGained(FocusEvent e)
- {
- setShowCaretLabel(false);
- }
- public void focusLost(FocusEvent e)
- {
- setShowCaretLabel(true);
- }
- }
-
-
-
- /* Listener for the text fields. */
- class TextListener implements Listener
- {
- public void handleEvent (Event e)
- {
-
- if (debug)
- {
- System.out.println("Inside TextListener handler");
- System.out.println(e);
- System.out.println(getAllFieldValues());
- }
-
-
- if ( (e.widget == value) && (e.type == SWT.Modify) )
- {
- pattern.setLexicalValue(value.getText());
- validateRegex();
- }
-
- else if (e.widget == value && e.type == SWT.Selection)
- {
- if (terms.getSelectionIndex() == RegexNode.SELECTION)
- {
- updateCurrentSelectionStatus();
- }
- }
-
- else if (e.widget == rangeMinValue)
- {
- boolean isValid = node.setMin(rangeMinValue.getText());
-
- if (isValid)
- {
- setTokenStatus(true, null, TOKEN);
- }
- else
- {
- setTokenStatus(false, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_MIN_ERROR_SUFFIX"), TOKEN);
- }
- }
-
- else if (e.widget == rangeMaxValue)
- {
- boolean isValid = node.setMax(rangeMaxValue.getText());
-
- if (node.getMin() == RegexNode.EMPTY)
- {
- setTokenStatus(false, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_MISSING_MIN_ERROR_SUFFIX"), TOKEN);
- }
- else if (isValid)
- {
- setTokenStatus(true, null, TOKEN);
- }
- else
- {
- setTokenStatus(false, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_MAX_ERROR_SUFFIX"), TOKEN);
- }
- }
-
- else // (e.widget == repeatValue)
- {
- boolean isValid = node.setRepeat(repeatValue.getText());
- if (isValid)
- {
- setTokenStatus(true, null, TOKEN);
- }
- else
- {
- setTokenStatus(false, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_REPEAT_ERROR_SUFFIX"), TOKEN);
- }
- }
- }
- }
-
- /* Listener for the auto-escape checkbox. */
- class CheckboxListener implements SelectionListener
- {
- public void widgetDefaultSelected(SelectionEvent e)
- {
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- boolean newStatus = !autoEscapeStatus;
- node.setAutoEscapeStatus(newStatus);
- autoEscapeStatus = newStatus;
-
- if (debug)
- {
- System.out.println("AutoEscape Status: " + node.getAutoEscapeStatus());
- }
- }
-
- }
-
-
- /* Listener for the radio buttons. */
- class RadioSelectListener implements SelectionListener
- {
- public void widgetDefaultSelected(SelectionEvent e)
- {
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- if (debug)
- {
- System.out.println(getAllFieldValues());
- }
-
-
- int currentQuantifier = getQuantifier(e);
-
- node.setQuantifier(currentQuantifier);
-
- switch (currentQuantifier)
- {
- case RegexNode.SINGLE:
- case RegexNode.STAR:
- case RegexNode.PLUS:
- case RegexNode.OPTIONAL:
- setEnabledStatus(RegexNode.REPEAT, false);
- setEnabledStatus(RegexNode.RANGE, false);
- setTokenStatus(true, TOKEN);
- break;
-
- case RegexNode.REPEAT:
- setEnabledStatus(RegexNode.REPEAT, true);
- setTokenStatus(node.hasValidRepeat(), XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_REPEAT_ERROR_SUFFIX"), TOKEN);
- repeatValue.setFocus();
- break;
-
- case RegexNode.RANGE:
- setEnabledStatus(RegexNode.RANGE, true);
- String error = (node.hasValidMin()) ?
- XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_MAX_ERROR_SUFFIX") :
- XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_MIN_ERROR_SUFFIX");
-
- setTokenStatus( node.hasValidMin() && node.hasValidMax(), error, TOKEN);
- rangeMinValue.setFocus();
- break;
- }
- }
-
- private int getQuantifier(SelectionEvent e)
- {
-
- if (e.widget == singleRadio)
- {
- return RegexNode.SINGLE;
- }
-
- else if (e.widget == starRadio)
- {
- return RegexNode.STAR;
- }
-
- else if (e.widget == plusRadio)
- {
- return RegexNode.PLUS;
- }
-
- else if (e.widget == optionalRadio)
- {
- return RegexNode.OPTIONAL;
- }
-
- else if (e.widget == repeatRadio)
- {
- return RegexNode.REPEAT;
- }
-
- else if (e.widget == rangeRadio)
- {
- return RegexNode.RANGE;
- }
-
- else // can't get here
- {
- return RegexNode.EMPTY;
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexNode.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexNode.java
deleted file mode 100644
index 2844709541..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexNode.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.wizards;
-
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-
-
-class RegexNode
-{
- private String contents;
- private int min;
- private int max;
- private int repeat;
- private int quantifier;
- private boolean hasParens;
- private boolean autoEscapeStatus;
-
-
- /* Quantifiers. */
- public static final int SINGLE = 0;
- public static final int STAR = 1;
- public static final int PLUS = 2;
- public static final int OPTIONAL = 3;
- public static final int REPEAT = 4;
- public static final int RANGE = 5;
-
- /* Regex quantifiers. First column is the on-screen textual representation, second column is the
- on-screen regex representation. The two are concatenated together to form the on-screen
- representation.
- Indexing of this array must correspond to the values of the quantifier constants above.
- */
- private static final String[][] regexQuantifiers =
- {
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_SINGLE"), "" },
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_STAR"), "*" },
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_PLUS"), "+" },
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_OPTIONAL"), "?" },
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_REPEAT"), "" },
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_RANGE"), "" },
- };
-
-
- /* Regex tokens. First column is the on-screen representation, second column is the regex representation.
- More tokens can be added, but it is assumed that "Current Selection" is the last element in the array.
- If this is not the case, then the value of the SELECTION constant below will need to be changed
- accordingly.
- Also note that because these are java Strings, backslashes must be escaped (this is only relevant to the
- second column of the array).
- */
- private static final String[][] regexTerms =
- {
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_ANY_CHAR"), "." },
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_ALPHANUMERIC_CHAR"), "\\w" },
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_WHITESPACE"), "\\s" },
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_DIGIT"), "\\d" },
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_UPPER"), "[A-Z]" },
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_LOWER"), "[a-z]" },
- { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_SELECTION"), "" },
- };
-
- /* Token enumerated constants. */
-
- // SELECTION must correspond to the index in regexTerms of "Current Selection". This is assumed to be
- // the last element.
- public static final int SELECTION = regexTerms.length - 1;
-
- public static final int EMPTY = -1;
-
- /*
- The metacharacters recognized by XML Schema.
- Note that the double backslash ("\\") actually represents an escaped single backslash character ("\").
- */
- private static final String metacharacters = ".\\?*+{}()[]";
-
-
- public static String getRegexTermText(int i)
- {
- if (i == SELECTION)
- {
- return regexTerms[i][0];
- }
- else
- {
- return regexTerms[i][0] + " ( " + regexTerms[i][1] + " )";
- }
- }
-
- public static String getRegexTermValue(int i)
- {
- if (i == SELECTION) // shouldn't happen
- {
- return "";
- }
- else
- {
- return regexTerms[i][1];
- }
- }
-
- public static int getNumRegexTerms()
- {
- return regexTerms.length;
- }
-
- public static String getQuantifierText(int i)
- {
- String result = regexQuantifiers[i][0];
-
- if (!regexQuantifiers[i][1].equals(""))
- {
- result += " ( ";
- result += regexQuantifiers[i][1];
- result += " )";
- }
-
- return result;
- }
-
- public RegexNode()
- {
- this.contents = "";
- this.quantifier = SINGLE;
- this.min = EMPTY;
- this.max = EMPTY;
- this.repeat = EMPTY;
- this.hasParens = false;
-
- }
-
-
- public String getContents()
- {
- return contents;
- }
-
- public void setContents(String contents)
- {
- this.contents = contents;
- }
-
-
- public int getQuantifier()
- {
- return quantifier;
- }
-
- public void setQuantifier(int quantifier)
- {
- this.quantifier = quantifier;
- }
-
-
- public int getMin()
- {
- return min;
- }
-
- public void setMin(int min)
- {
- this.min = min;
- }
-
- /**
- * Sets this.min to the integer representation of min iff min is a valid value (i.e. greater than 0).
- * Sets this.min to EMPTY if it is not.
- *
- * @param min The new min value
- * @returns Whether min was a valid value
- */
- public boolean setMin(String min)
- {
- this.min = convertToInt(min);
-
- // min > max is an invalid case, unless max is EMPTY (since EMPTY == -1).
- if ( (this.max != EMPTY) && (this.min > this.max) )
- {
- return false;
- }
-
- return (this.min >= 0);
- }
-
-
- public int getMax()
- {
- return max;
- }
-
- public void setMax(int max)
- {
- this.max = max;
- }
-
- /**
- * Sets this.max to the integer representation of max iff max is a valid value (i.e. greater than 0).
- * Sets this.max to EMPTY if it is not.
- *
- * @param max The new max value
- * @returns Whether max was a valid value, or (whether max == the empty string && min has a valid value)
- */
- public boolean setMax(String max)
- {
- this.max = convertToInt(max);
-
- // The empty string is a valid max value iff min has a valid value.
- // This is due to the fact that {n,} means "at least n times" in regex parlance.
- if (max.equals("") && this.min != EMPTY)
- {
- return true;
- }
-
- else if (this.max < this.min)
- {
- return false;
- }
-
- else
- {
- return (this.max >= 0);
- }
- }
-
-
-
- public int getRepeat()
- {
- return repeat;
- }
-
- public void setRepeat(int repeat)
- {
- this.repeat = repeat;
- }
-
- /**
- * Sets this.repeat to the integer representation of repeat iff repeat is a valid value (i.e. greater than 0).
- * Sets this.repeat to EMPTY if it is not.
- *
- * @param repeat The new repeat value
- * @returns Whether repeat was a valid value
- */
- public boolean setRepeat(String repeat)
- {
- this.repeat = convertToInt(repeat);
- return (this.repeat >= 0);
- }
-
-
-
- /**
- * Returns the integer representation of s. If s is less than zero, or if s is not an int
- * (i.e. if Integer.parseInt would throw a NumberFormatException), then returns EMPTY.
- *
- * @param s The String to convert.
- * @returns The integer representation of s.
- */
- private int convertToInt(String s)
- {
- int result;
- try
- {
- result = Integer.parseInt(s);
- if (result < 0)
- {
- result = EMPTY;
- }
- }
- catch (NumberFormatException e)
- {
- result = EMPTY;
- }
-
- return result;
- }
-
-
- public boolean getHasParens()
- {
- return hasParens;
- }
-
- public void setHasParens(boolean status)
- {
- this.hasParens = status;
- }
-
- public boolean getAutoEscapeStatus()
- {
- return autoEscapeStatus;
- }
-
- public void setAutoEscapeStatus(boolean status)
- {
- this.autoEscapeStatus = status;
- }
-
- /**
- * Returns an escaped version of s. In other words, each occurrence of a metacharacter ( .\?*+{}()[] )
- * is replaced by that character preceded by a backslash.
- *
- * @param s The String to escape.
- * @returns An escaped version of s.
- */
- private String addEscapeCharacters(String s)
- {
- StringBuffer result = new StringBuffer("");
-
- for (int i = 0; i < s.length(); i++)
- {
- char currentChar = s.charAt(i);
-
- if (isMetachar(currentChar))
- {
- result.append("\\"); // Note that this is an escaped backslash, not a double backslash.
- }
- result.append(currentChar);
-
- }
-
- return result.toString();
- }
-
- /**
- * Checks whether c is a metacharacter as defined in the static variable metacharacters.
- *
- * @param c The character to check.
- * @returns Whether c is a metacharacter.
- */
- private boolean isMetachar(char c)
- {
- return metacharacters.indexOf(c) != -1;
- }
-
-
- public boolean hasValidMin()
- {
- return (min != EMPTY);
- }
-
- public boolean hasValidMax()
- {
- return(max != EMPTY);
- }
-
- public boolean hasValidRepeat()
- {
- return(repeat != EMPTY);
- }
-
- public String toString()
- {
- String result = "";
-
- if (hasParens)
- {
- result += "(";
- }
-
- if (autoEscapeStatus)
- {
- result += addEscapeCharacters(contents);
- }
- else
- {
- result += contents;
- }
-
-
- if (hasParens)
- {
- result += ")";
- }
-
- switch (quantifier)
- {
- case STAR:
- result += "*";
- break;
-
- case PLUS:
- result += "+";
- break;
-
- case OPTIONAL:
- result += "?";
- break;
-
- case REPEAT:
- result += "{" + repeat + "}";
- break;
-
- case RANGE:
- result += "{" + min + ",";
- if (max == EMPTY)
- {
- result += "";
- }
- else
- {
- result += max;
- }
- result += "}";
- break;
-
- // SINGLE is a fall through
-
- }
- return result;
-
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexTestingPage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexTestingPage.java
deleted file mode 100644
index 57601b5ccc..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexTestingPage.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-// Based on version 1.6 of original xsdeditor
-package org.eclipse.wst.xsd.ui.internal.wizards;
-
-import java.util.regex.Pattern;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-
-
-public class RegexTestingPage extends WizardPage
-{
- /* Validator from xerces package. */
-// private RegularExpression validator;
- private Pattern validator;
-
- /* Displays the status of the match. */
- private Label matchLabel;
-
-
- /* The regex. */
- private Text value;
-
- /* The string the user is trying to match against the regex. */
- private StyledText testString;
-
- public RegexTestingPage()
- {
- super(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TESTING_PAGE_TITLE"));
-
- setTitle(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TESTING_PAGE_TITLE"));
- setDescription(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TESTING_PAGE_DESCRIPTION"));
- }
-
-
- public void createControl(Composite parent)
- {
- Composite composite = ViewUtility.createComposite(parent, 1);
- WorkbenchHelp.setHelp(composite, XSDEditorContextIds.XSDR_TEST_PAGE);
-
- matchLabel = new Label(composite, SWT.WRAP);
- matchLabel.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TESTING_PAGE_DESCRIPTION"));
- FontData[] fontData = matchLabel.getFont().getFontData();
- GridData dataF = new GridData();
- dataF.widthHint = 400;
- dataF.heightHint = 6 * fontData[0].getHeight();
- matchLabel.setLayoutData(dataF);
-
- Composite controls = new Composite(composite, SWT.NONE);
- GridLayout controlsLayout = new GridLayout();
- controlsLayout.numColumns = 2;
- controls.setLayout(controlsLayout);
- controls.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- new Label(controls, SWT.LEFT).setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_REGEX_LABEL"));
- value = new Text(controls, SWT.BORDER | SWT.READ_ONLY);
- value.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-
- new Label(controls, SWT.LEFT).setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_SAMPLE_TEXT"));
- testString = new StyledText(controls, SWT.SINGLE | SWT.BORDER);
- WorkbenchHelp.setHelp(testString, XSDEditorContextIds.XSDR_TEST_SAMPLE);
- testString.addListener(SWT.Modify, new TestStringListener());
- testString.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- controls.pack();
-
- Label separator = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL);
- GC gc = new GC(separator);
- Point pointSize = gc.stringExtent(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TESTING_PAGE_DESCRIPTION"));
- GridData gd = new GridData();
- gd.widthHint = (int)(pointSize.x / 2 + gc.getAdvanceWidth('M')*11);
- gd.horizontalAlignment= GridData.FILL;
- separator.setLayoutData(gd);
-
- composite.pack();
-
-// validator = new RegularExpression("", getFlags());
-
- setControl(composite);
- }
-
-
- private String getPatternValue()
- {
- return ( (RegexCompositionPage)getPreviousPage() ).getPattern().getLexicalValue();
- }
-
- private String getFlags()
- {
- return ( (RegexCompositionPage)getPreviousPage() ).getFlags();
- }
-
- public void setVisible(boolean visible)
- {
- super.setVisible(visible);
-
- String pattern = getPatternValue();
- String flags = getFlags();
-
- value.setText(pattern);
-
-// try
-// {
-// validator.setPattern(pattern, flags);
-// }
-// catch (ParseException pe)
-// {
-// }
-
- updateMatchStatus();
-
- testString.setFocus();
- }
-
- class TestStringListener implements Listener
- {
- public void handleEvent(Event e)
- {
- updateMatchStatus();
- }
- }
-
- private void updateMatchStatus()
- {
- if (Pattern.matches(getPatternValue(), testString.getText()))
- {
-// matchLabel.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_MATCHES"));
- setMessage(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_MATCHES"), 1);
- }
- else
- {
- setMessage(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_DOES_NOT_MATCH"), 2);
-// matchLabel.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_DOES_NOT_MATCH"));
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexWizard.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexWizard.java
deleted file mode 100644
index e17cb8064d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexWizard.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.wizards;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDPatternFacet;
-import org.eclipse.xsd.impl.XSDFactoryImpl;
-
-
-public class RegexWizard extends Wizard
-{
- private static final boolean debug = false;
-
- private RegexCompositionPage compositionPage;
- private RegexTestingPage testingPage;
-
- /* The original, unchanged pattern. */
- private XSDPatternFacet originalPattern;
-
- /* A copy of the original pattern that is passed into the wizard. */
- private XSDPatternFacet modifiedPattern;
-
- String pattern;
-
- public RegexWizard(String expr)
- {
- super();
- setWindowTitle(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TITLE"));
- setDefaultPageImageDescriptor(ImageDescriptor.createFromFile(XSDEditorPlugin.class, "icons/regx_wiz.gif"));
-
- XSDFactoryImpl factory = new XSDFactoryImpl();
- modifiedPattern = factory.createXSDPatternFacet();
- modifiedPattern.setLexicalValue(expr);
-
- originalPattern = factory.createXSDPatternFacet();
- originalPattern.setLexicalValue(expr);
-
- compositionPage = new RegexCompositionPage(modifiedPattern);
- addPage(compositionPage);
-
- testingPage = new RegexTestingPage();
- addPage(testingPage);
- }
-
- public String getPattern()
- {
- return pattern;
- }
-
- public boolean performFinish()
- {
- pattern = modifiedPattern.getLexicalValue();
- return true;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDLocationChoicePage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDLocationChoicePage.java
deleted file mode 100644
index ef0110acff..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDLocationChoicePage.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.wizards;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-
-
-public class XSDLocationChoicePage extends WizardPage
-{
- protected Button radioButton1;
- protected Button radioButton2;
-
- public XSDLocationChoicePage()
- {
- super("XSDLocationChoicePage");
-
- this.setTitle(XSDEditorPlugin.getXSDString("_UI_WIZARD_INCLUDE_FILE_TITLE"));
- this.setDescription(XSDEditorPlugin.getXSDString("_UI_WIZARD_INCLUDE_FILE_DESC"));
- }
-
- public boolean isPageComplete()
- {
- return true;
- }
-
- public void createControl(Composite parent)
- {
- Composite base = new Composite(parent, SWT.NONE);
- base.setLayout(new GridLayout());
- GridData data;
-
- ViewUtility.createLabel(base, XSDEditorPlugin.getXSDString("_UI_LABEL_INCLUDE_URL_FILE"));
- Composite radioButtonsGroup = ViewUtility.createComposite(base, 1, true);
-
- radioButton1 = ViewUtility.createRadioButton(radioButtonsGroup,
- XSDEditorPlugin.getXSDString("_UI_RADIO_FILE"));
-
- radioButton2 = ViewUtility.createRadioButton(radioButtonsGroup,
- XSDEditorPlugin.getXSDString("_UI_RADIO_URL"));
-
- radioButton1.setSelection(true);
-
- setControl(base);
- }
-
- // actions on finish
- public boolean performFinish()
- {
- return true;
- }
-
- public boolean isURL()
- {
- return radioButton2.getSelection();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDNewFilePage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDNewFilePage.java
deleted file mode 100644
index d25eea73dc..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDNewFilePage.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.wizards;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-
-
-public class XSDNewFilePage extends WizardNewFileCreationPage
-{
- public XSDNewFilePage(IStructuredSelection selection)
- {
- super(XSDEditorPlugin.getXSDString("_UI_CREATEXSD"), selection);
- setTitle(XSDEditorPlugin.getXSDString("_UI_NEW_XML_SCHEMA_TITLE"));
- setDescription(XSDEditorPlugin.getXSDString("_UI_CREATE_A_NEW_XML_SCHEMA_DESC"));
- }
-
- public void createControl(Composite parent)
- {
- // inherit default container and name specification widgets
- super.createControl(parent);
-
- this.setFileName(computeDefaultFileName());
-
- setPageComplete(validatePage());
- }
-
- protected boolean validatePage()
- {
- Path newName = new Path(getFileName());
- String fullFileName = getFileName();
- String extension = newName.getFileExtension();
- if (extension == null || !extension.equalsIgnoreCase("xsd"))
- {
- setErrorMessage(XSDEditorPlugin.getXSDString("_ERROR_FILENAME_MUST_END_XSD"));
- return false;
- }
- else
- {
- setErrorMessage(null);
- }
-
- // check for file should be case insensitive
- String sameName = existsFileAnyCase(fullFileName);
- if (sameName != null)
- {
- String qualifiedFileName = getContainerFullPath().toString() + '/' + fullFileName;
- setErrorMessage(XSDEditorPlugin.getPlugin().getString("_ERROR_FILE_ALREADY_EXISTS", sameName)); //$NON-NLS-1$
- return false;
- }
-
- return super.validatePage();
- }
-
- public String defaultName = "NewXMLSchema"; //$NON-NLS-1$
- public String defaultFileExtension = ".xsd"; //$NON-NLS-1$
- public String[] filterExtensions = { "*.xsd"}; //$NON-NLS-1$
-
- protected String computeDefaultFileName()
- {
- int count = 0;
- String fileName = defaultName + defaultFileExtension;
- IPath containerFullPath = getContainerFullPath();
- if (containerFullPath != null)
- {
- while (true)
- {
- IPath path = containerFullPath.append(fileName);
- if (ResourcesPlugin.getWorkspace().getRoot().exists(path))
- {
- count++;
- fileName = defaultName + count + defaultFileExtension;
- }
- else
- {
- break;
- }
- }
- }
- return fileName;
- }
-
- // returns true if file of specified name exists in any case for selected container
- protected String existsFileAnyCase(String fileName)
- {
- if ( (getContainerFullPath() != null) && (getContainerFullPath().isEmpty() == false)
- && (fileName.compareTo("") != 0))
- {
- //look through all resources at the specified container - compare in upper case
- IResource parent = ResourcesPlugin.getWorkspace().getRoot().findMember(getContainerFullPath());
- if (parent instanceof IContainer)
- {
- IContainer container = (IContainer) parent;
- try
- {
- IResource[] members = container.members();
- String enteredFileUpper = fileName.toUpperCase();
- for (int i=0; i<members.length; i++)
- {
- String resourceUpperName = members[i].getName().toUpperCase();
- if (resourceUpperName.equals(enteredFileUpper))
- {
- return members[i].getName();
- }
- }
- }
- catch (CoreException e)
- {
- }
- }
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDSelectIncludeFileWizard.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDSelectIncludeFileWizard.java
deleted file mode 100644
index 35dee94f69..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDSelectIncludeFileWizard.java
+++ /dev/null
@@ -1,371 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.ui.viewers.SelectSingleFilePage;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDParser;
-
-
-/**
- * Extend the base wizard to select a file from the project or outside the workbench
- * and add error handling
- */
-public class XSDSelectIncludeFileWizard extends Wizard implements INewWizard
-{
- boolean isInclude;
- XSDSchema mainSchema;
- XSDSchema externalSchema;
-
- XSDLocationChoicePage choicePage;
- XSDSelectSingleFilePage filePage;
- XSDURLPage urlPage;
-
- IFile resultFile;
- String resultURL;
- String namespace = "";
-
- public XSDSelectIncludeFileWizard(XSDSchema mainSchema, boolean isInclude,
- String title, String desc,
- ViewerFilter filter,
- IStructuredSelection selection)
- {
- super();
- setWindowTitle(title);
- setDefaultPageImageDescriptor(ImageDescriptor.createFromFile(XSDEditorPlugin.class, "icons/NewXSD.gif"));
-
- setNeedsProgressMonitor(true);
-
- // Choice Page
- choicePage = new XSDLocationChoicePage();
-
- // Select File Page
- filePage = new XSDSelectSingleFilePage(PlatformUI.getWorkbench(), selection, true);
- filePage.setTitle(title);
- filePage.setDescription(desc);
- filePage.addFilter(filter);
-
- // URL Page
- urlPage = new XSDURLPage();
- urlPage.setTitle(title);
- urlPage.setDescription(XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_URL"));
-
- this.mainSchema = mainSchema;
- this.isInclude = isInclude;
- }
-
- public void init(IWorkbench aWorkbench, IStructuredSelection aSelection)
- {
- }
-
- public void addPages()
- {
- addPage(choicePage);
- addPage(filePage);
- addPage(urlPage);
- }
-
- public IWizardPage getNextPage(IWizardPage currentPage)
- {
- WizardPage nextPage = null;
-
- if (currentPage == choicePage)
- {
- if (choicePage.isURL())
- {
- nextPage = urlPage;
- }
- else
- {
- nextPage = filePage;
- }
- }
- return nextPage;
- }
-
- public boolean canFinish()
- {
- if (!choicePage.isURL())
- {
- return filePage.isPageComplete();
- }
- return true;
- }
-
- public boolean performFinish()
- {
- if (choicePage.isURL())
- {
- try
- {
- getContainer().run(false, true, urlPage.getRunnable());
- resultURL = urlPage.getURL();
- }
- catch (Exception e)
- {
- return false;
- }
- return true;
- }
- else
- {
- resultFile = filePage.getFile();
- }
- return true;
- }
-
- /**
- * Get the MOF object that represents the external file
- */
- public XSDSchema getExternalSchema()
- {
- return externalSchema;
- }
-
- public IFile getResultFile()
- {
- return resultFile;
- }
-
- public String getURL()
- {
- return resultURL;
- }
-
- public String getNamespace()
- {
- return namespace;
- }
-
- /**
- * Create a MOF model for the imported file
- */
- protected String doLoadExternalModel(IProgressMonitor monitor, String xsdModelFile, String xsdFileName)
- {
- String errorMessage = null;
- String currentNameSpace = mainSchema.getTargetNamespace();
-
- monitor.beginTask("Loading XML Schema", 100);
- monitor.worked(50);
-
- XSDParser parser = new XSDParser();
- parser.parse(xsdModelFile);
-
- externalSchema = parser.getSchema();
- if (externalSchema != null)
- {
- String extNamespace = externalSchema.getTargetNamespace();
- namespace = extNamespace;
-
- if (externalSchema.getDiagnostics() != null &&
- externalSchema.getDiagnostics().size() > 0)
- {
- errorMessage = XSDEditorPlugin.getPlugin().getString("_UI_INCORRECT_XML_SCHEMA", xsdFileName);
- }
- else
- {
- if (isInclude)
- {
- // Check the namespace to make sure they are the same as current file
- if (extNamespace != null)
- {
- if (currentNameSpace != null && !extNamespace.equals(currentNameSpace))
- {
- errorMessage = XSDEditorPlugin.getPlugin().getString("_UI_DIFFERENT_NAME_SPACE", xsdFileName);
- }
- }
- }
- else
- {
- // Check the namespace to make sure they are different from the current file
- if (extNamespace != null)
- {
- if (currentNameSpace != null && extNamespace.equals(currentNameSpace))
- {
- errorMessage = XSDEditorPlugin.getPlugin().getString("_UI_SAME_NAME_SPACE", xsdFileName);
- }
- }
- }
- }
- }
- else
- {
- errorMessage = XSDEditorPlugin.getPlugin().getString("_UI_INCORRECT_XML_SCHEMA", xsdFileName);
- }
-
- monitor.subTask("Finish Loading");
- monitor.worked(80);
-
- return errorMessage;
- }
-
-
- /**
- * URL page
- */
- class XSDURLPage extends WizardPage
- {
- Text urlField;
- String saveString;
-
- public XSDURLPage()
- {
- super("URLPage");
- }
-
- public void createControl(Composite parent)
- {
- Composite client = ViewUtility.createComposite(parent,2);
- ViewUtility.setComposite(client);
-
- ViewUtility.createLabel(client, XSDEditorPlugin.getXSDString("_UI_LABEL_URL"));
- ViewUtility.createLabel(client, "");
-
- urlField = ViewUtility.createTextField(client, 50);
- saveString = "http://";
- urlField.setText(saveString);
-
- setControl(client);
- }
-
- public String getURL()
- {
- return urlField.getText();
- }
-
- private boolean openExternalSchema(IProgressMonitor monitor)
- {
- String text = urlField.getText();
-// if (text.equals(saveString))
-// {
-// return false;
-// }
-// saveString = text;
-
- if (text.equals(""))
- {
- setErrorMessage(XSDEditorPlugin.getXSDString("_UI_SPECIFY_URL"));
- return false;
- }
-
- if ( !text.startsWith("http://") )
- {
- setErrorMessage(XSDEditorPlugin.getXSDString("_UI_URL_START_WITH"));
- return false;
- }
-
- setErrorMessage(null);
- String errorMessage = doLoadExternalModel(monitor, text, text);
- if (errorMessage != null)
- {
- setErrorMessage(errorMessage);
- return false;
- }
- else
- {
- return true;
- }
- }
-
- public IRunnableWithProgress getRunnable()
- {
- return new IRunnableWithProgress()
- {
- public void run(IProgressMonitor monitor)
- throws InvocationTargetException, InterruptedException
- {
- if (monitor == null)
- {
- monitor= new NullProgressMonitor();
- }
- monitor.beginTask("", 6);
-
- boolean ok = openExternalSchema(monitor);
-
- if (!ok)
- {
- throw new InvocationTargetException(new java.lang.Error());
- }
-
- monitor.done();
- }
- };
- }
- }
-
- /**
- * Select XML Schema File
- */
- class XSDSelectSingleFilePage extends SelectSingleFilePage
- {
- public XSDSelectSingleFilePage(IWorkbench workbench, IStructuredSelection selection, boolean isFileMandatory)
- {
- super(workbench,selection,isFileMandatory);
- }
-
- private boolean openExternalSchema()
- {
- // Get the fully-qualified file name
- IFile iFile = getFile();
- if (iFile == null)
- return false;
-
- setErrorMessage(null);
-
- String xsdModelFile = iFile.getLocation().toOSString();
- String xsdFileName = iFile.getName();
- String errorMessage = doLoadExternalModel(new NullProgressMonitor(), xsdModelFile, xsdFileName);
-
- if (errorMessage != null)
- {
- setErrorMessage(errorMessage);
- return false;
- }
- else
- {
- return true;
- }
- }
-
- public boolean isPageComplete()
- {
- if (choicePage.isURL())
- {
- return true;
- }
-
- if (super.isPageComplete())
- {
- return openExternalSchema();
- }
- return super.isPageComplete();
- }
- }
-}

Back to the top